36 lines
784 B
Nix
36 lines
784 B
Nix
{ self, prefs, ... }:
|
|
|
|
let
|
|
inherit (self) inputs;
|
|
lib = inputs.nixpkgs.lib;
|
|
|
|
mkSystem =
|
|
{
|
|
system,
|
|
hostname,
|
|
useHomeManager ? true,
|
|
modules ? [ ],
|
|
}: let pkgs = prefs.nixpkgs system; in lib.nixosSystem {
|
|
inherit pkgs;
|
|
|
|
specialArgs = { inherit inputs prefs; };
|
|
modules = modules
|
|
++ [
|
|
./base-configuration.nix
|
|
./${hostname}
|
|
] ++ lib.lists.optionals useHomeManager [
|
|
{ environment.systemPackages = [ pkgs.home-manager ]; }
|
|
inputs.home-manager.nixosModules.default {
|
|
home-manager.useGlobalPkgs = true;
|
|
home-manager.useUserPackages = true;
|
|
}
|
|
];
|
|
};
|
|
in
|
|
{
|
|
hulk = mkSystem {
|
|
system = "x86_64-linux";
|
|
hostname = "hulk";
|
|
};
|
|
}
|