flake/nixosConfigurations.nix: Generate hostname from host attribute name
This commit is contained in:
parent
a2a84a66bc
commit
985b4d4c17
47
flake.nix
47
flake.nix
@ -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;
|
||||
|
@ -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
|
||||
|
@ -18,8 +18,6 @@
|
||||
terminal_output serial
|
||||
";
|
||||
|
||||
networking.hostName = "aluminium";
|
||||
|
||||
services.wg-clerie = {
|
||||
enable = true;
|
||||
ipv6s = [ "2a01:4f8:c0c:15f1::8106/128" ];
|
||||
|
@ -25,8 +25,6 @@
|
||||
terminal_output serial
|
||||
";
|
||||
|
||||
networking.hostName = "astatine";
|
||||
|
||||
#networking.firewall.enable = false;
|
||||
|
||||
services.wg-clerie = {
|
||||
|
@ -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"; };
|
||||
|
@ -17,8 +17,6 @@
|
||||
terminal_output serial
|
||||
";
|
||||
|
||||
networking.hostName = "carbon";
|
||||
|
||||
networking.useDHCP = false;
|
||||
# Local Router IPs
|
||||
networking.interfaces.lo.ipv6.addresses = [
|
||||
|
@ -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"; };
|
||||
|
@ -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
|
||||
|
@ -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; } ];
|
||||
|
@ -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
|
||||
|
@ -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; } ];
|
||||
|
@ -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; }
|
||||
|
@ -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; } ];
|
||||
|
@ -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; } ];
|
||||
|
@ -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; } ];
|
||||
|
@ -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"
|
||||
];
|
||||
|
@ -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; } ];
|
||||
|
||||
|
@ -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; } ];
|
||||
|
@ -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; } ];
|
||||
|
@ -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 = [
|
||||
|
@ -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; } ];
|
||||
|
@ -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; }
|
||||
|
@ -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; } ];
|
||||
|
@ -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; } ];
|
||||
|
@ -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; } ];
|
||||
|
@ -23,8 +23,6 @@
|
||||
};
|
||||
};
|
||||
|
||||
networking.hostName = "zinc";
|
||||
|
||||
services.wg-clerie = {
|
||||
enable = true;
|
||||
ipv6s = [ "2a01:4f8:c0c:15f1::8109/128" ];
|
||||
|
Loading…
Reference in New Issue
Block a user