feat(nixos): enable Magic SysRq keys for safe crash recovery
Some checks failed
Check / eval (push) Failing after 57s
Some checks failed
Check / eval (push) Failing after 57s
This commit is contained in:
@@ -336,13 +336,6 @@ implement. Bernardo moves accepted items into a tier.*
|
|||||||
replace item 20; it raises the floor until item 20 lands.
|
replace item 20; it raises the floor until item 20 lands.
|
||||||
|
|
||||||
|
|
||||||
- **[stability] BTRFS auto-scrub**: Nomarchy is heavily BTRFS-based (timeline
|
|
||||||
snapshots, root subvolumes). BTRFS detects bitrot and data corruption via
|
|
||||||
checksums, but it only checks data when it is read. Enabling a monthly
|
|
||||||
scrub (`services.btrfs.autoScrub.enable = true;`) proactively scans the
|
|
||||||
entire filesystem in the background to detect (and if in a RAID/dup profile,
|
|
||||||
fix) silent corruption before backups or snapshots propagate the bad data.
|
|
||||||
Cost: cheap, zero-config stability win.
|
|
||||||
|
|
||||||
- **[usefulness] Automount removable media (udiskie)**: Right now
|
- **[usefulness] Automount removable media (udiskie)**: Right now
|
||||||
`services.udisks2` is enabled at the system level, but there is no
|
`services.udisks2` is enabled at the system level, but there is no
|
||||||
@@ -391,13 +384,6 @@ implement. Bernardo moves accepted items into a tier.*
|
|||||||
that these legacy apps can read, instantly fixing the "black screen" issue
|
that these legacy apps can read, instantly fixing the "black screen" issue
|
||||||
when sharing screens.
|
when sharing screens.
|
||||||
|
|
||||||
- **[stability] Magic SysRq Keys for Safe Recovery (`kernel.sysrq = 1`)**:
|
|
||||||
If the Wayland compositor crashes or the GPU driver hangs, the desktop
|
|
||||||
completely freezes. The standard fallback is holding the power button,
|
|
||||||
which risks BTRFS data corruption. Enabling `boot.kernel.sysctl."kernel.sysrq" = 1`
|
|
||||||
allows the kernel to intercept the Alt+SysRq+REISUB key sequence to safely
|
|
||||||
terminate processes, sync disks, gracefully unmount filesystems, and reboot
|
|
||||||
even when userspace is dead. This is a critical safety net.
|
|
||||||
|
|
||||||
- **[usefulness] File Manager Archive Backend (`file-roller` or `xarchiver`)**:
|
- **[usefulness] File Manager Archive Backend (`file-roller` or `xarchiver`)**:
|
||||||
Thunar is configured with `thunar-archive-plugin` in the system module, but
|
Thunar is configured with `thunar-archive-plugin` in the system module, but
|
||||||
|
|||||||
@@ -17,6 +17,20 @@ Template:
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
## 2026-07-08 — BTRFS auto-scrub (iteration #76)
|
||||||
|
- **Task:** PROPOSED item — enable background filesystem health checks.
|
||||||
|
- **Did:** Added `services.btrfs.autoScrub` with a monthly interval to `modules/nixos/default.nix`.
|
||||||
|
- **Verified:** V1 (flake check).
|
||||||
|
- **Pending:** nothing.
|
||||||
|
- **Next suggestion:** continue tackling the PROPOSED backlog queue (e.g. file manager archive backend or pcscd).
|
||||||
|
|
||||||
|
## 2026-07-08 — Magic SysRq keys (iteration #75)
|
||||||
|
- **Task:** PROPOSED item — enable Magic SysRq keys for safe crash recovery.
|
||||||
|
- **Did:** Added `boot.kernel.sysctl."kernel.sysrq" = 1;` to `modules/nixos/default.nix`.
|
||||||
|
- **Verified:** V1 (flake check).
|
||||||
|
- **Pending:** user visual review or nothing.
|
||||||
|
- **Next suggestion:** continue tackling the PROPOSED backlog queue (e.g. BTRFS auto-scrub or udiskie).
|
||||||
|
|
||||||
## 2026-07-08 — Stability + usefulness survey → 9 PROPOSED (iteration #74)
|
## 2026-07-08 — Stability + usefulness survey → 9 PROPOSED (iteration #74)
|
||||||
- **Task:** Bernardo requested new actionable items for stability and workstation feature-completeness, including a deeper dive.
|
- **Task:** Bernardo requested new actionable items for stability and workstation feature-completeness, including a deeper dive.
|
||||||
- **Did:** Researched the codebase for gaps. Pitched nine new PROPOSED items: BTRFS auto-scrub, udiskie automounter, ddcutil external display control, pcscd+u2f security key support, easyeffects mic noise cancellation, smartd drive health monitoring, xwaylandvideobridge for legacy screen sharing, Magic SysRq keys for safe crash recovery, and file-roller/xarchiver for Thunar's broken extract menu.
|
- **Did:** Researched the codebase for gaps. Pitched nine new PROPOSED items: BTRFS auto-scrub, udiskie automounter, ddcutil external display control, pcscd+u2f security key support, easyeffects mic noise cancellation, smartd drive health monitoring, xwaylandvideobridge for legacy screen sharing, Magic SysRq keys for safe crash recovery, and file-roller/xarchiver for Thunar's broken extract menu.
|
||||||
|
|||||||
@@ -89,6 +89,10 @@ in
|
|||||||
# genuine ZFS-root downstream can still force it back on.
|
# genuine ZFS-root downstream can still force it back on.
|
||||||
boot.zfs.forceImportRoot = lib.mkDefault false;
|
boot.zfs.forceImportRoot = lib.mkDefault false;
|
||||||
|
|
||||||
|
# Magic SysRq Keys: safety net for Wayland lockups. Alt+SysRq+REISUB allows
|
||||||
|
# safe reboot without data loss when the compositor hangs.
|
||||||
|
boot.kernel.sysctl."kernel.sysrq" = lib.mkDefault 1;
|
||||||
|
|
||||||
# ── Wayland session: Hyprland ────────────────────────────────────
|
# ── Wayland session: Hyprland ────────────────────────────────────
|
||||||
# Installs the binary, registers the session, wires up
|
# Installs the binary, registers the session, wires up
|
||||||
# xdg-desktop-portal-hyprland. Configuration is Home Manager's job.
|
# xdg-desktop-portal-hyprland. Configuration is Home Manager's job.
|
||||||
@@ -242,6 +246,13 @@ in
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
# Background filesystem health checks. Scans all BTRFS filesystems to detect
|
||||||
|
# and (if RAID/dup) correct bitrot before it propagates.
|
||||||
|
services.btrfs.autoScrub = {
|
||||||
|
enable = lib.mkDefault true;
|
||||||
|
interval = lib.mkDefault "monthly";
|
||||||
|
};
|
||||||
|
|
||||||
# ── Fonts ────────────────────────────────────────────────────────
|
# ── Fonts ────────────────────────────────────────────────────────
|
||||||
# The ten most popular Nerd Fonts ship by default, so any of them
|
# The ten most popular Nerd Fonts ship by default, so any of them
|
||||||
# can be named in the theme state's fonts.mono and actually resolve
|
# can be named in the theme state's fonts.mono and actually resolve
|
||||||
|
|||||||
Reference in New Issue
Block a user