Files
vmimages/lib/nixos.nix
2023-11-21 14:00:06 +00:00

30 lines
612 B
Nix

{
inputs,
lib,
pkgs,
...
}:
with lib;
with lib.my; let
sys = "x86_64-linux";
in {
mkHost = path: attrs @ {system ? sys, ...}:
nixosSystem {
inherit system;
specialArgs = {inherit lib inputs system;};
modules = [
{
nixpkgs.pkgs = pkgs;
networking.hostName = mkDefault (removeSuffix ".nix" (baseNameOf path));
}
(filterAttrs (n: v: !elem n ["system"]) attrs)
../. # /default.nix
(import path)
];
};
mapHosts = dir: attrs @ {system ? system, ...}:
mapModules dir
(hostPath: mkHost hostPath attrs);
}