nix-conf/helpers.nix

59 lines
1.4 KiB
Nix

{
lib,
inputs,
host,
name,
...
}: let
baseModules = [
inputs.disko.nixosModules.disko
inputs.agenix.nixosModules.default
];
clientDefaults =
if host.type == "client"
then [
inputs.stylix.nixosModules.stylix
./modules/linux/nixos
]
else [];
serverExtras =
if host.type == "server"
then [
./modules/servers/per-server/${name}
./modules/servers/home-manager
]
else [];
specialModules =
if host.type == "client"
then [
inputs.aagl.nixosModules.default
inputs.auto-cpufreq.nixosModules.default
inputs.nix-flatpak.nixosModules.nix-flatpak
inputs.lanzaboote.nixosModules.lanzaboote
]
else [];
homeManagerModules =
if host.type == "server"
then [inputs.home-manager.nixosModules.home-manager]
else [
inputs.home-manager.nixosModules.home-manager
{
home-manager.useGlobalPkgs = true;
home-manager.extraSpecialArgs = {inherit inputs;};
home-manager.backupFileExtension = "backup";
home-manager.users.crony = {
imports = [
./hosts/skadi/home.nix
./modules/linux/home-manager
./modules/cross-platform/home-manager
];
};
}
];
in {
baseModules = baseModules;
clientDefaults = clientDefaults;
serverExtras = serverExtras;
specialModules = specialModules;
homeManagerModules = homeManagerModules;
}