diff --git a/default.nix b/default.nix index 28e3808..2b595e0 100644 --- a/default.nix +++ b/default.nix @@ -1,15 +1,16 @@ +let + inherit (builtins.getFlake (builtins.toString ./.)) inputs; +in { - pkgs ? - (builtins.getFlake (builtins.toString ./.)).inputs.nixpkgs.legacyPackages.${builtins.currentSystem}, + pkgs ? inputs.nixpkgs.legacyPackages.${builtins.currentSystem}, lib ? pkgs.lib, - crane ? (builtins.getFlake (builtins.toString ./.)).inputs.crane, - pkgSrc ? ./., + crane ? inputs.crane, + craneLib ? crane.mkLib pkgs, + cargoArtifacts ? null, + src ? craneLib.cleanCargoSource ./., mold ? pkgs.mold, }: let - craneLib = crane.mkLib pkgs; - src = craneLib.cleanCargoSource pkgSrc; - commonArgs = { inherit src; strictDeps = true; @@ -26,12 +27,13 @@ let mainProgram = "webnsupdate"; }; }; - - cargoArtifacts = craneLib.buildDepsOnly commonArgs; in craneLib.buildPackage ( lib.mergeAttrsList [ commonArgs - { inherit cargoArtifacts; } + { + cargoArtifacts = + if cargoArtifacts == nul then craneLib.buildDepsOnly commonArgs else cargoArtifacts; + } ] ) diff --git a/flake-modules/package.nix b/flake-modules/package.nix index 1d488d0..3a7411b 100644 --- a/flake-modules/package.nix +++ b/flake-modules/package.nix @@ -44,8 +44,7 @@ in { inherit cargoArtifacts; } ]; webnsupdate = pkgs.callPackage ../default.nix { - inherit crane; - pkgSrc = src; + inherit craneLib cargoArtifacts src; }; in {