From ab50d3e1c0ca05e36943d76b690b8090d9a84f31 Mon Sep 17 00:00:00 2001 From: emily Date: Wed, 12 Jun 2024 16:22:17 +0200 Subject: [PATCH] Add emilia to hosts --- config/hosts/emilia/configuration.nix | 36 +++++++++ config/hosts/emilia/disko.nix | 80 +++++++++++++++++++ .../hosts/emilia/hardware-configuration.nix | 9 +++ 3 files changed, 125 insertions(+) create mode 100644 config/hosts/emilia/configuration.nix create mode 100644 config/hosts/emilia/disko.nix create mode 100644 config/hosts/emilia/hardware-configuration.nix diff --git a/config/hosts/emilia/configuration.nix b/config/hosts/emilia/configuration.nix new file mode 100644 index 0000000..0f49a4f --- /dev/null +++ b/config/hosts/emilia/configuration.nix @@ -0,0 +1,36 @@ +{ ... }:{ + imports = [ + ../../common + ../../profiles/headless.nix + ../../profiles/physical.nix + ../../services/forgejo.nix + ../../services/nginx.nix + ../../services/uptime-kuma.nix + ../../services/vaultwarden.nix + ./disko.nix + ./hardware-configuration.nix + ]; + boot.initrd.kernelModules = [ "i915" ]; + boot.initrd.supportedFilesystems = [ "btrfs" ]; + + kyouma.machine-type.physical = true; + kyouma.nginx.defaultForbidden = "uptime.kyouma.net"; + + networking.hostName = "emilia"; + systemd.network.networks."98-eth-default" = { + matchConfig.Type = "ether"; + matchConfig.Name = "enp0s31f6"; + networkConfig = { + IPv6AcceptRA = false; + }; + addresses = [ + { addressConfig.Address = "95.217.83.107/26"; } + { addressConfig.Address = "2a01:4f9:4a:1f5f::1/64"; } + ]; + routes = [ + { routeConfig.Gateway = "95.217.83.65"; } + { routeConfig.Gateway = "fe80::1"; } + ]; + }; + +} diff --git a/config/hosts/emilia/disko.nix b/config/hosts/emilia/disko.nix new file mode 100644 index 0000000..1f0b4ad --- /dev/null +++ b/config/hosts/emilia/disko.nix @@ -0,0 +1,80 @@ +{ inputs, ... }: { + imports = [ + inputs.disko.nixosModules.disko + ]; + disko.devices = { + disk.bb-nvme0n1 = { + device = "/dev/disk/by-id/nvme-eui.343337304e4032870025384100000001"; + type = "disk"; + content = { + type = "gpt"; + partitions = { + BOOT = { + type = "EF00"; + size = "512M"; + content = { + type = "mdraid"; + name = "boot"; + }; + }; + root = { + size = "100%"; + content = { + type = "btrfs"; + extraArgs = [ "/dev/disk/by-partlabel/disk-aa-nvme1n1-root" "-f" "-d raid1" "-m raid1" ]; + subvolumes = { + "nixos" = { + mountpoint = "/"; + mountOptions = [ "compress=zstd" "noatime" ]; + }; + "var" = { + mountpoint = "/var"; + mountOptions = [ "compress=zstd" "noatime" ]; + }; + "home" = { + mountpoint = "/home"; + mountOptions = [ "compress=zstd" "noatime" ]; + }; + "nix" = { + mountpoint = "/nix"; + mountOptions = [ "compress=zstd" "noatime" ]; + }; + }; + }; + }; + }; + }; + }; + disk.aa-nvme1n1 = { + device = "/dev/disk/by-id/nvme-eui.343337304d8021880025384500000001"; + type = "disk"; + content = { + type = "gpt"; + partitions = { + BOOT = { + type = "EF00"; + size = "512M"; + content = { + type = "mdraid"; + name = "boot"; + }; + }; + root = { + size = "100%"; + }; + }; + }; + }; + mdadm.boot = { + type = "mdadm"; + level = 1; + metadata = "1.0"; + content = { + type = "filesystem"; + format = "vfat"; + mountpoint = "/boot"; + mountOptions = [ "umask=0077" "defaults" ]; + }; + }; + }; +} diff --git a/config/hosts/emilia/hardware-configuration.nix b/config/hosts/emilia/hardware-configuration.nix new file mode 100644 index 0000000..887595f --- /dev/null +++ b/config/hosts/emilia/hardware-configuration.nix @@ -0,0 +1,9 @@ +{ modulesPath, ... }: { + imports = [ + (modulesPath + "/installer/scan/not-detected.nix") + ]; + + boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "nvme" ]; + boot.kernelModules = [ "kvm-intel" ]; +} +