1
0

flake/nixosConfigurations.nix: Generate hostname from host attribute name

This commit is contained in:
clerie 2024-05-23 13:51:06 +02:00
parent a2a84a66bc
commit 985b4d4c17
Signed by: clerie
GPG Key ID: BD9F56480870BAD2
26 changed files with 25 additions and 76 deletions

View File

@ -43,55 +43,50 @@
in {
clerie.hosts = {
aluminium = {
name = "aluminium";
group = "event";
};
astatine = {
name = "astatine";
group = "event";
modules = [
./users/criese-nethinks
./users/isa
];
};
backup-4 = { name = "backup-4"; };
backup-4 = {};
beryllium = {
name = "beryllium";
group = "event";
};
carbon = { name = "carbon"; };
clerie-backup = { name = "clerie-backup"; };
dn42-il-gw1 = { name = "dn42-il-gw1"; };
dn42-il-gw5 = { name = "dn42-il-gw5"; };
dn42-il-gw6 = { name = "dn42-il-gw6"; };
dn42-ildix-clerie = { name = "dn42-ildix-clerie"; };
dn42-ildix-service = { name = "dn42-ildix-service"; };
gatekeeper = { name = "gatekeeper"; };
hydra-1 = { name = "hydra-1"; };
hydra-2 = { name = "hydra-2"; };
carbon = {};
clerie-backup = {};
dn42-il-gw1 = {};
dn42-il-gw5 = {};
dn42-il-gw6 = {};
dn42-ildix-clerie = {};
dn42-ildix-service = {};
gatekeeper = {};
hydra-1 = {};
hydra-2 = {};
krypton = {
name = "krypton";
modules = [
nixos-hardware.nixosModules.lenovo-thinkpad-x270
];
};
mail-2 = { name = "mail-2"; };
minecraft-2 = { name = "minecraft-2"; };
monitoring-3 = { name = "monitoring-3"; };
nonat = { name = "nonat"; };
osmium = { name = "osmium"; };
palladium = { name = "palladium"; };
porter = { name = "porter"; };
storage-2 = { name = "storage-2"; };
web-2 = { name = "web-2"; };
mail-2 = {};
minecraft-2 = {};
monitoring-3 = {};
nonat = {};
osmium = {};
palladium = {};
porter = {};
storage-2 = {};
web-2 = {};
zinc = {
name = "zinc";
modules = [
nixos-hardware.nixosModules.common-cpu-intel
];
};
# nixfiles-auto-install: add new host above
_iso = { name = "_iso"; };
_iso = {};
};
nixosConfigurations = import ./flake/nixosConfigurations.nix inputs;

View File

@ -18,6 +18,9 @@ let
self.nixosModules.clerie
({ config, lib, ... }: {
# Set hostname
networking.hostName = lib.mkDefault name;
# Apply overlays
nixpkgs.overlays = [
self.overlays.nixfilesInputs
@ -59,7 +62,7 @@ let
];
};
mapToNixosConfigurations = hosts: builtins.mapAttrs (name: host: generateNixosSystem host) hosts;
mapToNixosConfigurations = hosts: builtins.mapAttrs (name: host: generateNixosSystem ({ inherit name; } // host)) hosts;
in
mapToNixosConfigurations self.clerie.hosts

View File

@ -18,8 +18,6 @@
terminal_output serial
";
networking.hostName = "aluminium";
services.wg-clerie = {
enable = true;
ipv6s = [ "2a01:4f8:c0c:15f1::8106/128" ];

View File

@ -25,8 +25,6 @@
terminal_output serial
";
networking.hostName = "astatine";
#networking.firewall.enable = false;
services.wg-clerie = {

View File

@ -13,8 +13,6 @@
boot.loader.grub.enable = true;
boot.loader.grub.device = "/dev/vda";
networking.hostName = "backup-4";
networking.useDHCP = false;
networking.interfaces.ens18.ipv6.addresses = [ { address = "2001:638:904:ffcb::c"; prefixLength = 64; } ];
networking.defaultGateway6 = { address = "2001:638:904:ffcb::1"; interface = "ens18"; };

View File

@ -17,8 +17,6 @@
terminal_output serial
";
networking.hostName = "carbon";
networking.useDHCP = false;
# Local Router IPs
networking.interfaces.lo.ipv6.addresses = [

View File

@ -14,8 +14,6 @@
boot.binfmt.emulatedSystems = [ "aarch64-linux" ];
networking.hostName = "clerie-backup";
networking.useDHCP = false;
networking.interfaces.ens18.ipv6.addresses = [ { address = "2001:638:904:ffc1::6"; prefixLength = 64; } ];
networking.defaultGateway6 = { address = "2001:638:904:ffc1::1"; interface = "ens18"; };

View File

@ -11,8 +11,6 @@
boot.loader.grub.enable = true;
boot.loader.grub.device = "/dev/vda";
networking.hostName = "dn42-il-gw1";
networking.useDHCP = false;
networking.interfaces.lo.ipv6.addresses = [ { address = "fd56:4902:eca0:1::1"; prefixLength = 64; } ];
# VM Nat Netz mercury

View File

@ -11,8 +11,6 @@
boot.loader.grub.enable = true;
boot.loader.grub.device = "/dev/vda";
networking.hostName = "dn42-il-gw5";
networking.useDHCP = false;
# VM Nat Netz mercury
networking.interfaces.ens18.ipv4.addresses = [ { address = "192.168.10.25"; prefixLength = 24; } ];

View File

@ -11,8 +11,6 @@
boot.loader.grub.enable = true;
boot.loader.grub.device = "/dev/vda";
networking.hostName = "dn42-il-gw6";
networking.useDHCP = false;
networking.interfaces.lo.ipv6.addresses = [ { address = "fd56:4902:eca0:6::1"; prefixLength = 64; } ];
# IPv6 Uplink

View File

@ -10,8 +10,6 @@
boot.loader.grub.enable = true;
boot.loader.grub.device = "/dev/vda";
networking.hostName = "dn42-ildix-clerie";
networking.useDHCP = false;
# VM Nat Netz mercury
networking.interfaces.ens18.ipv4.addresses = [ { address = "192.168.10.27"; prefixLength = 24; } ];

View File

@ -17,9 +17,6 @@
# Define on which hard drive you want to install Grub.
boot.loader.grub.device = "/dev/vda"; # or "nodev" for efi only
networking.hostName = "dn42-ildix-service";
networking.useDHCP = false;
networking.interfaces.lo.ipv6.addresses = [
{ address = "fd81:edb3:71d8::1"; prefixLength = 128; }

View File

@ -10,8 +10,6 @@
boot.loader.grub.enable = true;
boot.loader.grub.device = "/dev/sda";
networking.hostName = "gatekeeper";
networking.useDHCP = false;
# Network
networking.interfaces.ens3.ipv4.addresses = [ { address = "78.47.183.82"; prefixLength = 32; } ];

View File

@ -21,8 +21,6 @@
"aarch64-linux"
];
networking.hostName = "hydra-1";
networking.useDHCP = false;
networking.interfaces.ens18.ipv6.addresses = [ { address = "2001:638:904:ffcb::a"; prefixLength = 64; } ];
networking.interfaces.ens19.ipv4.addresses = [ { address = "192.168.10.36"; prefixLength = 24; } ];

View File

@ -17,8 +17,6 @@
"aarch64-linux"
];
networking.hostName = "hydra-2";
networking.useDHCP = false;
networking.interfaces.ens18.ipv6.addresses = [ { address = "2001:638:904:ffc1::100"; prefixLength = 64; } ];
networking.interfaces.ens18.ipv4.addresses = [ { address = "141.24.50.112"; prefixLength = 24; } ];

View File

@ -28,8 +28,6 @@
# https://wiki.clerie.de/notiz/pm-hibernation-image-allocation-is-97054-pages-short
boot.kernel.sysctl."vm.swappiness" = 1;
networking.hostName = "krypton";
boot.binfmt.emulatedSystems = [
"aarch64-linux"
];

View File

@ -12,8 +12,6 @@
boot.loader.grub.enable = true;
boot.loader.grub.device = "/dev/sda";
networking.hostName = "mail-2";
networking.interfaces.ens3.ipv6.addresses = [ { address = "2a01:4f8:1c1c:9577::1"; prefixLength = 64; } ];
networking.interfaces.ens3.ipv4.addresses = [ { address = "5.75.187.112"; prefixLength = 32; } ];

View File

@ -17,8 +17,6 @@ in {
boot.loader.grub.enable = true;
boot.loader.grub.device = "/dev/sda";
networking.hostName = "minecraft-2";
networking.useDHCP = false;
networking.interfaces.ens19.ipv4.addresses = [ { address = "192.168.10.31"; prefixLength = 24; } ];
networking.interfaces.ens18.ipv6.addresses = [ { address = "2001:638:904:ffcb::9"; prefixLength = 64; } ];

View File

@ -16,8 +16,6 @@
boot.loader.grub.enable = true;
boot.loader.grub.device = "/dev/sda";
networking.hostName = "monitoring-3";
networking.useDHCP = false;
networking.interfaces.ens18.ipv4.addresses = [ { address = "192.168.10.32"; prefixLength = 24; } ];
networking.interfaces.ens19.ipv6.addresses = [ { address = "2001:638:904:ffca::7"; prefixLength = 64; } ];

View File

@ -11,8 +11,6 @@
boot.loader.grub.enable = true;
boot.loader.grub.device = "/dev/vda";
networking.hostName = "nonat";
networking.useDHCP = false;
# Network
networking.interfaces.ens18.ipv4.addresses = [

View File

@ -19,8 +19,6 @@
"aarch64-linux"
];
networking.hostName = "osmium";
networking.useDHCP = false;
networking.interfaces.ens18.ipv4.addresses = [ { address = "192.168.10.29"; prefixLength = 24; } ];
networking.interfaces.ens19.ipv6.addresses = [ { address = "2001:638:904:ffc7::6"; prefixLength = 64; } ];

View File

@ -11,8 +11,6 @@
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
networking.hostName = "palladium";
networking.useDHCP = false;
networking.interfaces.enp3s0.ipv6.addresses = [
{ address = "fd00:152:152:4::11"; prefixLength = 64; }

View File

@ -10,8 +10,6 @@
boot.loader.grub.enable = true;
boot.loader.grub.device = "/dev/sda";
networking.hostName = "porter";
networking.useDHCP = false;
# Network
networking.interfaces.ens3.ipv4.addresses = [ { address = "5.45.100.191"; prefixLength = 22; } ];

View File

@ -14,8 +14,6 @@
boot.loader.grub.enable = true;
boot.loader.grub.device = "/dev/vda";
networking.hostName = "storage-2";
networking.useDHCP = false;
networking.interfaces.ens19.ipv4.addresses = [ { address = "192.168.10.35"; prefixLength = 24; } ];
networking.interfaces.ens18.ipv6.addresses = [ { address = "2001:638:904:ffc0::4"; prefixLength = 64; } ];

View File

@ -31,8 +31,6 @@
boot.loader.grub.enable = true;
boot.loader.grub.device = "/dev/sda";
networking.hostName = "web-2";
networking.useDHCP = false;
# Network
networking.interfaces.ens3.ipv4.addresses = [ { address = "88.99.187.135"; prefixLength = 32; } ];

View File

@ -23,8 +23,6 @@
};
};
networking.hostName = "zinc";
services.wg-clerie = {
enable = true;
ipv6s = [ "2a01:4f8:c0c:15f1::8109/128" ];