brewery
notashelf /
554f7f21f155dced1b020f0655cd4f2a320c0ab4

nixir

public

Import-resolving Nix IR plugin

Star0tarball
clone
ssh://git@git.notashelf.dev:33/notashelf/nixir.git
flake.nixNix59 lines1.3 KB
1
{
2
  inputs.nixpkgs.url = "github:NixOS/nixpkgs?ref=nixos-unstable";
3
4
  outputs = {nixpkgs, ...}: let
5
    systems = ["x86_64-linux" "aarch64-linux"];
6
    forAllSystems = nixpkgs.lib.genAttrs systems;
7
    pkgsFor = system: nixpkgs.legacyPackages.${system};
8
  in {
9
    devShells = forAllSystems (system: let
10
      pkgs = pkgsFor system;
11
    in {
12
      default = pkgs.mkShell {
13
        name = "nixir";
14
        buildInputs = with pkgs; let
15
          nixForLinking = nixVersions.nixComponents_2_32;
16
        in [
17
          boost.dev
18
          libblake3.dev
19
          pegtl
20
21
          nixForLinking.nix-store
22
          nixForLinking.nix-expr
23
          nixForLinking.nix-cmd
24
          nixForLinking.nix-fetchers
25
          nixForLinking.nix-main
26
          nixForLinking.nix-util
27
        ];
28
29
        nativeBuildInputs = with pkgs; [
30
          cmake
31
          pkg-config
32
          ninja
33
          bear
34
          clang-tools
35
          just
36
          entr
37
        ];
38
39
        env.NIX_PLUGINABI = "0.2";
40
      };
41
    });
42
43
    formatter = forAllSystems (system: let
44
      pkgs = pkgsFor system;
45
    in
46
      pkgs.writeShellApplication {
47
        name = "nix3-fmt-wrapper";
48
49
        runtimeInputs = [
50
          pkgs.alejandra
51
          pkgs.fd
52
        ];
53
54
        text = ''
55
          fd "$@" -t f -e nix -x alejandra -q '{}'
56
        '';
57
      });
58
  };
59
}