diff --git a/DECISIONS.md b/DECISIONS.md index a02ff08..cd70114 100644 --- a/DECISIONS.md +++ b/DECISIONS.md @@ -1,5 +1,27 @@ # Decisions +## 2026-08-20 – The desktop declares its real disks + +- **Who**: Dominik, ClaudeCode +- **Why**: `hosts/desktop` still carried the two `SET-VIA-disko-install--disk-*` + placeholders from the entry below, so the file did not say which disks the + machine has. The ThinkPad names its disk, and nothing about the desktop's two + is secret: read off the machine, the system disk is the 512G + `nvme-XPG_GAMMIX_S11_Pro_2K322LAES7JG` and `/home` goes on the 1T + `nvme-CT1000P1SSD8_2030E2BAC109`. +- **Tradeoffs**: The invalid paths were a safety net — a forgotten `--disk` + flag failed the install instead of erasing something. That net only ever + caught the case of a *missing* flag, and it paid for it by making a rebuild + of an installed desktop impossible to evaluate honestly and by leaving the + hardware undocumented. With correct paths a forgotten flag installs to the + intended disk, which is the outcome the flag would have asked for anyway. A + wrong flag was never caught by either variant. +- **How**: The paths in `hosts/desktop/default.nix`, with the comment now + saying where they came from and that `disko-install --disk main|home` still + overrides them. Note that the 1T currently holds an ext4 `Data` partition — + installing erases it. README's "Adding another machine" step 4 no longer + advertises the placeholders. + ## 2026-08-20 – A placeholder ~/.zshrc stops the zsh new-user wizard - **Who**: Dominik, ClaudeCode diff --git a/README.md b/README.md index a021c94..7d11c4d 100644 --- a/README.md +++ b/README.md @@ -147,9 +147,8 @@ the disk may enumerate differently next time. ``` Both disks are erased. `disko-install` overrides whatever paths the host - file declares, which is why `hosts/desktop` carries invalid placeholders: - forgetting a flag fails the install instead of erasing a disk that was not - meant to be touched. + file declares, so the flags are what decides which disks are written — + compare them against `lsblk` and `ls -l /dev/disk/by-id/` first. Without a matching `nixos-hardware` profile, set `hardware.cpu.intel.updateMicrocode` or `hardware.cpu.amd.updateMicrocode` in diff --git a/hosts/desktop/default.nix b/hosts/desktop/default.nix index 1a1a442..d91f5f6 100644 --- a/hosts/desktop/default.nix +++ b/hosts/desktop/default.nix @@ -4,17 +4,17 @@ { config, lib, pkgs, ... }: { - # Both device paths are placeholders. disko-install overrides them with - # `--disk main ` and `--disk home `, so the real paths are read - # from lsblk on the machine and never travel into this repository. The values - # here are deliberately invalid: without the flags the install fails instead - # of erasing whatever happens to be first in the enumeration. + # Read off the machine with `ls -l /dev/disk/by-id/`: the 512G XPG is the + # system disk, the 1T Crucial carries /home. disko-install still overrides + # both with `--disk main ` and `--disk home `, so check them + # against lsblk before installing — by-id names follow the drive, not the + # slot, and a replaced disk changes them. moonarch.disk = { enable = true; - device = "/dev/disk/by-id/SET-VIA-disko-install--disk-main"; + device = "/dev/disk/by-id/nvme-XPG_GAMMIX_S11_Pro_2K322LAES7JG"; home = { enable = true; - device = "/dev/disk/by-id/SET-VIA-disko-install--disk-home"; + device = "/dev/disk/by-id/nvme-CT1000P1SSD8_2030E2BAC109"; }; };