Disko 1.13.0+ rejects "100%FREE" in favor of "100%". Earlier
commit 139e5f3 (from agent 'isogonalconguate') had this fix but
got dropped during the agent-garbage cleanup (commit 430252a is
GRUB switch, 5e1b369 is systemd-boot, 99b887e is original disko).
This brings the fix back, with cleaned-up comments that reflect
current reality (GRUB bootloader, BIOS mode).
Session: verify plan
VM 81.26.189.192 boots in Legacy BIOS mode (PREREQUISITES.md
check 5+11 returned BIOS / NO_EFI), so UEFI/systemd-boot is not
available. Switched to GRUB on /dev/vda.
Changes:
- boot.loader.grub.enable = true, device = "/dev/vda"
- boot.loader.systemd-boot.enable = lib.mkForce false
- boot.loader.efi.canTouchEfiVariables = lib.mkForce false
- Comments updated to reflect BIOS / GRUB choice
disk-config.nix NOT touched: the 512M ESP at /boot is unused in
BIOS mode (GRUB installs to MBR), but harmless. If we later switch
to UEFI, the ESP will be ready.
Verification:
- nix flake show: nixosConfigurations.muscari
- boot.loader.grub.enable = true
- boot.loader.systemd-boot.enable = false
- fileSystems: /boot (vfat ESP) + / (ext4 root) from disko
Session: verify plan
Changes:
- boot.loader: generic-extlinux-compatible (BIOS) → systemd-boot (UEFI)
- YC standard-v3 VM is UEFI by default; systemd-boot is the modern
choice for single-disk cloud VMs (no GRUB complexity)
- Comments updated: nixos-anywhere → nixos-install (in tmux), aligning
with the documented install procedure in projects/servers/muscari/SETUP.md
- .gitignore: add hosts/*/hardware-configuration.nix as defense-in-depth
(muscari uses disko and has no hw-config file; this guards future hosts
from leaking UUIDs/MACs to the public forgejo repo)
Context:
- muscari VM specs: 2 vCPU / 8 GB / 100 GB SSD (was incorrectly documented
as 4/16 in muscari/README.md; fixed there too)
- Flake builds cleanly:
nix flake show → nixosConfigurations.muscari
hostname → "muscari"
systemd-boot.enable → true
fileSystems."/" → ext4 (disko-derived)
fileSystems."/boot" → vfat (disko-derived)
Verified: nix --extra-experimental-features 'nix-command flakes' flake show
and eval .#nixosConfigurations.muscari.config.{networking.hostName,
boot.loader.systemd-boot.enable, fileSystems} all pass.
Session: verify plan