docs(migration): #76 slice 1 — enable-hibernation runbook
Some checks failed
Check / eval (push) Has been cancelled
Some checks failed
Check / eval (push) Has been cancelled
Add a self-contained "Enabling hibernation on an existing machine (no reinstall)" section to docs/MIGRATION.md, per the settled #76 call to document migration rather than ship a tool. Covers: @swap subvolume creation (subvolid=5), btrfs mkswapfile (NOCOW), reading the resume offset via map-swapfile, and wiring fileSystems."/swap" + swapDevices + resumeDevice + resume_offset into system.nix. Flags the /swap mount as required on the hand-edit path (a fresh install inherits it from disko-generated hardware-config). Notes the zram-priority reservation, a no-LUKS variant, and the swap=0 opt-out. Verification: V0. All read-only commands run live against this machine's LUKS(cryptroot)+btrfs(@)+/swap/swapfile layout; nix flake check --no-build green. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -72,7 +72,9 @@ interplay handled in `modules/nixos/default.nix` / `modules/home/idle.nix`.
|
||||
|
||||
**Remaining slices:**
|
||||
|
||||
1. **Docs** — `docs/MIGRATION.md` hibernation-enable runbook (V0).
|
||||
1. ~~**Docs** — `docs/MIGRATION.md` hibernation-enable runbook (V0).~~ ✓
|
||||
shipped 2026-07-10 (§ "Enabling hibernation on an existing machine";
|
||||
commands verified live against the dev machine's LUKS+@swap layout).
|
||||
2. **Menu** — Hibernate row: notify-on-failure when no swap configured
|
||||
(behavioral, V1/V2). Keep the row unconditional.
|
||||
3. **Verify (required)**
|
||||
|
||||
@@ -17,6 +17,24 @@ Template:
|
||||
|
||||
---
|
||||
|
||||
## 2026-07-10 — #76 slice 1: MIGRATION.md hibernation runbook
|
||||
- **Task:** BACKLOG #76 remaining slice 1 — docs runbook for enabling
|
||||
hibernation on an existing machine (per the settled "docs not tool" call).
|
||||
- **Did:** Added § "Enabling hibernation on an existing machine (no reinstall)"
|
||||
to `docs/MIGRATION.md`: create `@swap` subvol (subvolid=5) + `mkswapfile`
|
||||
(NOCOW), read `map-swapfile -r` offset, wire `fileSystems."/swap"` +
|
||||
`swapDevices` + `resumeDevice` + `resume_offset` into system.nix. Flagged
|
||||
the mount as required on the hand-edit path (installer gets it from
|
||||
disko-gen hardware-config). Notes zram-priority reservation, no-LUKS
|
||||
variant, `swap=0` opt-out. Worked example = this dev machine.
|
||||
- **Verified:** **V0** — read-only commands run live against this machine's
|
||||
real LUKS(`cryptroot`)+btrfs(`@`)+`/swap/swapfile` layout (RAM 31G, fsuuid,
|
||||
`findmnt SOURCE`, `mkswapfile` flags, zram@100 vs swapfile@-1 confirms the
|
||||
design intent). `nix flake check --no-build` green.
|
||||
- **Pending:** slice 2 — Hibernate row notify-on-failure (V1/V2); then the
|
||||
V2 hibernate VM test + V3 laptop.
|
||||
- **Next suggestion:** slice 2 (menu notify-on-failure).
|
||||
|
||||
## 2026-07-10 — #76 hibernation design calls (no commit yet → this bookkeeping)
|
||||
- **Task:** BACKLOG #76 design slice — Bernardo made the open calls.
|
||||
- **Did:** Recon showed the hibernation half is **already built for new
|
||||
|
||||
Reference in New Issue
Block a user