Repository navigation
Drop Ghostty, adopt Herdr, pull skills via flake inputs - #10
Merged
Merged
Conversation
4cef4ec dropped the statusLine block from .claude/settings.json because it pointed at a script that was neither present nor tracked. The statusline that replaced it lived in an untracked clone under ~/.claude/statusline, so it existed on this machine only. Vendors statusline.sh from daniel3303/ClaudeCodeStatusLine at 5da9695 and links it to ~/.claude/statusline.sh. settings.json stays unmanaged, so each machine still needs: "statusLine": { "type": "command", "command": "bash ~/.claude/statusline.sh" }
Skills from other repos were installed by hand into ~/.claude/skills, where nothing recorded their source or version. Two had already rotted into dangling links. nix/skills.nix now lists skills by flake input, and nix/modules/skills.nix links each one into ~/.claude/skills and ~/.codex/skills. Every repo is a non-flake input named skills-<x>, pinned in flake.lock and moved with `nix flake update skills-<x>`. An entry names the skills to take, or omits the list to take every directory with a SKILL.md. A misspelt name fails eval instead of producing a dangling link. These are store paths, not out-of-store links like the rest of home.file: nothing should write to a third-party skill, and a read-only copy is what holds it at the locked revision. Starts with: - herdr from herdrdev/herdr, pinned to v0.9.1 to match the installed binary; main documents flags that have not shipped yet - grill-me and grilling from mattpocock/skills v1.3.1; grill-me only invokes grilling - retro, moved out of home/.config/ai/skills into skippednote/skills, so my own skills install the same way as everyone else's
Otherwise the clash surfaces as a home-manager conflict on the link path, which names neither entry.
Replaces a hand-installed link that had been dangling since ~/.agents/skills was emptied. It calls codebase-design, domain-modeling and grilling, so the first two come with it; grilling is already linked.
Moves only the skills-* inputs and switches, so a push to skippednote/skills can be picked up without a full nix flake update.
nixpkgs and nixpkgs-agents move to 39ad350, home-manager to 6b88c12 and openspec to 9111a76. That takes herdr to 0.9.3, so the herdr skill moves to the v0.9.3 tag with it. disktree 0.10.1 -> 0.11.0. nixpkgs has since gained its own disktree, but it is Linux-only and refuses to evaluate on aarch64-darwin, so the local package stays and its header now says so. atuin stays on the local 18.23.0 package: nixpkgs now has rustc 1.98 but still ships atuin 18.21.0, which would be a downgrade.
herdr-gpui is a native client for the herdr daemon. Upstream's supported macOS route is their tap's cask: a signed, notarized universal app. The tap is declared alongside it because cleanup = "zap" untaps anything unlisted.
Herdr.app attaches to a herdr daemon over SSH, so each machine it manages needs one. herdr was in the dev profile, which skippedbook does not get.
Herdr.app is the terminal now. Removes the Ghostty cask, its config and link, and the .zshrc fallback for hosts without the xterm-ghostty terminfo, which only Ghostty set. herdr itself stays: the same binary is the TUI and the daemon Herdr.app attaches to, so only the `h` alias that opened the TUI goes.
Set from Herdr.app's settings, which write the shared theme through the config.toml link. Also keeps the status_indicators change the app made earlier, and ignores the lock file it leaves beside config.toml.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Rolls up what's accumulated on
drop-ghostty:nix/skills.nixlists which skills to link from which repos;nix/modules/skills.nixresolves them read-only throughinputs.skills-*and symlinks each under both~/.claude/skillsand~/.codex/skills. Repos checked in so far:skippednote/skills(retro,slack-send),mattpocock/skills(improve-codebase-architecture,codebase-design,domain-modeling,grill-me,grilling),herdrdev/herdr(herdr).make skills-updatemoves only theskills-*inputs.penso/tap, package it on every machine, drop Ghostty and the TUI alias, switch to solarized-light.home/; ffmpeg in mise; actionlint in mise with current project pins; Zed side-by-side diffs; zshrc tweaks; never trace scripts that handle credentials.nix flake updateacross the board plus follow-on bumps alongside each package addition.Verified:
make switchon skippednote host;slack-send,retro,herdrall resolve through~/.claude/skills/<name>to their pinned store paths; Herdr GUI launches; Ghostty gone from Applications.