nix/hosts/default.nix
2025-03-03 23:10:07 -06:00

65 lines
1.2 KiB
Nix

{
inputs,
lib,
system,
specialArgs,
dots,
user ? "rayandrew",
...
}:
let
mkNixosConfiguration =
host:
{
pkgs ? (
import inputs.nixpkgs {
inherit system;
config.allowUnfree = true;
}
),
}:
lib.nixosSystem {
inherit pkgs;
specialArgs = specialArgs // {
inherit host user dots;
};
modules = [
inputs.disko.nixosModules.default
./${host}
./${host}/hardware.nix
../nixos
{
home-manager = {
useGlobalPkgs = true;
useUserPackages = true;
extraSpecialArgs = specialArgs // {
inherit host user system dots;
};
users.${user} = {
imports = [
inputs.nix-index-database.hmModules.nix-index
./${host}/home.nix
../home
];
};
};
}
# alias for home-manager
(lib.mkAliasOptionModule [ "hm" ] [
"home-manager"
"users"
user
])
inputs.home-manager.nixosModules.home-manager
];
};
in
{
nixosConfigurations = {
pickwick = mkNixosConfiguration "pickwick" { };
};
}