diff --git a/default.nix b/default.nix index d3c9b62..0ef7fe8 100644 --- a/default.nix +++ b/default.nix @@ -1,8 +1,9 @@ { buildDunePackage -, lib , core , core_unix , findlib +, lib +, nix-filter , ocaml , ppx_yojson_conv , ppx_yojson_conv_lib @@ -13,7 +14,19 @@ buildDunePackage { pname = "flake_env"; version = "0.1"; - src = ./.; + src = nix-filter { + root = ./.; + include = [ + "bin" + "lib" + ./dune-project + ./flake.nix + ./default.nix + ./flake.lock + ./flake_env.opam + ./direnvrc + ]; + }; duneVersion = "3"; postPatch = '' substituteInPlace direnvrc --replace "@flake_env@" "$out/bin/flake_env" diff --git a/flake.lock b/flake.lock index d11956c..a1e8315 100644 --- a/flake.lock +++ b/flake.lock @@ -20,6 +20,21 @@ "type": "github" } }, + "nix-filter": { + "locked": { + "lastModified": 1701697642, + "narHash": "sha256-L217WytWZHSY8GW9Gx1A64OnNctbuDbfslaTEofXXRw=", + "owner": "numtide", + "repo": "nix-filter", + "rev": "c843418ecfd0344ecb85844b082ff5675e02c443", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "nix-filter", + "type": "github" + } + }, "nixpkgs": { "locked": { "lastModified": 1702272962, @@ -39,6 +54,7 @@ "root": { "inputs": { "flake-parts": "flake-parts", + "nix-filter": "nix-filter", "nixpkgs": "nixpkgs" } } diff --git a/flake.nix b/flake.nix index 5946319..4fd98da 100644 --- a/flake.nix +++ b/flake.nix @@ -6,9 +6,12 @@ url = "github:hercules-ci/flake-parts"; inputs.nixpkgs-lib.follows = "nixpkgs"; }; + nix-filter = { + url = "github:numtide/nix-filter"; + }; }; - outputs = inputs @ { flake-parts, ... }: + outputs = inputs @ { flake-parts, nix-filter, ... }: flake-parts.lib.mkFlake { inherit inputs; } ({ lib, ... }: { systems = [ @@ -20,7 +23,7 @@ ]; perSystem = { config, pkgs, self', ... }: { packages = { - flake_env = pkgs.ocamlPackages.callPackage ./default.nix { }; + flake_env = pkgs.ocamlPackages.callPackage ./default.nix { inherit nix-filter; }; default = config.packages.flake_env; }; devShells.default = pkgs.mkShell {