blumeops/nixos/ringtail
Erich Blume 9829a6f971 Add screen lock and idle management to ringtail (#211)
## Summary
- Configure **swayidle** to lock screen (swaylock) after 15 minutes of inactivity
- Turn off display (DPMS) after 60 minutes, auto-restore on activity
- **swaylock** themed with Catppuccin Macchiato to match existing Sway config
- Add `Mod4+l` keybinding for manual screen lock
- Add PAM service for swaylock authentication
- Disable system suspend/hibernate entirely (workstation should never sleep)

## What changes
All changes in `nixos/ringtail/configuration.nix`:
- `security.pam.services.swaylock` — required for swaylock to authenticate on NixOS
- `systemd.sleep.extraConfig` — blocks all sleep/hibernate modes
- `programs.swaylock` (home-manager) — lock screen appearance config
- `services.swayidle` (home-manager) — idle timeout daemon with lock + DPMS events
- New keybinding `Mod4+l` for manual lock

## Deployment and Testing
- [ ] `mise run provision-ringtail`
- [ ] Verify swayidle is running: `systemctl --user status swayidle`
- [ ] Test manual lock with `Super+l`
- [ ] Verify display DPMS off after idle (can lower timeout temporarily to test)
- [ ] Confirm machine does not suspend: `systemctl status sleep.target`

Reviewed-on: https://forge.ops.eblu.me/eblume/blumeops/pulls/211
2026-02-19 06:46:37 -08:00
..
configuration.nix Add screen lock and idle management to ringtail (#211) 2026-02-19 06:46:37 -08:00
disk-config.nix Add NixOS configuration for ringtail workstation (#207) 2026-02-18 08:24:25 -08:00
flake.lock Polish ringtail NixOS config and add documentation (#208) 2026-02-18 17:53:47 -08:00
flake.nix Polish ringtail NixOS config and add documentation (#208) 2026-02-18 17:53:47 -08:00
hardware-configuration.nix Add NixOS configuration for ringtail workstation (#207) 2026-02-18 08:24:25 -08:00
k3s-registries.yaml Add k3s, 1Password Connect, and systemd nix-container-builder to ringtail (#209) 2026-02-18 21:15:30 -08:00