/ 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 }