- 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>
- 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>
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>
- Change org-agenda-api input from path:../dotfiles/emacs.d/straight/repos/org-agenda-api to github:colonelpanic8/org-agenda-api
- Refactor org-agenda package building to separate org-agenda-api.nix file
- Update flake.lock with new input and fix hercules-ci-effects metadata mismatch
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Set imalison:org-dir and imalison:shared-org-dir for container paths
- Load org-config-preface.el, org-config-custom.el, org-config-config.el
- This properly sets org-agenda-files and org-agenda-custom-commands
- Add capture templates for API
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add simplified org-agenda-custom-commands for API (n, s, i, w, h, M)
- Add org-agenda-api-capture-templates (gtd-todo, scheduled-todo, deadline-todo)
- Templates use INBOX state and include CREATED property
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Export org-agenda-api-container with org settings baked in
- Tangle org-config.org and convert to setq format
- Container can be used by colonelpanic-org-agenda-api for Fly.io deployment
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>