about summary refs log tree commit diff
path: root/nix/hosts
diff options
context:
space:
mode:
Diffstat (limited to 'nix/hosts')
-rw-r--r--nix/hosts/nixos/default.nix6
-rw-r--r--nix/hosts/nixos/packages.nix9
-rw-r--r--nix/hosts/nixos/user.nix12
-rw-r--r--nix/hosts/wildcat/default.nix15
-rw-r--r--nix/hosts/wildcat/hardware.nix29
-rw-r--r--nix/hosts/wildcat/networking.nix36
6 files changed, 107 insertions, 0 deletions
diff --git a/nix/hosts/nixos/default.nix b/nix/hosts/nixos/default.nix
new file mode 100644
index 0000000..abfb3a7
--- /dev/null
+++ b/nix/hosts/nixos/default.nix
@@ -0,0 +1,6 @@
+{ ... }: {
+  imports = [
+    ./packages.nix
+    ./user.nix
+  ];
+}
diff --git a/nix/hosts/nixos/packages.nix b/nix/hosts/nixos/packages.nix
new file mode 100644
index 0000000..8e807c6
--- /dev/null
+++ b/nix/hosts/nixos/packages.nix
@@ -0,0 +1,9 @@
+{ pkgs, ... }: {
+  environment = {
+    systemPackages = with pkgs; [
+      git
+      jq
+      vim
+    ];
+  };
+}
diff --git a/nix/hosts/nixos/user.nix b/nix/hosts/nixos/user.nix
new file mode 100644
index 0000000..b358d3e
--- /dev/null
+++ b/nix/hosts/nixos/user.nix
@@ -0,0 +1,12 @@
+{ ... }:
+{
+  users.users.fcuny = {
+    uid = 1000;
+    isNormalUser = true;
+    extraGroups =
+      [
+        "wheel"
+        "dialout" # Enable access to serial devices
+      ];
+  };
+}
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"
+
+  '';
+}