nixos/spec/default.nix
2025-01-13 11:52:09 +08:00

45 lines
1.1 KiB
Nix

{ inputs, ... }:
with inputs;
with nixpkgs.lib;
{
flake.nixosConfigurations =
(lists.foldr (
name: spec:
spec
// {
${name} = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
specialArgs = inputs // {
inherit inputs;
};
modules = [
../global
../home/profile.nix
../home/user.nix
../package
./constant.nix
./channel.nix
impermanence.nixosModules.impermanence
home-manager.nixosModules.home-manager
catppuccin.nixosModules.catppuccin
{
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
}
lanzaboote.nixosModules.lanzaboote
./${name}
{ networking.hostName = name; }
];
};
}
) { })
(
pipe ./. [
builtins.readDir
(filterAttrs (n: ty: ty == "directory" && builtins.pathExists ./${n}/default.nix))
(mapAttrsToList (n: _: n))
]
);
}