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"
|