# NixOS Build Spec (sam-4screen-desktop) ## Disk / Boot (WIPE ENTIRE NVMe DISK) Target disk: /dev/nvme0n1 - Size: 953.87 GiB (1024209543168 bytes), 2000409264 sectors - Model: PM951 NVMe SAMSUNG 1024GB - NVMe serial: S2FZNXAH301424 - NVMe WWID: nvme.144d-2020202020205332465a4e584148333031343234-504d393531204e564d652053414d53554e4720313032344742-00000001 - Sector size (logical/physical): 512 bytes / 512 bytes DECISION (CONFIRMED): - Do NOT keep Windows. - Wipe the entire /dev/nvme0n1 (all existing partitions will be deleted/overwritten). Installer safety: - Install target is NVMe only. Do not select /dev/sdX devices in the installer. - Device names like /dev/sdb, /dev/sdc can change across boots; always rely on UUID/label when mounting non-target disks. Verification commands (run before wiping, if you want one last check): - `lsblk -o NAME,SIZE,TYPE,FSTYPE,LABEL,UUID,MOUNTPOINTS` - `sudo fdisk -l /dev/nvme0n1` Boot method: - UEFI - Bootloader: systemd-boot Filesystem / layout: - Root filesystem: Btrfs (with subvolumes) - Encryption: none - Swap: zram - Hibernate: no - /home: Btrfs subvolume Partitioning approach: - Manual in the installer (no disko) Recommended layout: - New GPT on /dev/nvme0n1 - EFI System Partition (vfat), mounted at /boot - Btrfs partition for the rest - Subvolume @ mounted at / - Subvolume @home mounted at /home IMPORTANT: - `hosts/sam-4screen-desktop/hardware-configuration.nix` is currently a placeholder. - During install after mounting to /mnt: 1) Run: `nixos-generate-config --root /mnt` 2) Copy: `/mnt/etc/nixos/hardware-configuration.nix` into: `hosts/sam-4screen-desktop/hardware-configuration.nix` ## Other attached disks (DO NOT FORMAT) - /dev/sda (240GB) model: Patriot Burst El (KEEP) - /dev/sda1: Microsoft reserved partition (~15MiB) - /dev/sda2: NTFS label "Back Up" (keep) - TempBackup (ext4) UUID=4f9c4bd5-fea5-408f-9370-731fc095da3f (~465GiB/500GB) (KEEP) - Model: WD5000BEVT-22ZAT - Serial: WD-WXNY08ND2684 - NOTE: device name may appear as /dev/sdX depending on boot/USB order; identify by UUID/label/model. - Integral300 (ext4) UUID=27febd74-20aa-4a3a-92c1-6fdd1ad7e88e (~298GiB/320GB) - Mount at /data - NOTE: device name may change; config always uses /dev/disk/by-uuid. - XPSystemDrive (ext4) UUID=82c994f1-9adb-49e4-ba1e-5b6e5ccbd49b (~149GiB/160GB) (KEEP) - Model: HTS541616J9SA00 (Hitachi) - NOTE: device name may appear as /dev/sdX depending on boot/USB order; identify by UUID/label/model. ## Networking - Use NetworkManager Static IPv4 policy (CONFIRMED): - Static IPv4 should be applied to Wi-Fi SSID: - SSID / connection id: "Aussie Broadband 8729" - Interface: wlp4s2 - IP: 192.168.20.27/24 - Gateway: 192.168.20.1 - DNS: 192.168.20.35, 192.168.20.13 - Wired enp0s31f6: no static IP required for now Secrets policy: - Do not commit Wi-Fi PSKs to git. - Static IP enforcement is implemented via a NetworkManager dispatcher script. ## Data drive mount - Integral300 ext4 UUID=27febd74-20aa-4a3a-92c1-6fdd1ad7e88e - Mountpoint on NixOS: /data (preferred) ## Dotfiles policy - Dotfiles live on the installed system at: ~/dotfiles - Do not depend on /data for dotfiles. ## Desktop - Primary compositor: Niri - Display/login manager: greetd + tuigreet - Session start command: `niri --session` (do not use `niri-session`) - GPU: Intel HD 630 + NVIDIA Quadro P620 - Display appears to be driven by NVIDIA Quadro P620 (observed `/dev/fb0` on Ubuntu scan). Treat NVIDIA as primary unless proven otherwise. ## Secrets policy - No API keys or WiFi PSKs committed to git