diff --git a/flake.nix b/flake.nix index b6fbc0c..0697c43 100644 --- a/flake.nix +++ b/flake.nix @@ -37,30 +37,32 @@ inherit system; config.allowUnfree = true; }; - pkgs = makePkgs inputs.nixpkgs; - pkgs-small = makePkgs inputs.nixpkgs-small; - pkgs-chrome = makePkgs inputs.nixpkgs-chrome; - overlays = [ (import ./overlay.nix { inherit pkgs pkgs-chrome; }) ]; - createConfig = name: packageSet: { + makePkgsMain = + name: makePkgs (if name == "workstation" then inputs.nixpkgs else inputs.nixpkgs-small); + createConfig = name: { inherit system; specialArgs = { inherit inputs outputs; - pkgs = packageSet; }; - modules = [ - (_: { nixpkgs.overlays = overlays; }) - ./hosts/${name}/configuration.nix - inputs.sops-nix.nixosModules.sops - inputs.nixos-cosmic.nixosModules.default - ]; + modules = + let + pkgs = makePkgsMain name; + pkgs-chrome = makePkgs inputs.nixpkgs-chrome; + in + [ + (_: { nixpkgs.overlays = [ (import ./overlay.nix { inherit pkgs pkgs-chrome; }) ]; }) + ./hosts/${name}/configuration.nix + inputs.sops-nix.nixosModules.sops + inputs.nixos-cosmic.nixosModules.default + ]; }; in { inherit lib; nixosConfigurations = { - workstation = lib.nixosSystem (createConfig "workstation" pkgs); - miniserver = lib.nixosSystem (createConfig "miniserver" pkgs-small); - server = lib.nixosSystem (createConfig "server" pkgs-small); + workstation = lib.nixosSystem (createConfig "workstation"); + miniserver = lib.nixosSystem (createConfig "miniserver"); + server = lib.nixosSystem (createConfig "server"); }; }; } diff --git a/overlay.nix b/overlay.nix index 0c6e107..d68f587 100644 --- a/overlay.nix +++ b/overlay.nix @@ -1,4 +1,4 @@ -{ pkgs, pkgsC }: +{ pkgs, pkgs-chrome }: _self: super: { gnome = super.gnome.overrideScope ( _gFinal: gPrev: { @@ -44,5 +44,5 @@ _self: super: { ripgrep = super.ripgrep.override { withPCRE2 = true; }; papirus-icon-theme = super.papirus-icon-theme.override { color = "green"; }; blender = super.blender.override { cudaSupport = true; }; - inherit (pkgsC) chromium; + inherit (pkgs-chrome) chromium; }