/ flake.nix
flake.nix
 1  {
 2    inputs = {
 3      nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
 4      utils.url = "github:numtide/flake-utils";
 5      naersk.url = "github:nix-community/naersk";
 6    };
 7  
 8    outputs =
 9      {
10        self,
11        nixpkgs,
12        utils,
13        naersk,
14      }:
15      utils.lib.eachDefaultSystem (
16        system:
17        let
18          pkgs = import nixpkgs { inherit system; };
19          naersk' = pkgs.callPackage naersk { };
20        in
21        {
22          packages = {
23            default = naersk'.buildPackage {
24              src = ./.;
25            };
26  
27            acfs-debug = naersk'.buildPackage {
28              src = ./.;
29              release = false;
30            };
31          };
32  
33          devShells.default =
34            with pkgs;
35            mkShell.override { stdenv = pkgs.clangStdenv; } {
36              nativeBuildInputs = [
37                nil
38                nixfmt-rfc-style
39                statix
40                prettier
41                taplo
42                pre-commit
43                lldb
44                pkg-config
45                cargo
46                rustc
47                rustfmt
48                rustPackages.clippy
49                llvmPackages.bintools
50                cargo-release
51                cargo-outdated
52                git-cliff
53              ];
54              shellHook = ''
55                pre-commit install -f
56              '';
57              RUST_SRC_PATH = rustPlatform.rustLibSrc;
58            };
59        }
60      );
61  }