let mods = import ./modules; users = import ./users; sources = import ./npins; mkNixpkgsSrc = (import sources.nix-patches { patchFile = ./patches; }).mkNixpkgsSrc; in { meta = { nixpkgs = mkNixpkgsSrc { src = sources.nixpkgs; version = "unstable"; }; nodeNixpkgs."kat-mail-test" = mkNixpkgsSrc { src = sources.nixpkgs; version = "betamail"; }; specialArgs = { inherit mods users sources; }; }; defaults = { nodes, name, pkgs, lib, config, ... }: { imports = [ ./kat ]; networking.hostName = name; }; kat-probook = { users, ... }: { deployment.allowLocalDeployment = true; imports = [ ./machines/kat-probook users.catvayor ]; nix.settings.trusted-users = [ "root" "@wheel" ]; }; kat-manah = { users, ... }: { deployment.targetHost = "manah.kat"; services.openssh.enable = true; kat.fqdn = "manah.katvayor.net"; imports = [ ./machines/kat-manah ]; }; kat-watcher = { users, ... }: { deployment.targetHost = "watcher.kat"; services.openssh.enable = true; kat.fqdn = "watcher.katvayor.net"; imports = [ ./machines/kat-watcher ]; }; kat-virt = { ssh-keys, ... }: { deployment = { targetHost = "virt.kat"; tags = [ "kat-vms" ]; }; services.openssh.enable = true; services.qemuGuest.enable = true; boot.kernelParams = [ "console=ttyS0" ]; kat.fqdn = "degette.katvayor.net"; imports = [ ./machines/kat-virt ]; users.users.root.openssh.authorizedKeys.keys = with ssh-keys; sylvain ++ gaby; }; kat-mail-test = { ssh-keys, ... }: { deployment = { targetHost = "mail-test.kat"; tags = [ "kat-vms" ]; }; services.openssh.enable = true; services.qemuGuest.enable = true; boot.kernelParams = [ "console=ttyS0" ]; kat.fqdn = "betamail.katvayor.net"; imports = [ ./machines/kat-mail-test ]; users.users.root.openssh.authorizedKeys.keys = ssh-keys.sylvain; }; kat-son = { users, ... }: { deployment = { targetHost = "son.kat"; tags = [ "kat-vms" ]; }; services.openssh.enable = true; services.qemuGuest.enable = true; boot.kernelParams = [ "console=ttyS0" ]; kat.fqdn = "son.katvayor.net"; imports = [ ./machines/kat-son ]; }; kat-orchid = { users, ... }: { deployment = { targetHost = "orchid.kat"; tags = [ "kat-vms" ]; }; services.openssh.enable = true; services.qemuGuest.enable = true; boot.kernelParams = [ "console=ttyS0" ]; kat.fqdn = "orchid.katvayor.net"; imports = [ ./machines/kat-orchid ]; }; kat-iso = { users, pkgs, modulesPath, lib, ... }: { deployment = { allowLocalDeployment = false; targetHost = null; }; imports = [ (modulesPath + "/installer/cd-dvd/installation-cd-minimal-new-kernel-no-zfs.nix") ]; networking = { networkmanager.enable = true; wireless.enable = false; }; console.keyMap = "fr"; environment.systemPackages = with pkgs; [ perl git ]; programs.zsh.enable = true; services.openssh.enable = true; services.qemuGuest.enable = true; boot.supportedFilesystems = { bcachefs = true; zfs = lib.mkForce false; }; boot.kernelParams = [ "console=ttyS0" ]; boot.kernelPackages = lib.mkForce pkgs.linuxPackages_latest; services.getty.autologinUser = lib.mkForce "root"; system.stateVersion = lib.mkForce "24.11"; }; kat-kexec = { users, pkgs, modulesPath, lib, ... }: { deployment = { allowLocalDeployment = false; targetHost = null; }; imports = [ ("${sources.nixos-images}/nix/kexec-installer/module.nix") ]; networking = { networkmanager.enable = false; wireless.enable = false; }; console.keyMap = "fr"; environment.systemPackages = with pkgs; [ perl git ]; programs.zsh.enable = true; services.openssh.enable = true; services.qemuGuest.enable = true; boot.kernelParams = [ "console=ttyS0" ]; boot.kernelPackages = lib.mkForce pkgs.linuxPackages_latest; boot.supportedFilesystems = { bcachefs = true; zfs = lib.mkForce false; }; services.getty.autologinUser = lib.mkForce "root"; system.stateVersion = lib.mkForce "24.11"; }; }