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>
- Introduced a new module for a11ywatch with Podman support, creating a bridge network and defining backend and frontend containers.
- Configured Nginx to serve the a11ywatch application with SSL and ACME support.
- Added user and group configurations for a11ywatch.
- Created a systemd service to ensure the Podman network exists on boot.
Implement Firefox Container Controller extension and host
- Added a module for the Firefox Container Controller extension, allowing installation via Nix.
- Created a native messaging host for the extension to communicate with the container controller.
- Included CLI helpers to enqueue commands for showing and hiding containers.
Enable fingerprint authentication in PAM
- Configured fingerprint authentication for login, sudo, and swaylock services.
Setup Raspberry Pi OS image creation script
- Developed a script to create a read-only Raspberry Pi OS Lite image with Snapcast client.
- Included configuration for Wi-Fi, hostname, and Snapcast server.
- Implemented user and group setup for Snapcast client and ensured necessary services are enabled.
Document Raspberry Pi Zero W setup instructions
- Added detailed instructions for configuring Raspberry Pi OS on Zero W, including disabling unused services and setting up Snapcast client.
Create test configuration script for NixOS
- Implemented a script to perform dry-builds for NixOS configurations, allowing for easy validation of host configurations.