fix: use ~/dotfiles, update docs, and disable Docker
Co-authored-by: aider (openrouter/openai/gpt-5.2) <aider@aider.chat>
This commit is contained in:
@@ -11,6 +11,8 @@ This guide assumes:
|
||||
- Your config repo is a flake with output: `#sam-4screen-desktop`
|
||||
- Integral300 (ext4) is available and will be mounted on NixOS at: /data
|
||||
- UUID: 27febd74-20aa-4a3a-92c1-6fdd1ad7e88e
|
||||
- Dotfiles will live on the installed system at:
|
||||
- `~/dotfiles` (NOT on /data)
|
||||
|
||||
Important constraints:
|
||||
- `hosts/sam-4screen-desktop/hardware-configuration.nix` is currently a placeholder.
|
||||
@@ -35,7 +37,7 @@ Important constraints:
|
||||
3) Commit your changes:
|
||||
- `git status`
|
||||
- `git add -A`
|
||||
- `git commit -m "chore: prep install guide + dotfiles links"`
|
||||
- `git commit -m "chore: prep install guide + HM config"`
|
||||
|
||||
4) Push to Gitea:
|
||||
- `git push`
|
||||
@@ -149,13 +151,19 @@ or:
|
||||
3) Verify SSH works (from another machine):
|
||||
- `ssh sam@192.168.20.27`
|
||||
|
||||
4) Verify /data mounted:
|
||||
4) Verify /data mounted (this is for your storage drive and for accessing the config repo if you keep it there):
|
||||
- `mount | grep ' /data '`
|
||||
- `ls -la /data/home_sam_ubuntu/dotfiles`
|
||||
|
||||
5) Home Manager activation:
|
||||
- `home-manager` is integrated via NixOS switch; it should apply on rebuild.
|
||||
- If dotfiles symlinks fail, confirm `/data` is mounted and the dotfiles paths exist.
|
||||
5) Put dotfiles onto the system at ~/dotfiles
|
||||
|
||||
Option A (recommended): clone dotfiles repo:
|
||||
- `git clone <your-dotfiles-repo-url> ~/dotfiles`
|
||||
|
||||
Option B: copy from Integral300 if they currently only live there:
|
||||
- `cp -a /data/home_sam_ubuntu/dotfiles ~/dotfiles`
|
||||
|
||||
6) Verify dotfiles exist:
|
||||
- `ls -la ~/dotfiles`
|
||||
|
||||
---
|
||||
|
||||
|
||||
@@ -1,33 +1,53 @@
|
||||
# NixOS Build Spec (sam-4screen-desktop)
|
||||
|
||||
## Disk / Boot (DO NOT BRICK WINDOWS)
|
||||
## 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
|
||||
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.
|
||||
|
||||
NOTE: GPT partition table entries may not be stored/printed in on-disk (Start sector) order.
|
||||
- Do NOT rely on the order shown by some tools.
|
||||
- Always identify partitions by (partition number + type + UUID/label).
|
||||
- If you need the physical order, sort by the “Start” sector column (e.g. `fdisk -l` output).
|
||||
DECISION (CONFIRMED):
|
||||
- Do NOT keep Windows.
|
||||
- Wipe the entire /dev/nvme0n1 (all existing partitions will be deleted/overwritten).
|
||||
|
||||
Verification commands (run before formatting):
|
||||
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` (interpret physical order by sorting on Start)
|
||||
- `sudo blkid /dev/nvme0n1p1 /dev/nvme0n1p3 /dev/nvme0n1p4 /dev/nvme0n1p5`
|
||||
- `sudo fdisk -l /dev/nvme0n1`
|
||||
|
||||
KEEP (do not format):
|
||||
- /dev/nvme0n1p1 (EFI vfat) UUID=94CC-9DA4 (~99MiB, FAT32, mounted at /boot/efi)
|
||||
- /dev/nvme0n1p2 (MS reserved) (~15MiB)
|
||||
- /dev/nvme0n1p3 (Windows NTFS) UUID=8294CD2994CD2111 (~503GiB)
|
||||
- /dev/nvme0n1p4 (Windows recovery NTFS) UUID=6E1AA32B1AA2EEF1 (~529MiB)
|
||||
Boot method:
|
||||
- UEFI
|
||||
- Bootloader: systemd-boot
|
||||
|
||||
WIPE + install NixOS here:
|
||||
- /dev/nvme0n1p5 (currently Ubuntu ext4 /) UUID=4e99904c-ce6f-4c3c-898a-e29cfc373489 (~449GiB)
|
||||
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)
|
||||
@@ -36,27 +56,38 @@ WIPE + install NixOS here:
|
||||
- TempBackup (ext4) UUID=4f9c4bd5-fea5-408f-9370-731fc095da3f (~465GiB/500GB) (KEEP)
|
||||
- Model: WD5000BEVT-22ZAT
|
||||
- Serial: WD-WXNY08ND2684
|
||||
- NOTE: device name may appear as /dev/sdb or /dev/sdc 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 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.
|
||||
- Observed in hardware scan: `/dev/sde` (do not rely on this).
|
||||
|
||||
Bootloader:
|
||||
- systemd-boot, using the existing EFI partition (/dev/nvme0n1p1)
|
||||
|
||||
## Networking
|
||||
- Use NetworkManager
|
||||
- Static IPv4 for wired: enp0s31f6 = 192.168.20.27/24
|
||||
- Gateway: 192.168.20.1
|
||||
- DNS: 192.168.20.35, 192.168.20.13
|
||||
|
||||
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
|
||||
|
||||
@@ -26,9 +26,12 @@ Legend:
|
||||
|
||||
### Core system services
|
||||
- **NetworkManager**
|
||||
- Static IPv4 for wired: `enp0s31f6 = 192.168.20.27/24`
|
||||
- Gateway: `192.168.20.1`
|
||||
- DNS: `192.168.20.35`, `192.168.20.13`
|
||||
- Static IPv4 is enforced on Wi-Fi SSID: **"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 (DHCP/unused)
|
||||
- **OpenSSH server** (sshd)
|
||||
- **PipeWire audio** (Pulse + ALSA) + **WirePlumber**
|
||||
- **Firewall** (NixOS default; open SSH port only)
|
||||
|
||||
Reference in New Issue
Block a user