flakes/lib/nixos/helpers.nix.bak

46 lines
955 B
Nix
Raw Normal View History

{
inputs,
nixosModules,
overlays,
userdata,
...
}: {
# Helper function for generating host configurations.
mkHost = {
hostname,
system ? "x86_64-linux",
extraArgs ? {},
extraModules ? [],
}: let
inherit (inputs.nixpkgs) lib;
in
inputs.nixpkgs.lib.nixosSystem {
inherit system;
specialArgs =
{inherit inputs userdata;}
// extraArgs;
modules =
[
{
networking.hostName = lib.mkDefault hostname;
nixpkgs.overlays = overlays;
}
../machines/${hostname}
nixosModules.default
inputs.agenix.nixosModules.default
inputs.disko.nixosModules.disko
inputs.home-manager.nixosModules.home-manager
]
++ extraModules;
};
forAllSystems = inputs.nixpkgs.lib.genAttrs [
"aarch64-linux"
"i686-linux"
"x86_64-linux"
"aarch64-darwin"
"x86_64-darwin"
];
}