fix(nb): resolve keyboard/touchpad and btrfs read-only issues after suspend

This commit addresses two critical suspend/resume issues on the nb host:

1. Keyboard and touchpad not working after suspend
   - Added i2c_hid_acpi kernel module
   - Created systemd service to reload the module after resume
   - Excluded input devices from TLP USB autosuspend

2. /nix/persist becoming read-only after suspend
   - Moved swap from /nix/persist to dedicated @swap subvolume
   - Added systemd service to remount /nix/persist if needed
   - Separated swap from persistent data to prevent btrfs corruption

Changes:
- Created hosts/nb/modules/suspend-fixes.nix with resume hooks
- Updated swap path from /nix/persist/swapfile to /swap/swapfile
- Added /swap filesystem mount for @swap btrfs subvolume
- Added USB_EXCLUDE_INPUT=1 to TLP configuration

Note: Manual step required before deployment - create @swap subvolume.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
2025-10-19 16:43:02 +02:00
parent 5a35cd04a6
commit 28ed3fcf74
4 changed files with 45 additions and 1 deletions

View File

@@ -30,6 +30,7 @@ in {
./modules/ollama.nix
./modules/qdrant.nix
./modules/battery-brightness.nix
./modules/suspend-fixes.nix
./cachix.nix
./users
@@ -79,7 +80,7 @@ in {
services.irqbalance.enable = false;
swapDevices = [ {
device = "/nix/persist/swapfile";
device = "/swap/swapfile";
size = 96 * 1024; # Size is in megabytes (96GB for full hibernation with 92GB RAM)
} ];