nixos/hosts/default.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";
};
}