Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
27 changes: 27 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
name: ci

on:
pull_request:
branches:
- main
workflow_dispatch:

permissions:
contents: read

jobs:
eval:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v7
- uses: DeterminateSystems/determinate-nix-action@v3
- name: Link checkout to the path expected by dotfilesPath
run: |
sudo mkdir -p /Users/Ojoxux
sudo ln -s "$GITHUB_WORKSPACE" /Users/Ojoxux/dotfiles
- name: Evaluate darwinConfigurations.check
run: nix eval --impure --raw .#darwinConfigurations.check.config.system.build.toplevel.drvPath
- name: Evaluate darwinConfigurations.powehi
run: nix eval --impure --raw .#darwinConfigurations.powehi.config.system.build.toplevel.drvPath
- name: Evaluate nixosConfigurations.sgra
run: nix eval --raw .#nixosConfigurations.sgra.config.system.build.toplevel.drvPath
1 change: 1 addition & 0 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -110,3 +110,4 @@ powehi固有機能。内蔵ディスプレイの割れた部分を避けるた
- **Determinate Nix**: `nix.enable = false`としてnix-darwin本体にはNixデーモン管理をさせず、Determinate Nixに任せている。`nix.gc`が使えないため、ガベージコレクションはlaunchdデーモン(`modules/darwin.nix`の`launchd.daemons.nix-gc`)で代替している。
- **カーソル表示のワークアラウンド**: AI agent CLI(Claude Code等)が`\e[?25l`でカーソルを隠したまま復元し忘れることがあるため、`modules/zsh.nix`の`precmd_functions`にカーソルを強制表示する関数を登録し、`modules/tmux.nix`側でも`pane-focus-in`/`client-focus-in`フックと`prefix + r`(手動リストア)を用意している。`modules/zsh.nix`はさらに、Ghosttyの`command=`設定が効く前のフォールバックとして、対話シェルかつ`TERM_PROGRAM=ghostty`かつtmux外のときに自動で`tmux new -A -s main`する(IDEターミナルやネストしたtmuxはスキップ)。
- **tmuxのWi-Fi表示** (`modules/tmux.nix`の`tmux-wifi-status`): macOSはターミナルにLocation Services権限が無いとSSIDを`<redacted>`に伏せる。`networksetup`で取れなければ`ipconfig getsummary`にフォールバックし、それでも駄目なら接続の有無だけ`Wi-Fi`と表示する。
- **CIの評価チェック** (`.github/workflows/ci.yml`): PRごとにubuntu上で`darwinConfigurations.check`・`powehi`・`nixosConfigurations.sgra`の`toplevel.drvPath`を`nix eval`するだけで、ビルドや適用はしない。`nix flake check`を使わない理由: `local`は`hosts/local.nix`が`.gitignore`対象でCIのチェックアウトに存在せず、評価で落ちるため。darwin側に`--impure`が要る理由: `dotfilesPath`が`/Users/Ojoxux/dotfiles/...`の絶対パスを返し、`modules/git.nix`等がそれを参照するため。ランナー上ではチェックアウトをそのパスにシンボリックリンクして合わせている。`sgra`はpureのまま評価できる。
Loading