commits
Also looks like flakes should work out of the box
Flake lock file updates:
• Updated input 'emacs':
'github:nix-community/emacs-overlay/a5509c964e73c76676fc23781c146a7ce149e04a' (2026-03-16)
→ 'github:nix-community/emacs-overlay/64b4878d1a328f8968311000245c622092a08684' (2026-03-18)
• Updated input 'emacs/nixpkgs':
'github:NixOS/nixpkgs/5a88de74db0e948139be4b46f9a94d64aa11391c' (2026-03-15)
→ 'github:NixOS/nixpkgs/cda48547b432e8d3b18b4180ba07473762ec8558' (2026-03-17)
• Updated input 'emacs/nixpkgs-stable':
'github:NixOS/nixpkgs/e9f278faa1d0c2fc835bd331d4666b59b505a410' (2026-03-14)
→ 'github:NixOS/nixpkgs/fea3b367d61c1a6592bc47c72f40a9f3e6a53e96' (2026-03-18)
• Updated input 'homeManager':
'github:nix-community/home-manager/ca53f083dbd4c83dd5dca8a3099374708e155c32' (2026-03-16)
→ 'github:nix-community/home-manager/d47357a4c806d18a3e853ad2699eaec3c01622e7' (2026-03-18)
• Updated input 'nixpkgs':
'github:nixos/nixpkgs/5b2c2d84341b2afb5647081c1386a80d7a8d8605' (2026-03-16)
→ 'github:nixos/nixpkgs/cda48547b432e8d3b18b4180ba07473762ec8558' (2026-03-17)
• Updated input 'peonPing':
'github:PeonPing/peon-ping/58164e162bce7b9a7fec398a3b151a2eee6a31d5' (2026-03-16)
→ 'github:PeonPing/peon-ping/73ff76ebab8893d7f2fb321ff48e2197b8fcb3f9' (2026-03-18)
• Updated input 'sops':
'github:Mic92/sops-nix/c469b6885f0dcd5c7c56bd935a0f08dbcd9e79e1' (2026-03-15)
→ 'github:Mic92/sops-nix/8237de83e8200d16fe0c4467b02a1c608ff28044' (2026-03-16)
• Updated input 'stylix':
'github:nix-community/stylix/c4b8e80a1020e09a1f081ad0f98ce804a6e85acf' (2026-02-28)
→ 'github:nix-community/stylix/3f2f9d307fe58c6abe2a16eb9b62c42d53ef5ee1' (2026-03-18)
• Updated input 'tangled':
'git+https://tangled.sh/@tangled.sh/core?ref=refs/heads/master&rev=c516e3533b269a82e818dd67bb398701ca245976' (2026-03-16)
→ 'git+https://tangled.sh/@tangled.sh/core?ref=refs/heads/master&rev=e48a34f1426e191c69547a27ec7dd99331cd3659' (2026-03-18)
• Updated input 'tangled/ibm-plex-mono-src':
'https://github.com/IBM/plex/releases/download/@ibm/plex-mono@1.1.0/ibm-plex-mono.zip?narHash=sha256-OwUmrPfEehLDz0fl2ChYLK8FQM2p0G1%2BEMrGsYEq%2B6g%3D' (2024-11-12)
→ 'https://github.com/IBM/plex/releases/download/@ibm/plex-mono@1.1.0/ibm-plex-mono.zip?narHash=sha256-OwUmrPfEehLDz0fl2ChYLK8FQM2p0G1%2BEMrGsYEq%2B6g%3D' (2024-11-12)
- install 5 peon-ping slash command skills to opencode
- peon-ping-toggle: mute/unmute sounds
- peon-ping-config: update volume, rotation, categories
- peon-ping-use: set voice pack for session
- peon-ping-rename: rename session
- peon-ping-log: log exercise reps for peon trainer
- skills available in all variants
- gitlab-plugin and forge-session-title available to all variants
- oh-my-opencode-slim only in superpowers variant
- oh-my-opencode only in omo variant
- compound variant uses only compound engineering agents/skills
- remove oh-my-opencode from home.packages (no CLI needed)
- build oh-my-opencode-slim, oh-my-opencode, opencode-forge-session-title, and opencode-gitlab-plugin as nix derivations
- use bun to build from source with FOD pattern for node_modules
- symlink all plugins to ~/.config/opencode/plugins/
- remove npm plugin references from plugin arrays
- add oh-my-opencode CLI to home.packages
The compound-engineering-plugin uses CSS color names (blue, yellow,
cyan, purple, violet) that don't match opencode's schema. Opencode
only accepts hex codes or theme names (primary, secondary, accent,
success, warning, error, info).
Add a patched derivation that rewrites invalid color values to valid
theme names before symlinking agent files into ~/.config/opencode.
Fixes: Configuration is invalid at ~/.config/opencode/agents/pr-comment-resolver.md
↳ Invalid hex color format color
Move opencode and gitlab imports from desktop to work layer,
fixing the peon-ping option error on NixOS desktop hosts.
Split theme module into options.nix (theme name + doom theme
mapping) and default.nix (stylix settings). Desktop layer imports
only options.nix to avoid infinite recursion with NixOS stylix.
Standalone home.nix imports the full theme module for stylix.
Use mkDefault for kdeconnect and lgogdownloader enables in the
desktop layer so consumer overrides don't conflict.
Update stale SSH authorized keys hash in default.nix.
Fetch skills from gitlab.com/gitlab-org/ai/skills and install
them as OpenCode skills via xdg.configFile. Currently includes
the glab skill for GitLab workflow automation. Available to all
three opencode variants (superpowers, compound, omo).
Refactor into mkMerge with three variants: superpowers (default,
current behavior), compound (compound-engineering plugin), and
omo (oh-my-openagent). All share common duo model definitions,
peon-ping, agentcraft, and writing-commit-messages skill.
Add duo-chat-gpt-5-2-codex and duo-chat-gpt-5-mini to the
provider model declarations.
Five tasks: create omo config, refactor module with mkMerge and
three variant blocks, verify each variant evaluates correctly.
Three plugin system variants (superpowers, compound engineering,
oh-my-openagent) selectable via a single option. All use GitLab
Duo models and keep peon-ping/agentcraft.
Replace server.nix inline config with home-base import plus mail
module. Remove dead isWork config — servers are never work-related.
Move pandoc from default.nix consumer to the desktop layer so all
desktop consumers (including standalone) get it.
Replace inline home-manager config with imports of home-base,
home-desktop, and conditionally home-gaming. Only desktop-specific
overrides remain (chromium, kbfs, keybase, kdeconnect, swaylock,
extra packages). Remove dead mail.pwFile and isWork config.
Replace duplicated inline config with imports of home-base,
home-desktop, and home-work layers. Only standalone-specific
config remains (stylix, sops, podman, mise, atuin, etc.).
Fixes sops.gnupg.home tilde expansion bug.
Extract shared config from default.nix, server.nix, and home.nix
into composable layers to eliminate duplication. These modules are
not yet imported by any consumer.
The mpv config had prefect-playlist instead of prefetch-playlist.
btop with rocmSupport belongs in the gaming layer, not desktop —
desktop gets plain btop so all desktops have it.
Nine tasks across three chunks: create layer modules, rewrite
consumers, verify with profile diff. Includes complete target
file contents for all new and rewritten files.
The andrew user HM config is duplicated across three files
(default.nix, server.nix, home.nix) with significant drift.
This spec proposes extracting shared config into composable
layers (base, desktop, gaming, work) that each consumer
imports and overrides.
Enable user-level secret management for the standalone
homeConfigurations.andrew by importing sops.homeManagerModules.sops
and configuring GPG-based decryption. Includes an encrypted
placeholder secrets file for future use.
The old afontaine key (5328...C723) has expired. Replace it
with the new key (D152...B317) in .sops.yaml and re-encrypt
all secret files with the updated key group.
Upstream deprecated doom-dashboard, moved ws-butler and
dtrt-indent to a new :editor whitespace module, rewrote
:lang javascript with treesit (removing js2-mode and
rjsx-mode), and removed the org-roam v1 private API.
- Rename :ui doom-dashboard to :ui dashboard
- Add (whitespace +trim +guess) to :editor
- Update jest hooks to js-ts/typescript-ts/tsx-ts modes
- Replace org-roam--get-title-or-slug with v2 DB query
- Remove dead flycheck config (using +flymake)
- Bump doom pin to 370777f (2026-03-16)
Fetches protoss from codyborn/protoss-sounds and witch
doctor from kmelkon/openpeon-dota2 via fetchFromGitHub.
Both added to pack rotation.
The pinned commit lacked support for custom sound packs via
the {name, src} attrset format in installPacks. Unpin and
update to get the new Home Manager module.
Flake lock file updates:
• Updated input 'emacs':
'github:nix-community/emacs-overlay/e9d1e29' (2026-02-04)
→ 'github:nix-community/emacs-overlay/a5509c9' (2026-03-16)
• Updated input 'emacs/nixpkgs':
'github:NixOS/nixpkgs/e6eae2e' (2026-02-03)
→ 'github:NixOS/nixpkgs/5a88de7' (2026-03-15)
• Updated input 'emacs/nixpkgs-stable':
'github:NixOS/nixpkgs/ac62194' (2026-01-02)
→ 'github:NixOS/nixpkgs/e9f278f' (2026-03-14)
• Updated input 'homeManager':
'github:nix-community/home-manager/4fda265' (2026-02-04)
→ 'github:nix-community/home-manager/ca53f08' (2026-03-16)
• Updated input 'nixpkgs':
'github:nixos/nixpkgs/e6eae2e' (2026-02-03)
→ 'github:nixos/nixpkgs/5b2c2d8' (2026-03-16)
• Updated input 'sops':
'github:Mic92/sops-nix/17eea6f' (2026-02-03)
→ 'github:Mic92/sops-nix/c469b68' (2026-03-15)
• Updated input 'sops/nixpkgs':
'github:NixOS/nixpkgs/6308c3b' (2026-01-30)
→ 'github:NixOS/nixpkgs/e802360' (2026-03-14)
• Updated input 'stylix':
'github:nix-community/stylix/fa45bf2' (2026-02-17)
→ 'github:nix-community/stylix/c4b8e80' (2026-02-28)
• Updated input 'tangled':
'git+https://tangled.sh/@tangled.sh/core?ref=refs/heads/master&rev=5b627fe9a35eb406ec33a6f9f4cf173b61e1b94c' (2026-03-14)
→ 'git+https://tangled.sh/@tangled.sh/core?ref=refs/heads/master&rev=c516e3533b269a82e818dd67bb398701ca245976' (2026-03-16)
• Updated input 'tangled/ibm-plex-mono-src':
'https://github.com/IBM/plex/releases/download/@ibm/plex-mono@1.1.0/ibm-plex-mono.zip' (2024-11-12)
→ 'https://github.com/IBM/plex/releases/download/@ibm%2Fplex-mono@1.1.0/ibm-plex-mono.zip' (2024-11-12)
stylix, fuzzel, river
also fix up all the trace warnings.
Flake lock file updates:
• Updated input 'emacs':
'github:nix-community/emacs-overlay/a5509c964e73c76676fc23781c146a7ce149e04a' (2026-03-16)
→ 'github:nix-community/emacs-overlay/64b4878d1a328f8968311000245c622092a08684' (2026-03-18)
• Updated input 'emacs/nixpkgs':
'github:NixOS/nixpkgs/5a88de74db0e948139be4b46f9a94d64aa11391c' (2026-03-15)
→ 'github:NixOS/nixpkgs/cda48547b432e8d3b18b4180ba07473762ec8558' (2026-03-17)
• Updated input 'emacs/nixpkgs-stable':
'github:NixOS/nixpkgs/e9f278faa1d0c2fc835bd331d4666b59b505a410' (2026-03-14)
→ 'github:NixOS/nixpkgs/fea3b367d61c1a6592bc47c72f40a9f3e6a53e96' (2026-03-18)
• Updated input 'homeManager':
'github:nix-community/home-manager/ca53f083dbd4c83dd5dca8a3099374708e155c32' (2026-03-16)
→ 'github:nix-community/home-manager/d47357a4c806d18a3e853ad2699eaec3c01622e7' (2026-03-18)
• Updated input 'nixpkgs':
'github:nixos/nixpkgs/5b2c2d84341b2afb5647081c1386a80d7a8d8605' (2026-03-16)
→ 'github:nixos/nixpkgs/cda48547b432e8d3b18b4180ba07473762ec8558' (2026-03-17)
• Updated input 'peonPing':
'github:PeonPing/peon-ping/58164e162bce7b9a7fec398a3b151a2eee6a31d5' (2026-03-16)
→ 'github:PeonPing/peon-ping/73ff76ebab8893d7f2fb321ff48e2197b8fcb3f9' (2026-03-18)
• Updated input 'sops':
'github:Mic92/sops-nix/c469b6885f0dcd5c7c56bd935a0f08dbcd9e79e1' (2026-03-15)
→ 'github:Mic92/sops-nix/8237de83e8200d16fe0c4467b02a1c608ff28044' (2026-03-16)
• Updated input 'stylix':
'github:nix-community/stylix/c4b8e80a1020e09a1f081ad0f98ce804a6e85acf' (2026-02-28)
→ 'github:nix-community/stylix/3f2f9d307fe58c6abe2a16eb9b62c42d53ef5ee1' (2026-03-18)
• Updated input 'tangled':
'git+https://tangled.sh/@tangled.sh/core?ref=refs/heads/master&rev=c516e3533b269a82e818dd67bb398701ca245976' (2026-03-16)
→ 'git+https://tangled.sh/@tangled.sh/core?ref=refs/heads/master&rev=e48a34f1426e191c69547a27ec7dd99331cd3659' (2026-03-18)
• Updated input 'tangled/ibm-plex-mono-src':
'https://github.com/IBM/plex/releases/download/@ibm/plex-mono@1.1.0/ibm-plex-mono.zip?narHash=sha256-OwUmrPfEehLDz0fl2ChYLK8FQM2p0G1%2BEMrGsYEq%2B6g%3D' (2024-11-12)
→ 'https://github.com/IBM/plex/releases/download/@ibm/plex-mono@1.1.0/ibm-plex-mono.zip?narHash=sha256-OwUmrPfEehLDz0fl2ChYLK8FQM2p0G1%2BEMrGsYEq%2B6g%3D' (2024-11-12)
- install 5 peon-ping slash command skills to opencode
- peon-ping-toggle: mute/unmute sounds
- peon-ping-config: update volume, rotation, categories
- peon-ping-use: set voice pack for session
- peon-ping-rename: rename session
- peon-ping-log: log exercise reps for peon trainer
- skills available in all variants
- build oh-my-opencode-slim, oh-my-opencode, opencode-forge-session-title, and opencode-gitlab-plugin as nix derivations
- use bun to build from source with FOD pattern for node_modules
- symlink all plugins to ~/.config/opencode/plugins/
- remove npm plugin references from plugin arrays
- add oh-my-opencode CLI to home.packages
The compound-engineering-plugin uses CSS color names (blue, yellow,
cyan, purple, violet) that don't match opencode's schema. Opencode
only accepts hex codes or theme names (primary, secondary, accent,
success, warning, error, info).
Add a patched derivation that rewrites invalid color values to valid
theme names before symlinking agent files into ~/.config/opencode.
Fixes: Configuration is invalid at ~/.config/opencode/agents/pr-comment-resolver.md
↳ Invalid hex color format color
Move opencode and gitlab imports from desktop to work layer,
fixing the peon-ping option error on NixOS desktop hosts.
Split theme module into options.nix (theme name + doom theme
mapping) and default.nix (stylix settings). Desktop layer imports
only options.nix to avoid infinite recursion with NixOS stylix.
Standalone home.nix imports the full theme module for stylix.
Use mkDefault for kdeconnect and lgogdownloader enables in the
desktop layer so consumer overrides don't conflict.
Update stale SSH authorized keys hash in default.nix.
Refactor into mkMerge with three variants: superpowers (default,
current behavior), compound (compound-engineering plugin), and
omo (oh-my-openagent). All share common duo model definitions,
peon-ping, agentcraft, and writing-commit-messages skill.
Add duo-chat-gpt-5-2-codex and duo-chat-gpt-5-mini to the
provider model declarations.
Upstream deprecated doom-dashboard, moved ws-butler and
dtrt-indent to a new :editor whitespace module, rewrote
:lang javascript with treesit (removing js2-mode and
rjsx-mode), and removed the org-roam v1 private API.
- Rename :ui doom-dashboard to :ui dashboard
- Add (whitespace +trim +guess) to :editor
- Update jest hooks to js-ts/typescript-ts/tsx-ts modes
- Replace org-roam--get-title-or-slug with v2 DB query
- Remove dead flycheck config (using +flymake)
- Bump doom pin to 370777f (2026-03-16)
Flake lock file updates:
• Updated input 'emacs':
'github:nix-community/emacs-overlay/e9d1e29' (2026-02-04)
→ 'github:nix-community/emacs-overlay/a5509c9' (2026-03-16)
• Updated input 'emacs/nixpkgs':
'github:NixOS/nixpkgs/e6eae2e' (2026-02-03)
→ 'github:NixOS/nixpkgs/5a88de7' (2026-03-15)
• Updated input 'emacs/nixpkgs-stable':
'github:NixOS/nixpkgs/ac62194' (2026-01-02)
→ 'github:NixOS/nixpkgs/e9f278f' (2026-03-14)
• Updated input 'homeManager':
'github:nix-community/home-manager/4fda265' (2026-02-04)
→ 'github:nix-community/home-manager/ca53f08' (2026-03-16)
• Updated input 'nixpkgs':
'github:nixos/nixpkgs/e6eae2e' (2026-02-03)
→ 'github:nixos/nixpkgs/5b2c2d8' (2026-03-16)
• Updated input 'sops':
'github:Mic92/sops-nix/17eea6f' (2026-02-03)
→ 'github:Mic92/sops-nix/c469b68' (2026-03-15)
• Updated input 'sops/nixpkgs':
'github:NixOS/nixpkgs/6308c3b' (2026-01-30)
→ 'github:NixOS/nixpkgs/e802360' (2026-03-14)
• Updated input 'stylix':
'github:nix-community/stylix/fa45bf2' (2026-02-17)
→ 'github:nix-community/stylix/c4b8e80' (2026-02-28)
• Updated input 'tangled':
'git+https://tangled.sh/@tangled.sh/core?ref=refs/heads/master&rev=5b627fe9a35eb406ec33a6f9f4cf173b61e1b94c' (2026-03-14)
→ 'git+https://tangled.sh/@tangled.sh/core?ref=refs/heads/master&rev=c516e3533b269a82e818dd67bb398701ca245976' (2026-03-16)
• Updated input 'tangled/ibm-plex-mono-src':
'https://github.com/IBM/plex/releases/download/@ibm/plex-mono@1.1.0/ibm-plex-mono.zip' (2024-11-12)
→ 'https://github.com/IBM/plex/releases/download/@ibm%2Fplex-mono@1.1.0/ibm-plex-mono.zip' (2024-11-12)