feat(desktop): declare the real disk paths

hosts/desktop carried two SET-VIA-disko-install placeholders, so the file
did not say which disks the machine has. The invalid paths only ever
caught a missing --disk flag, never a wrong one, and paid for it by
leaving the hardware undocumented.

The system disk is the 512G XPG, /home goes on the 1T Crucial;
disko-install --disk main|home still overrides both. The 1T currently
holds an ext4 Data partition, which the install erases.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-08-20 16:50:27 +02:00
co-authored by Claude Opus 5
parent f5b4f0174d
commit 9dce00ff8a
3 changed files with 31 additions and 10 deletions
+22
View File
@@ -1,5 +1,27 @@
# Decisions # 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 ## 2026-08-20 A placeholder ~/.zshrc stops the zsh new-user wizard
- **Who**: Dominik, ClaudeCode - **Who**: Dominik, ClaudeCode
+2 -3
View File
@@ -147,9 +147,8 @@ the disk may enumerate differently next time.
``` ```
Both disks are erased. `disko-install` overrides whatever paths the host Both disks are erased. `disko-install` overrides whatever paths the host
file declares, which is why `hosts/desktop` carries invalid placeholders: file declares, so the flags are what decides which disks are written —
forgetting a flag fails the install instead of erasing a disk that was not compare them against `lsblk` and `ls -l /dev/disk/by-id/` first.
meant to be touched.
Without a matching `nixos-hardware` profile, set Without a matching `nixos-hardware` profile, set
`hardware.cpu.intel.updateMicrocode` or `hardware.cpu.amd.updateMicrocode` in `hardware.cpu.intel.updateMicrocode` or `hardware.cpu.amd.updateMicrocode` in
+7 -7
View File
@@ -4,17 +4,17 @@
{ config, lib, pkgs, ... }: { config, lib, pkgs, ... }:
{ {
# Both device paths are placeholders. disko-install overrides them with # Read off the machine with `ls -l /dev/disk/by-id/`: the 512G XPG is the
# `--disk main <path>` and `--disk home <path>`, so the real paths are read # system disk, the 1T Crucial carries /home. disko-install still overrides
# from lsblk on the machine and never travel into this repository. The values # both with `--disk main <path>` and `--disk home <path>`, so check them
# here are deliberately invalid: without the flags the install fails instead # against lsblk before installing — by-id names follow the drive, not the
# of erasing whatever happens to be first in the enumeration. # slot, and a replaced disk changes them.
moonarch.disk = { moonarch.disk = {
enable = true; 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 = { home = {
enable = true; enable = true;
device = "/dev/disk/by-id/SET-VIA-disko-install--disk-home"; device = "/dev/disk/by-id/nvme-CT1000P1SSD8_2030E2BAC109";
}; };
}; };