fix(gh): gh モジュールを common/default/server に分割し oberon のビルドを直す - #54
Merged
thinceller merged 1 commit intoAug 23, 2026
Merged
Conversation
oberon (nixpkgs-stable / nixos-25.11) の `build-nixos` が `attribute 'gh-stack' missing` で落ちていた。gh-stack は nixpkgs unstable に しか無く、unstable を使う darwin 2 host では通るが stable の oberon では 評価に失敗する。master から続く既存の問題。 claude-code / fish / git / opencode と同じ common.nix / server.nix の慣習に 合わせて gh モジュールを分割する。 - gh/common.nix: stable にも存在する gh-dash / gh-poi + settings + gh-prism - gh/default.nix: common.nix を import し、darwin 用に gh-stack と gh-pr-graph を追加 (extensions は list なのでマージされる) - gh/server.nix: oberon 用。common.nix だけ - hosts/oberon/home.nix: import 先を gh/server.nix に変更 副次効果として、ローカルサーバを立ててブラウザを開く gh-pr-graph が ヘッドレスな oberon に載らなくなる。これも意図した挙動。 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01QYmZcVLWwWwJ1MvuTSy2xs
thinceller
marked this pull request as ready for review
August 23, 2026 12:57
thinceller
merged commit Aug 23, 2026
5430696
into
claude/herdr-gh-dash-replace-7gncx4
4 checks passed
thinceller
added a commit
that referenced
this pull request
Aug 23, 2026
* feat(gh): gh pr-graph を導入し herdr の gh dash keybind を置き換える gh pr-graph (orangain/gh-pr-graph) は自分が author / assignee / reviewer の PR を横断で集め、base/head ブランチを再帰的にたどって stacked PR の依存関係を グラフとして描く gh 拡張。フラットな PR 一覧では見えないレビュー順や下流の 作業が一目で分かるので、herdr の `prefix+ctrl+p` を gh dash から置き換える。 - nixpkgs 未収録なので nvfetcher + buildGoModule で自前ビルドする (tcmux と同形)。 go.mod に require が無いため vendorHash = null。 - home-manager の programs.gh.extensions は pname をそのまま ~/.local/share/gh/extensions/<pname> に link farm するため、 pname と $out/bin のバイナリ名を "gh-pr-graph" に揃えている。 - gh pr-graph は TUI ではなく 127.0.0.1 にサーバを立ててブラウザを開き、 Ctrl-C まで居座る。popup は session-modal でブラウザ閲覧中ずっと herdr を ブロックしてしまうため、keybind の type は popup ではなく pane にした。 - gh dash 自体は CLI から使えるよう extensions には残す。 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01QYmZcVLWwWwJ1MvuTSy2xs * fix(gh): gh モジュールを common/default/server に分割し oberon のビルドを直す (#54) oberon (nixpkgs-stable / nixos-25.11) の `build-nixos` が `attribute 'gh-stack' missing` で落ちていた。gh-stack は nixpkgs unstable に しか無く、unstable を使う darwin 2 host では通るが stable の oberon では 評価に失敗する。master から続く既存の問題。 claude-code / fish / git / opencode と同じ common.nix / server.nix の慣習に 合わせて gh モジュールを分割する。 - gh/common.nix: stable にも存在する gh-dash / gh-poi + settings + gh-prism - gh/default.nix: common.nix を import し、darwin 用に gh-stack と gh-pr-graph を追加 (extensions は list なのでマージされる) - gh/server.nix: oberon 用。common.nix だけ - hosts/oberon/home.nix: import 先を gh/server.nix に変更 副次効果として、ローカルサーバを立ててブラウザを開く gh-pr-graph が ヘッドレスな oberon に載らなくなる。これも意図した挙動。 Claude-Session: https://claude.ai/code/session_01QYmZcVLWwWwJ1MvuTSy2xs Co-authored-by: Claude Opus 5 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
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.
概要
oberon (NixOS) の CI ジョブ
build-nixosが落ちている問題を直す。#53 に stack した PR(base はclaude/herdr-gh-dash-replace-7gncx4)。直す問題
master でも #53 でも
build-nixosが失敗している:oberon は
nixpkgs-stable(nixos-25.11) を使うが、gh-stackは nixpkgs unstable にしか存在しない。unstable を使う darwin 2 host では通るため、oberon だけが評価に失敗していた。25.11 channel で確認:master 由来の既存の問題で、#53 が持ち込んだものではない(#53 でエラー文言が
undefined variable→attribute missingに変わったのはwith pkgs;を明示的なpkgs.Xに書き換えたためで、原因は同一)。変更内容
claude-code/fish/git/opencodeと同じcommon.nix/server.nixの慣習に合わせて分割した。gh/common.nix(新規)gh-dash/gh-poi+settings+programs.gh-prism.enablegh/default.nixcommon.nixを import し、darwin 用にgh-stackとgh-pr-graphを追加gh/server.nix(新規)common.nixだけ importhosts/oberon/home.nixgh/server.nixに変更programs.gh.extensionsはlistOf packageなので、common.nixとdefault.nixの定義はマージされる。副次効果として、ローカルサーバを立ててブラウザを開く
gh-pr-graphがヘッドレスな oberon に載らなくなる。これも意図した挙動。検証
egress policy により flake input の GitHub tarball が取得できず
nix eval .#darwinConfigurations.../nix build .#nixosConfigurations.oberon...は実行できないため、channel の nixpkgs(unstable / 25.11 の両方)を使って検証している。home-manager の
programs.gh相当のオプション(extensionsはlistOf package)を宣言した最小モジュールに、実際のgh/default.nixとgh/server.nixを食わせてlib.evalModulesした結果:gh-prismdefault.nix)[gh-dash gh-poi gh-stack gh-pr-graph]server.nix)[gh-dash gh-poi]gh-stackを要求しないことを確認(要求していれば eval が失敗する)linkFarmを両方でビルドし、拡張レイアウトを確認。darwin 側は この分割前に feat(gh): gh pr-graph を導入し herdr の gh dash keybind を置き換える #53 で確認したものと同一の store path (kxzfr4d0bg8xqda6bn6hhpmflckk83hp-gh-extensions) になり、darwin に対しては no-op であることが確定したnixfmt --checkが変更した nix ファイルすべてで通るdarwin / oberon 構成の最終的なビルドは CI に任せる。
build-nixosが緑になることがこの PR のゴールなので、結果を見て必要なら追随する。Generated by Claude Code