From bf8d0f7be333d49d756e0477e2a15e5aa34f5693 Mon Sep 17 00:00:00 2001 From: Bun Date: Sun, 13 Jul 2025 19:53:15 -0400 Subject: [PATCH] Add Redmond back --- flake.nix | 1 + hosts/detritus/disko/default.nix | 2 +- hosts/hidden/disko/default.nix | 2 +- hosts/intuos/disko/default.nix | 2 +- hosts/jupiter/disko/default.nix | 2 +- hosts/kitty/disko/default.nix | 2 +- hosts/midas/disko/default.nix | 2 +- hosts/prophet/disko/default.nix | 2 +- hosts/redmond/boot/default.nix | 7 ++ hosts/redmond/default.nix | 24 ++++++ hosts/redmond/disko/default.nix | 94 +++++++++++++++++++++++ hosts/redmond/filesystems/default.nix | 11 +++ hosts/redmond/hardware/default.nix | 23 ++++++ hosts/redmond/id_ed25519.pub | 1 + hosts/redmond/network/default.nix | 13 ++++ hosts/tower/disko/default.nix | 2 +- modules/system/users/default.nix | 1 - modules/system/users/freecorn/default.nix | 19 ----- modules/system/users/main/default.nix | 1 + 19 files changed, 183 insertions(+), 28 deletions(-) create mode 100644 hosts/redmond/boot/default.nix create mode 100644 hosts/redmond/default.nix create mode 100644 hosts/redmond/disko/default.nix create mode 100644 hosts/redmond/filesystems/default.nix create mode 100644 hosts/redmond/hardware/default.nix create mode 100644 hosts/redmond/id_ed25519.pub create mode 100644 hosts/redmond/network/default.nix delete mode 100644 modules/system/users/freecorn/default.nix diff --git a/flake.nix b/flake.nix index 03a9d53f..4b5268db 100644 --- a/flake.nix +++ b/flake.nix @@ -98,6 +98,7 @@ intuos.imports = [ ./hosts/intuos ]; jupiter.imports = [ ./hosts/jupiter ]; flight.imports = [ ./hosts/flight ]; + redmond.imports = [ ./hosts/redmond ]; # Servers midas.imports = [ ./hosts/midas ]; diff --git a/hosts/detritus/disko/default.nix b/hosts/detritus/disko/default.nix index 09ce1b53..b2e54f21 100644 --- a/hosts/detritus/disko/default.nix +++ b/hosts/detritus/disko/default.nix @@ -1,4 +1,4 @@ -{ config, name, ... }: +{ name, ... }: { disko.devices = { disk = { diff --git a/hosts/hidden/disko/default.nix b/hosts/hidden/disko/default.nix index 60a3aa22..a119300c 100644 --- a/hosts/hidden/disko/default.nix +++ b/hosts/hidden/disko/default.nix @@ -1,4 +1,4 @@ -{ config, name, ... }: +{ name, ... }: { disko.devices = { disk = { diff --git a/hosts/intuos/disko/default.nix b/hosts/intuos/disko/default.nix index e204a376..20070442 100644 --- a/hosts/intuos/disko/default.nix +++ b/hosts/intuos/disko/default.nix @@ -1,4 +1,4 @@ -{ config, name, ... }: +{ name, ... }: { disko.devices = { disk = { diff --git a/hosts/jupiter/disko/default.nix b/hosts/jupiter/disko/default.nix index 3cd69390..e00dd6c0 100644 --- a/hosts/jupiter/disko/default.nix +++ b/hosts/jupiter/disko/default.nix @@ -1,4 +1,4 @@ -{ config, name, ... }: +{ name, ... }: { disko.devices = { disk = { diff --git a/hosts/kitty/disko/default.nix b/hosts/kitty/disko/default.nix index 5959c753..38547bc1 100644 --- a/hosts/kitty/disko/default.nix +++ b/hosts/kitty/disko/default.nix @@ -1,4 +1,4 @@ -{ config, name, ... }: +{ name, ... }: { disko.devices = { disk = { diff --git a/hosts/midas/disko/default.nix b/hosts/midas/disko/default.nix index 7978befb..bf0765e3 100644 --- a/hosts/midas/disko/default.nix +++ b/hosts/midas/disko/default.nix @@ -1,4 +1,4 @@ -{ config, name, ... }: +{ name, ... }: { disko.devices = { disk = { diff --git a/hosts/prophet/disko/default.nix b/hosts/prophet/disko/default.nix index aad74c04..a7cb40fa 100644 --- a/hosts/prophet/disko/default.nix +++ b/hosts/prophet/disko/default.nix @@ -1,4 +1,4 @@ -{ config, name, ... }: +{ name, ... }: { disko.devices = { disk = { diff --git a/hosts/redmond/boot/default.nix b/hosts/redmond/boot/default.nix new file mode 100644 index 00000000..9bca9c58 --- /dev/null +++ b/hosts/redmond/boot/default.nix @@ -0,0 +1,7 @@ +{ ... }: +{ + boot = { + loader.limine.enable = true; + plymouth.enable = true; + }; +} diff --git a/hosts/redmond/default.nix b/hosts/redmond/default.nix new file mode 100644 index 00000000..7d1c72d5 --- /dev/null +++ b/hosts/redmond/default.nix @@ -0,0 +1,24 @@ +{ config, lib, ... }: +{ + imports = [ + ./boot + ./disko + ./filesystems + ./hardware + ./network + ../../modules/system + ]; + + system = { + nixos.tags = [ + "pc" + "chat" + "production" + ]; + stateVersion = "24.05"; + }; + + deployment.targetHost = "5b1:477f:8564:f325:54b4:4704:323a:b2b"; + + home-manager.users."${config.vars.mainUser}".wayland.windowManager.sway.extraSessionCommands = lib.mkForce ""; +} diff --git a/hosts/redmond/disko/default.nix b/hosts/redmond/disko/default.nix new file mode 100644 index 00000000..e8a59981 --- /dev/null +++ b/hosts/redmond/disko/default.nix @@ -0,0 +1,94 @@ +{ name, ... }: +{ + disko.devices = { + disk = { + "${name}" = { + type = "disk"; + device = "/dev/nvme0n1"; + content = { + type = "gpt"; + partitions = { + boot = { + size = "1M"; + type = "EF02"; + }; + ESP = { + size = "2G"; + type = "EF00"; + content = { + type = "filesystem"; + format = "vfat"; + mountpoint = "/boot"; + mountOptions = [ "umask=0077" ]; + }; + }; + luks = { + size = "100%"; + content = { + type = "luks"; + name = "${name}-disk"; + settings.allowDiscards = true; + passwordFile = "/tmp/secret.key"; + content = { + type = "lvm_pv"; + vg = "${name}"; + }; + }; + }; + }; + }; + }; + }; + + lvm_vg = { + "${name}" = { + type = "lvm_vg"; + lvs = { + root = { + size = "100%"; + content = { + type = "btrfs"; + extraArgs = [ "-f" ]; + subvolumes = { + "/root" = { + mountpoint = "/"; + mountOptions = [ "compress=zstd" ]; + }; + "/prev" = { + mountpoint = "/prev"; + mountOptions = [ + "compress=zstd" + "noexec" + ]; + }; + "/nix" = { + mountpoint = "/nix"; + mountOptions = [ "compress=zstd" ]; + }; + + # Impermanence + "/persist" = { + mountpoint = "/persist"; + mountOptions = [ "compress=zstd" ]; + }; + "/persist/.snapshots" = { }; + "/persist/home" = { }; + "/persist/home/.snapshots" = { }; + }; + }; + }; + swap = { + size = "8G"; + content = { + type = "swap"; + discardPolicy = "both"; + }; + }; + }; + }; + }; + }; + + # Needed for impermanence + fileSystems."/persist".neededForBoot = true; +} diff --git a/hosts/redmond/filesystems/default.nix b/hosts/redmond/filesystems/default.nix new file mode 100644 index 00000000..ddaa83f9 --- /dev/null +++ b/hosts/redmond/filesystems/default.nix @@ -0,0 +1,11 @@ +{ config, ... }: +{ + fileSystems."/mnt/Windrive" = { + device = "/dev/disk/by-uuid/582C6B802C6B57D0"; + fsType = "ntfs"; + options = [ + "nodev" + "nosuid" + ]; + }; +} diff --git a/hosts/redmond/hardware/default.nix b/hosts/redmond/hardware/default.nix new file mode 100644 index 00000000..8d652d04 --- /dev/null +++ b/hosts/redmond/hardware/default.nix @@ -0,0 +1,23 @@ +{ config, lib, modulesPath, ... }: +{ + imports = [ (modulesPath + "/installer/scan/not-detected.nix") ]; + + boot = { + initrd = { + availableKernelModules = [ + "ahci" + "ehci_pci" + "rtsx_usb_sdmmc" + "sd_mod" + "sdhci_pci" + "sr_mod" + "xhci_pci" + ]; + kernelModules = [ "dm-snapshot" ]; + }; + kernelModules = [ "kvm-amd" ]; + }; + + nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; + hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; +} diff --git a/hosts/redmond/id_ed25519.pub b/hosts/redmond/id_ed25519.pub new file mode 100644 index 00000000..5319a978 --- /dev/null +++ b/hosts/redmond/id_ed25519.pub @@ -0,0 +1 @@ +ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICHJ2Gy1Gaq96K85zOSfgWzGY0rIaUcqGS7Si5Nvzg+n diff --git a/hosts/redmond/network/default.nix b/hosts/redmond/network/default.nix new file mode 100644 index 00000000..f87dee8a --- /dev/null +++ b/hosts/redmond/network/default.nix @@ -0,0 +1,13 @@ +{ ... }: +{ + networking = { + interfaces."wlp1s0".ipv4.addresses = [{ + address = "192.168.2.200"; + prefixLength = 24; + }]; + defaultGateway = { + address = "192.168.2.1"; + interface = "wlp1s0"; + }; + }; +} diff --git a/hosts/tower/disko/default.nix b/hosts/tower/disko/default.nix index 72540892..961a3f1a 100644 --- a/hosts/tower/disko/default.nix +++ b/hosts/tower/disko/default.nix @@ -1,4 +1,4 @@ -{ config, name, ... }: +{ name, ... }: { disko.devices = { disk = { diff --git a/modules/system/users/default.nix b/modules/system/users/default.nix index 3f518f83..628f0308 100644 --- a/modules/system/users/default.nix +++ b/modules/system/users/default.nix @@ -1,7 +1,6 @@ { ... }: { imports = [ - ./freecorn ./luna ./main ./root diff --git a/modules/system/users/freecorn/default.nix b/modules/system/users/freecorn/default.nix deleted file mode 100644 index 16e7253a..00000000 --- a/modules/system/users/freecorn/default.nix +++ /dev/null @@ -1,19 +0,0 @@ -{ config, lib, pkgs, ... }: -let - user = "freecorn"; -in { - config = lib.mkIf (builtins.elem "extra-users" config.system.nixos.tags) { - users.users.${user} = { - isNormalUser = true; - createHome = true; - openssh.authorizedKeys.keys = [ - "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBCADciME1/rtWOlR2BxaAkRSgIZt61SYOgjTi6hw+yS Chinook" - "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICtoHVAmq8Ps7EguBsV3VY4snagzkhH6aXqwbKzuGs2H Radiant" - ]; - shell = pkgs.zsh; - uid = 1001; - }; - - environment.persistence."/persist".directories = [ "/home/${user}" ]; - }; -} diff --git a/modules/system/users/main/default.nix b/modules/system/users/main/default.nix index 2e89c479..f63d4014 100644 --- a/modules/system/users/main/default.nix +++ b/modules/system/users/main/default.nix @@ -15,6 +15,7 @@ ../../../../hosts/intuos/id_ed25519.pub ../../../../hosts/jupiter/id_ed25519.pub ../../../../hosts/flight/id_ed25519.pub + ../../../../hosts/redmond/id_ed25519.pub ]; extraGroups = [ # Privilige