Commits
Set OPENCROW_HEARTBEAT_INTERVAL=10m. Bot uses nix run nixpkgs#notmuch
for mail indexing — no extra packages needed in the config.
All internet aliases now redirect to both lass@green.r and the
local bot user. Mail is delivered to /home/bot/Mail in Maildir
format via the local_user router.
Use the gomuks v0.2601.0 codebase (cmd/gomuks-terminal) instead of the
abandoned v0.3.1 TUI. This version uses mautrix with built-in goolm,
a pure-Go olm replacement, avoiding the insecure and deprecated libolm
C library entirely. E2EE works without CGO.
When SSHing into a machine with existing tmux sessions, show an fzf
picker instead of always creating a new session. The picker shows
session name, window count, creation time, and attach status.
- Preview pane shows the current content of each session (via capture-pane)
- DEL key kills the highlighted session and refreshes the list
- Selecting a session attaches to it
- Selecting '>>> new session <<<' or pressing ESC creates a new one
- Local terminals are unaffected, only triggers when SSH_CLIENT is set
Add SABnzbd as Usenet download client alongside Transmission for torrents.
Radarr and Sonarr can now use both download methods.
- Add transmission-gc timer to remove completed torrents after ratio >= 5.0
or age >= 30 days, deleting files to free disk space
- Enable ratio-limit and seed-queue in transmission settings
- Fix transmission-watcher to check service state before restarting,
preventing restart loops during startup
The session keyring (@s) wasn't persisting keys when accessed from
systemd user services. Switch to user keyring (@u) which is shared
across all processes for the same UID.
Fix "too many open files" error by setting LimitNOFILE=65536
- Python asyncio daemon subscribing to sway IPC events
- User configs in ~/workspaces/<name>.json for hooks and directories
- Declarative NixOS module with per-field config merging
- Shell hook for auto-cd in new terminals
- ruff/mypy checks integrated into package build
- Click power graph to cycle through low/normal/high profiles
- Tooltip shows current TDP and profile name
- Add sudoers rule for passwordless ryzenadj
- Use state file since ryzenadj -i doesn't work on Strix Point
Replaces the inline set_tdp script from aergia with a reusable tool
supporting low/normal/high presets and custom wattage with burst limits.
- use session keyring (@s) instead of user keyring (@u) for caching
- use keyctl padd instead of keyctl add to avoid PIN in /proc/*/cmdline
- make keyctl timeout failures non-fatal
- reject empty PIN input
- "Clear cache" falls through to re-prompt instead of aborting
- integrate with pass wrapper via maybe_set_tpm_pin
- apply same keyring and security fixes to tools.pinentry-rofi
When SSHing into a machine with existing tmux sessions, show an fzf
picker instead of always creating a new session. The picker shows
session name, window count, creation time, and attach status.
- Preview pane shows the current content of each session (via capture-pane)
- DEL key kills the highlighted session and refreshes the list
- Selecting a session attaches to it
- Selecting '>>> new session <<<' or pressing ESC creates a new one
- Local terminals are unaffected, only triggers when SSH_CLIENT is set
- use session keyring (@s) instead of user keyring (@u) for caching
- use keyctl padd instead of keyctl add to avoid PIN in /proc/*/cmdline
- make keyctl timeout failures non-fatal
- reject empty PIN input
- "Clear cache" falls through to re-prompt instead of aborting
- integrate with pass wrapper via maybe_set_tpm_pin
- apply same keyring and security fixes to tools.pinentry-rofi