- Auth password uses env file format for systemd EnvironmentFile
- SSH key is mounted as a file at /secrets/ssh_key in container
- Fixes multi-line SSH key parsing issue in environment files
- Update codex PR patch hash
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Replace manual forEachUser pattern with built-in sharedModules for
applying config to all home-manager users. Add automatic garbage
collection of old generations (weekly, older than 7 days) and remove
the now-unnecessary expire-home-manager-generations justfile recipe.
Also update codex PR patch hash (upstream patch was modified).
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Rename imalison:reschedule-past-to-today to org-reschedule-past-to-today
- Keep old name as alias for backwards compatibility
- Register function in org-agenda-api-exposed-functions for API access
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add nixpkgs PR 483705 to bump codex from 0.89.0 to 0.92.0
- Disable overlay version overrides in favor of PR patches
- Replace deprecated pkgs.system with pkgs.stdenv.hostPlatform.system
- Replace deprecated xfce.thunar with thunar
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Add NixOS module to host org-agenda-api container on railbird-sf:
- org-agenda-api-host.nix: New module with nginx reverse proxy and ACME
- nginx configured for rbsf.tplinkdns.com with automatic TLS
- Container runs on port 51847 (random high port)
- Supports nix-built container images via imageFile option
Configure railbird-sf to use the new module:
- Build org-agenda-api container from flake
- Pass container to machine config via specialArgs
- Set up agenix secret for container environment
Note: Requires creating secrets file with AUTH_PASSWORD and
GIT_SSH_PRIVATE_KEY environment variables.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Remove clipit config and helper scripts
- Add greenclip service and rofi integration
- Update xmonad keybinding to use rofi_clipboard.sh
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Move skill from global ~/.claude/skills to project-local .claude/skills
so it's version controlled with the dotfiles.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
The service was failing because network-online.target is reached before
network is actually online (NetworkManager-wait-online is disabled to
avoid boot hangs). Remove the service from multi-user.target.wants and
let only the timer trigger it, which already has a 30s startup delay.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Fix poetry pbs-installer version constraint issue with dontCheckRuntimeDeps
- Comment out codex override (using nixpkgs version)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Configure Hyprland to use the hy3 plugin for dynamic tiling similar to
XMonad. Uses official Hyprland and hy3 flakes pinned to v0.53.0 for
proper plugin compatibility (nixpkgs packaging had header issues).
Key changes:
- Add hyprland and hy3 flake inputs with version pinning
- Rewrite hyprland.conf with hy3 layout and XMonad-like keybindings
- Add helper scripts for window management (bring, replace, gather, etc.)
- WASD directional navigation using hy3:movefocus/movewindow
- Tab groups, horizontal/vertical splits via hy3:makegroup
- Scratchpads via Hyprland special workspaces
Also removes org-agenda-api flake integration (moved elsewhere).
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Container construction moved to colonelpanic-org-agenda-api repo.
This flake now only exports org-agenda-custom-config (tangled files).
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Fixes state change logging (LOGBOOK entries) not being created in
non-interactive contexts.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Fixes position drift issue where cached positions become stale
after todo updates. API now falls back to title matching.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
The org-schedule advice calls imalison:shared-org-file-p which uses
file-truename on imalison:shared-org-dir. When this var is nil (as in
the container), it causes 'Wrong type argument: arrayp, nil' error.
Override the function after loading tangled config to check for nil first.
straight.el is not available in the minimal container Emacs,
so we need to remove :straight nil and :straight t from
use-package declarations in the tangled config files.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>