diff options
-rw-r--r-- | hosts/by-name/server3/configuration.nix | 26 | ||||
-rw-r--r-- | hosts/by-name/server3/hardware.nix | 15 | ||||
-rw-r--r-- | hosts/by-name/server3/networking.nix | 54 | ||||
-rw-r--r-- | hosts/host-names.toml | 1 |
4 files changed, 96 insertions, 0 deletions
diff --git a/hosts/by-name/server3/configuration.nix b/hosts/by-name/server3/configuration.nix new file mode 100644 index 0000000..24b66e4 --- /dev/null +++ b/hosts/by-name/server3/configuration.nix @@ -0,0 +1,26 @@ +{config, ...}: { + imports = [ + ./networking.nix # network configuration that just works + ./hardware.nix + ]; + + vhack = { + fail2ban.enable = true; + openssh.enable = true; + persist = { + enable = true; + directories = [ + "/var/log" + ]; + }; + rust-motd.enable = true; + users.enable = true; + }; + + boot.tmp.cleanOnBoot = true; + zramSwap.enable = true; + networking.hostName = "server3"; + networking.domain = "vhack.eu"; + + system.stateVersion = "24.11"; +} diff --git a/hosts/by-name/server3/hardware.nix b/hosts/by-name/server3/hardware.nix new file mode 100644 index 0000000..a6e4e40 --- /dev/null +++ b/hosts/by-name/server3/hardware.nix @@ -0,0 +1,15 @@ +{modulesPath, ...}: { + imports = [ + (modulesPath + "/profiles/qemu-guest.nix") + (modulesPath + "/profiles/headless.nix") + ]; + + vhack.disko = { + enable = true; + # FIXME: Find a better way to specify the disk + disk = "/dev/vda"; + }; + + boot.initrd.availableKernelModules = ["ata_piix" "uhci_hcd" "virtio_pci" "sr_mod" "virtio_blk"]; + nixpkgs.hostPlatform = "x86_64-linux"; +} diff --git a/hosts/by-name/server3/networking.nix b/hosts/by-name/server3/networking.nix new file mode 100644 index 0000000..9f4eb27 --- /dev/null +++ b/hosts/by-name/server3/networking.nix @@ -0,0 +1,54 @@ +{lib, ...}: { + # This file was populated at runtime with the networking + # details gathered from the active system. + networking = { + nameservers = [ + "46.38.225.230" + "46.38.252.230" + "2a03:4000:0:1::e1e6" + ]; + defaultGateway = "92.60.36.1"; + defaultGateway6 = { + address = "fe80::1"; + interface = "eth0"; + }; + dhcpcd.enable = false; + usePredictableInterfaceNames = lib.mkForce false; + interfaces = { + eth0 = { + ipv4.addresses = [ + { + address = "92.60.38.179"; + prefixLength = 22; + } + ]; + ipv6.addresses = [ + { + address = "2a03:4000:33:25b::4f4e"; + prefixLength = 64; + } + { + address = "fe80::98ed:a0ff:fecb:ea48"; + prefixLength = 64; + } + ]; + ipv4.routes = [ + { + address = "92.60.36.1"; + prefixLength = 32; + } + ]; + ipv6.routes = [ + { + address = "fe80::1"; + prefixLength = 128; + } + ]; + }; + }; + }; + services.udev.extraRules = '' + ATTR{address}=="9a:ed:a0:cb:ea:48", NAME="eth0" + + ''; +} diff --git a/hosts/host-names.toml b/hosts/host-names.toml index fd5b960..6b6d25a 100644 --- a/hosts/host-names.toml +++ b/hosts/host-names.toml @@ -1,2 +1,3 @@ server1 = "server1.vhack.eu" server2 = "server2.vhack.eu" +server3 = "server3.vhack.eu" |