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

View File

@ -18,6 +18,9 @@ let
self.nixosModules.clerie self.nixosModules.clerie
({ config, lib, ... }: { ({ config, lib, ... }: {
# Set hostname
networking.hostName = lib.mkDefault name;
# Apply overlays # Apply overlays
nixpkgs.overlays = [ nixpkgs.overlays = [
self.overlays.nixfilesInputs 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 in
mapToNixosConfigurations self.clerie.hosts mapToNixosConfigurations self.clerie.hosts

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -11,8 +11,6 @@
boot.loader.grub.enable = true; boot.loader.grub.enable = true;
boot.loader.grub.device = "/dev/vda"; boot.loader.grub.device = "/dev/vda";
networking.hostName = "dn42-il-gw5";
networking.useDHCP = false; networking.useDHCP = false;
# VM Nat Netz mercury # VM Nat Netz mercury
networking.interfaces.ens18.ipv4.addresses = [ { address = "192.168.10.25"; prefixLength = 24; } ]; 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.enable = true;
boot.loader.grub.device = "/dev/vda"; boot.loader.grub.device = "/dev/vda";
networking.hostName = "dn42-il-gw6";
networking.useDHCP = false; networking.useDHCP = false;
networking.interfaces.lo.ipv6.addresses = [ { address = "fd56:4902:eca0:6::1"; prefixLength = 64; } ]; networking.interfaces.lo.ipv6.addresses = [ { address = "fd56:4902:eca0:6::1"; prefixLength = 64; } ];
# IPv6 Uplink # IPv6 Uplink

View File

@ -10,8 +10,6 @@
boot.loader.grub.enable = true; boot.loader.grub.enable = true;
boot.loader.grub.device = "/dev/vda"; boot.loader.grub.device = "/dev/vda";
networking.hostName = "dn42-ildix-clerie";
networking.useDHCP = false; networking.useDHCP = false;
# VM Nat Netz mercury # VM Nat Netz mercury
networking.interfaces.ens18.ipv4.addresses = [ { address = "192.168.10.27"; prefixLength = 24; } ]; 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. # Define on which hard drive you want to install Grub.
boot.loader.grub.device = "/dev/vda"; # or "nodev" for efi only boot.loader.grub.device = "/dev/vda"; # or "nodev" for efi only
networking.hostName = "dn42-ildix-service";
networking.useDHCP = false; networking.useDHCP = false;
networking.interfaces.lo.ipv6.addresses = [ networking.interfaces.lo.ipv6.addresses = [
{ address = "fd81:edb3:71d8::1"; prefixLength = 128; } { address = "fd81:edb3:71d8::1"; prefixLength = 128; }

View File

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

View File

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

View File

@ -17,8 +17,6 @@
"aarch64-linux" "aarch64-linux"
]; ];
networking.hostName = "hydra-2";
networking.useDHCP = false; networking.useDHCP = false;
networking.interfaces.ens18.ipv6.addresses = [ { address = "2001:638:904:ffc1::100"; prefixLength = 64; } ]; 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; } ]; 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 # https://wiki.clerie.de/notiz/pm-hibernation-image-allocation-is-97054-pages-short
boot.kernel.sysctl."vm.swappiness" = 1; boot.kernel.sysctl."vm.swappiness" = 1;
networking.hostName = "krypton";
boot.binfmt.emulatedSystems = [ boot.binfmt.emulatedSystems = [
"aarch64-linux" "aarch64-linux"
]; ];

View File

@ -12,8 +12,6 @@
boot.loader.grub.enable = true; boot.loader.grub.enable = true;
boot.loader.grub.device = "/dev/sda"; 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.ipv6.addresses = [ { address = "2a01:4f8:1c1c:9577::1"; prefixLength = 64; } ];
networking.interfaces.ens3.ipv4.addresses = [ { address = "5.75.187.112"; prefixLength = 32; } ]; 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.enable = true;
boot.loader.grub.device = "/dev/sda"; boot.loader.grub.device = "/dev/sda";
networking.hostName = "minecraft-2";
networking.useDHCP = false; networking.useDHCP = false;
networking.interfaces.ens19.ipv4.addresses = [ { address = "192.168.10.31"; prefixLength = 24; } ]; 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; } ]; 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.enable = true;
boot.loader.grub.device = "/dev/sda"; boot.loader.grub.device = "/dev/sda";
networking.hostName = "monitoring-3";
networking.useDHCP = false; networking.useDHCP = false;
networking.interfaces.ens18.ipv4.addresses = [ { address = "192.168.10.32"; prefixLength = 24; } ]; 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; } ]; 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.enable = true;
boot.loader.grub.device = "/dev/vda"; boot.loader.grub.device = "/dev/vda";
networking.hostName = "nonat";
networking.useDHCP = false; networking.useDHCP = false;
# Network # Network
networking.interfaces.ens18.ipv4.addresses = [ networking.interfaces.ens18.ipv4.addresses = [

View File

@ -19,8 +19,6 @@
"aarch64-linux" "aarch64-linux"
]; ];
networking.hostName = "osmium";
networking.useDHCP = false; networking.useDHCP = false;
networking.interfaces.ens18.ipv4.addresses = [ { address = "192.168.10.29"; prefixLength = 24; } ]; 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; } ]; 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.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true; boot.loader.efi.canTouchEfiVariables = true;
networking.hostName = "palladium";
networking.useDHCP = false; networking.useDHCP = false;
networking.interfaces.enp3s0.ipv6.addresses = [ networking.interfaces.enp3s0.ipv6.addresses = [
{ address = "fd00:152:152:4::11"; prefixLength = 64; } { address = "fd00:152:152:4::11"; prefixLength = 64; }

View File

@ -10,8 +10,6 @@
boot.loader.grub.enable = true; boot.loader.grub.enable = true;
boot.loader.grub.device = "/dev/sda"; boot.loader.grub.device = "/dev/sda";
networking.hostName = "porter";
networking.useDHCP = false; networking.useDHCP = false;
# Network # Network
networking.interfaces.ens3.ipv4.addresses = [ { address = "5.45.100.191"; prefixLength = 22; } ]; 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.enable = true;
boot.loader.grub.device = "/dev/vda"; boot.loader.grub.device = "/dev/vda";
networking.hostName = "storage-2";
networking.useDHCP = false; networking.useDHCP = false;
networking.interfaces.ens19.ipv4.addresses = [ { address = "192.168.10.35"; prefixLength = 24; } ]; 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; } ]; 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.enable = true;
boot.loader.grub.device = "/dev/sda"; boot.loader.grub.device = "/dev/sda";
networking.hostName = "web-2";
networking.useDHCP = false; networking.useDHCP = false;
# Network # Network
networking.interfaces.ens3.ipv4.addresses = [ { address = "88.99.187.135"; prefixLength = 32; } ]; networking.interfaces.ens3.ipv4.addresses = [ { address = "88.99.187.135"; prefixLength = 32; } ];

View File

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