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:
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -4,17 +4,17 @@
|
||||
{ config, lib, pkgs, ... }:
|
||||
|
||||
{
|
||||
# Both device paths are placeholders. disko-install overrides them with
|
||||
# `--disk main <path>` and `--disk home <path>`, 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 <path>` and `--disk home <path>`, 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";
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user