brewery
notashelf /
760094a2b70a3abacac0d386b19bd7274244782f

nixir

public

Import-resolving Nix IR plugin

Star0tarball
clone
ssh://git@git.notashelf.dev:33/notashelf/nixir.git
flake.nixNix61 lines1.4 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
          nixForRuntime = nixVersions.nix_2_32;
17
        in [
18
          boost.dev
19
          libblake3.dev
20
          pegtl
21
22
          nixForRuntime
23
          nixForLinking.nix-store
24
          nixForLinking.nix-expr
25
          nixForLinking.nix-cmd
26
          nixForLinking.nix-fetchers
27
          nixForLinking.nix-main
28
          nixForLinking.nix-util
29
        ];
30
31
        nativeBuildInputs = with pkgs; [
32
          cmake
33
          pkg-config
34
          ninja
35
          bear
36
          clang-tools
37
          just
38
          entr
39
        ];
40
41
        env.NIX_PLUGINABI = "0.2";
42
      };
43
    });
44
45
    formatter = forAllSystems (system: let
46
      pkgs = pkgsFor system;
47
    in
48
      pkgs.writeShellApplication {
49
        name = "nix3-fmt-wrapper";
50
51
        runtimeInputs = [
52
          pkgs.alejandra
53
          pkgs.fd
54
        ];
55
56
        text = ''
57
          fd "$@" -t f -e nix -x alejandra -q '{}'
58
        '';
59
      });
60
  };
61
}