Implement AVIF image content negotiation with WebP fallback for
cloonar.dev website. Browser will receive AVIF if supported and
available, otherwise WebP, falling back to original JPEG/PNG.
- Add AVIF-first content negotiation in image location block
- Maintain existing WebP fallback logic
- Include .avif in long-term cache headers (365d)
- Add Vary: Accept header for proper CDN/browser caching
AVIF files should be placed at /avif/$request_uri.avif to be served.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Add BufReadPre autocmd to set filetype=yaml before buffer is loaded,
ensuring syntax highlighting works immediately when opening encrypted
sops files. Also updated BufReadPost to unconditionally set yaml
filetype after decryption.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
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>
Electron 38 has built-in Wayland auto-detection. Even without
ELECTRON_OZONE_PLATFORM_HINT, it detects WAYLAND_DISPLAY and tries
to use Wayland, triggering the empty window bug in Signal Desktop.
Explicitly force X11/XWayland mode with --ozone-platform=x11 flag
to prevent auto-detection and fix the empty window issue.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>