Skip to content

chore: sync fork with Kun upstream (ancestry-only merge, zero tree diff) - #46

Closed
Jin-HoMLee wants to merge 16 commits into
kunchenguid:mainfrom
Jin-HoMLee:fm/dotfiles-sync-kun-upstream
Closed

Jin-HoMLee wants to merge 16 commits into
kunchenguid:mainfrom
Jin-HoMLee:fm/dotfiles-sync-kun-upstream

Conversation

@Jin-HoMLee

Copy link
Copy Markdown

What this does

Records the fork's upstream ancestry after PR 10 by merging the configured Kun upstream into this branch as a merge commit.

No rebase, no force-push, no squash: the fork's existing commits are untouched.

Why the diff is empty

The single upstream-only commit is already represented in the fork by 040ed56 (Remove the experimental Pi OpenAI server compaction package. (#37) (#8)). Merging it therefore adds no substantive tree change.

Verified:

  • git merge-base --is-ancestor upstream/main HEAD → upstream/main is a recorded ancestor of this branch.
  • git diff origin/main HEAD → empty; both trees are 25496b85.

⚠️ Merge method: MUST be a merge commit

This PR must ultimately be merged with GitHub's "Create a merge commit" method — NOT squash and NOT rebase.

Squashing or rebasing would discard the second parent of fda853d and lose the recorded upstream/main ancestry this PR exists to establish. The zero-diff content is intentional; the value of this PR is the parentage.

Conflict resolution note

home/.pi/agent/settings.json conflicted (both sides removed the compaction package pin, but the fork additionally carries local lastChangelogVersion / defaultProvider / defaultModel / defaultThinkingLevel fields). Resolved by keeping the fork's version, per the review decision — upstream's package-list change was already present, and upstream's removal of the local default fields was deliberately not taken. Resolution was verified to be byte-identical to origin/main, which is why the tree diff above is empty.

No Nix rebuild, no live-machine change, and no merge of this PR are performed here.

Jin-HoMLee and others added 16 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
@github-actions github-actions Bot closed this Oct 9, 2026

@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.

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