100 lines
3.5 KiB
Markdown
100 lines
3.5 KiB
Markdown
# 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
|