summary refs log tree commit diff stats
diff options
context:
space:
mode:
-rw-r--r--hosts/by-name/server3/configuration.nix26
-rw-r--r--hosts/by-name/server3/hardware.nix15
-rw-r--r--hosts/by-name/server3/networking.nix54
-rw-r--r--hosts/host-names.toml1
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"