Skip to content

fix(pi): pin compact-adviser so rebuilds keep it - #47

Closed
Jin-HoMLee wants to merge 18 commits into
kunchenguid:mainfrom
Jin-HoMLee:fm/dotfiles-compact-adviser-pin
Closed

Jin-HoMLee wants to merge 18 commits into
kunchenguid:mainfrom
Jin-HoMLee:fm/dotfiles-compact-adviser-pin

Conversation

@Jin-HoMLee

Copy link
Copy Markdown

probe-pending-body

Jin-HoMLee and others added 18 commits August 17, 2026 17:51
* feat(home): install github-cli

Add gh to home.packages alongside the other everyday CLI tools.

* chore(pi): sync agent-persisted settings

pi writes lastChangelogVersion, defaultProvider, and defaultModel
back into settings.json at runtime via the out-of-store symlink;
committing the current state.

* chore(gitignore): deny-list herdr runtime dir instead of enumerating files

The old rule listed known runtime files one by one (*.log,
session.json, *.sock) and missed .plugins.lock, which showed up
untracked. Ignore everything under home/.config/herdr/ except the
one file we actually track, config.toml, so future runtime files
can't sneak through the same way.
Pi (github.com/earendil-works/pi) stays opt-in and npm-installed per
the README's existing Pi section - this only adds the node runtime
its already-installed shim needs to run, restoring it after
homebrew's zap cleanup removed an undeclared node.

Also bumps the nix-homebrew input (and its nested brew-src) from a
patched Homebrew 6.0.1 to 6.0.18. The old pin threw
'unknown install step: run' on any formula bottle using a newer
Homebrew post-install step format, which is what node's own
dependency chain hit.
Whisper dictation/transcription app, installed via nix-homebrew
since it is not packaged in nixpkgs.
Adds kunchenguid/tap and the baby-menu cask (self-editing menu-bar
app: https://github.com/kunchenguid/baby-menu).

Also sets onActivation.extraEnv.HOMEBREW_NO_REQUIRE_TAP_TRUST=1: since
Homebrew 6.0.0, brew refuses to load casks/formulae from non-official
taps until interactively `brew trust`-ed, and that grant doesn't
reliably reach the internal `brew cleanup` subprocess spawned by
`--force-cleanup` during sudo-driven darwin-rebuild activation. Taps
only reach the Brewfile via a reviewed commit to this file, so
Homebrew's own interactive re-confirmation on top of that is
redundant here.
* feat: install Codex via Homebrew, fix co alias for CLI flag removal

Add the codex cask to configuration.nix, matching claude-code as an
always-latest agent CLI (rather than pinning via nixpkgs), since both
ship weekly-ish and Homebrew's onActivation.autoUpdate keeps them
current on every rebuild.

Also fix the co alias: --full-auto was removed in Codex CLI v0.147.0
(deprecated since v0.128) in favor of explicit --sandbox and
--ask-for-approval flags. Update home.nix and the README reference to
match.

* docs: also list nodejs in the Nix packages README bullet

Caught in code review: the bullet already omitted nodejs, which has
been installed via home.nix since commit 028cef0.
… at xhigh thinking

Syncs Pi's live default provider/model/thinking-level settings back
into the repo.
* feat(home): install Grok CLI from nixpkgs-unstable

The x.ai installer left a manual install under ~/.grok, which never lands on
PATH. Install grok-build declaratively instead, so `grok` comes from the
managed profile.

26.05 has no grok-build, so flake.nix gains a second, narrowly used
nixpkgs-unstable input threaded through specialArgs/extraSpecialArgs. home.nix
imports it with the same nixpkgs policy as the rest of the config, because
grok-build is unfree (`unfreeRedistributable`).

Resolves to grok-build 1.0.13, providing `grok` (and the `agent` symlink) in
home.packages.

* docs(agents): record why grok-build needs the unstable import

The unfree package can only come from a nixpkgs instance instantiated with
the repo's nixpkgs policy; `legacyPackages` and a `pkgs.extend` overlay both
fail the unfree check, which is what a future "simplification" would try.
…guid#37) (#8)

Drop the public git pin from managed Pi settings and README so the remaining npm packages stay declared without documenting a removed installer.

Co-authored-by: Kun Chen <3233006+kunchenguid@users.noreply.github.com>
* fix(pi): prioritize corrected launcher in zsh

* fix(homebrew): declare Handy instead of OpenSuperWhisper
…n-upstream

# Conflicts:
#	home/.pi/agent/settings.json
chore: sync fork with Kun upstream (merge upstream/main, ancestry-only, zero tree diff)
The live Pi settings only had compact-adviser because of an uncommitted
working-tree edit, so a Home Manager rebuild would drop it again.
Declare the pinned npm release in the committed settings and document it
as the third deliberately pinned third-party Pi package.
@Jin-HoMLee

Copy link
Copy Markdown
Author

Opened here by mistake: this change belongs to the fork (Jin-HoMLee/dotfiles), not upstream. Closing in favor of the fork PR.

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for taking an interest in these dotfiles.
This repo is public so you can read it, learn from it, and fork it freely, but it is Kun's personal setup and does not accept pull requests or feature requests.
If you want to adapt something, please fork the repo and make it yours.
If you found a bug, please open a bug report issue instead of sending a patch.
Pull requests are auto-closed here so the repo can stay personal and predictable.

@github-actions github-actions Bot closed this Oct 13, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant