about summary refs log tree commit diff
path: root/nix/hosts/wildcat
diff options
context:
space:
mode:
authorFranck Cuny <franck@fcuny.net>2024-08-05 09:37:18 -0700
committerFranck Cuny <franck@fcuny.net>2024-08-05 09:37:18 -0700
commit11de044811d357b4b34e87bccfaf5302d0eb6c93 (patch)
tree050312e0a00e6467fda72095c49d2f2ae0ae567e /nix/hosts/wildcat
parentadd a linux VM as a new host (diff)
downloadworld-11de044811d357b4b34e87bccfaf5302d0eb6c93.tar.gz
add a new host: wildcat
This is a VPS on hetzner.
Diffstat (limited to 'nix/hosts/wildcat')
-rw-r--r--nix/hosts/wildcat/default.nix15
-rw-r--r--nix/hosts/wildcat/hardware.nix29
-rw-r--r--nix/hosts/wildcat/networking.nix36
3 files changed, 80 insertions, 0 deletions
diff --git a/nix/hosts/wildcat/default.nix b/nix/hosts/wildcat/default.nix
new file mode 100644
index 0000000..f62df7d
--- /dev/null
+++ b/nix/hosts/wildcat/default.nix
@@ -0,0 +1,15 @@
+{ ... }: {
+
+  imports = [
+    ./hardware.nix
+    ./networking.nix
+  ];
+
+  boot.tmp.cleanOnBoot = true;
+  zramSwap.enable = true;
+  networking.hostName = "fcuny";
+  networking.domain = "net";
+  services.openssh.enable = true;
+  users.users.root.openssh.authorizedKeys.keys = [ ''ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINBkozy+X96u5ciX766bJ/AyQ3xm1tXZTIr5+4PVFZFi'' ];
+  system.stateVersion = "23.11";
+}
diff --git a/nix/hosts/wildcat/hardware.nix b/nix/hosts/wildcat/hardware.nix
new file mode 100644
index 0000000..cc14f5a
--- /dev/null
+++ b/nix/hosts/wildcat/hardware.nix
@@ -0,0 +1,29 @@
+{ modulesPath, ... }:
+{
+  imports = [ (modulesPath + "/profiles/qemu-guest.nix") ];
+
+  boot.initrd.availableKernelModules = [
+    "ata_piix"
+    "uhci_hcd"
+    "xen_blkfront"
+    "vmw_pvscsi"
+  ];
+
+  boot.loader.grub = {
+    enable = true;
+    device = "/dev/sda";
+  };
+
+  boot.initrd.kernelModules = [ "nvme" ];
+
+  fileSystems = {
+    "/" = {
+      device = "/dev/sda1";
+      fsType = "ext4";
+    };
+    "/data" = {
+      device = "/dev/disk/by-id/scsi-0HC_Volume_101115314";
+      fsType = "ext4";
+    };
+  };
+}
diff --git a/nix/hosts/wildcat/networking.nix b/nix/hosts/wildcat/networking.nix
new file mode 100644
index 0000000..1199113
--- /dev/null
+++ b/nix/hosts/wildcat/networking.nix
@@ -0,0 +1,36 @@
+{ lib, ... }: {
+  # This file was populated at runtime with the networking
+  # details gathered from the active system.
+  networking = {
+    nameservers = [
+      "2a01:4ff:ff00::add:2"
+      "2a01:4ff:ff00::add:1"
+      "185.12.64.1"
+    ];
+    defaultGateway = "172.31.1.1";
+    defaultGateway6 = {
+      address = "fe80::1";
+      interface = "eth0";
+    };
+    dhcpcd.enable = false;
+    usePredictableInterfaceNames = lib.mkForce false;
+    interfaces = {
+      eth0 = {
+        ipv4.addresses = [
+          { address = "5.78.87.68"; prefixLength = 32; }
+        ];
+        ipv6.addresses = [
+          { address = "2a01:4ff:1f0:d1a3::1"; prefixLength = 64; }
+          { address = "fe80::9400:3ff:fe98:d6dc"; prefixLength = 64; }
+        ];
+        ipv4.routes = [{ address = "172.31.1.1"; prefixLength = 32; }];
+        ipv6.routes = [{ address = "fe80::1"; prefixLength = 128; }];
+      };
+
+    };
+  };
+  services.udev.extraRules = ''
+    ATTR{address}=="96:00:03:98:d6:dc", NAME="eth0"
+
+  '';
+}