--- a/flake.nix +++ b/flake.nix @@ -27,7 +27,13 @@ }: with nixpkgs.lib; { - lib = import ./lib {inherit flake-utils;}; + lib = import ./lib { + inherit flake-utils; + fleetPkgsForPkgs = pkgs: import ./pkgs { + inherit (pkgs) callPackage; + craneLib = crane.mkLib pkgs; + }; + }; } // flake-utils.lib.eachDefaultSystem (system: let pkgs = @@ -70,7 +76,7 @@ // (prefixAttrs "nixpkgs-stable-" (removeAttrs packages-with-nixpkgs-stable ["fleet"])); devShells.default = craneLib.devShell { - nativeBuildInputs = with pkgs; [ + packages = with pkgs; [ alejandra lld cargo-edit --- a/lib/default.nix +++ b/lib/default.nix @@ -1,4 +1,7 @@ -{flake-utils}: { +{ + flake-utils, + fleetPkgsForPkgs, +}: { fleetConfiguration = { # TODO: Provide by fleet, instead of requesting user to provide it. # This is not good that user needs to provide it, as it becomes a flake data, and fleet arbitrarily rewriting it @@ -25,7 +28,8 @@ ++ [ data ({...}: { - inherit nixosModules hosts overlays; + inherit nixosModules hosts; + overlays = [(final: prev: (fleetPkgsForPkgs final))] ++ overlays; }) ] ++ fleetModules; --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -1,5 +1,4 @@ [ - ../fleetPkgs.nix ../meta.nix ../secrets.nix ../rollback.nix