Skip to content

KOU050223/dotfiles

Repository files navigation

dotfiles

chezmoi + nix-darwin + Home Manager で管理している個人のdotfilesです。

  • パッケージ管理: nix-darwin + Home Manager
  • dotfiles管理: chezmoi(段階的にHome Managerへ移行予定)
  • 対象OS: macOS (Apple Silicon)

セットアップ(新しいマシン)

1. Determinate Nix をインストール

curl --proto '=https' --tlsv1.2 -sSf -L https://install.determinate.systems/nix | sh -s -- install

インストール後、ターミナルを再起動する。

2. dotfiles リポジトリを clone

git clone https://github.com/KOU050223/dotfiles.git ~/.local/share/chezmoi

3. nix-darwin + Home Manager を適用

sudo nix run nix-darwin -- switch --flake ~/.local/share/chezmoi/nix#uozumikouhei-mac

初回は10〜20分かかります。完了後、新しいターミナルを開く。

4. chezmoi で dotfiles を適用

chezmoi apply

5. npmグローバルパッケージをインストール

npm install -g firebase-tools ccusage cloudflare-bulk-delete @qiita/qiita-cli cz-git czg @anthropic-ai/claude-code

6. VSCode 拡張機能を一括インストール

cat ~/.local/share/chezmoi/vscode-extensions.txt | xargs -I {} code --install-extension {}

日常的な使い方

システム・パッケージのアップデート

今回追加したエイリアスを使用して、簡単にアップデートを行えます。

  • 全パッケージ・システムの更新 (flake.lockの更新を含む)
    nix-up
  • 設定ファイルの変更を反映するだけの場合
    nix-sw

パッケージを追加・変更する

1. パッケージ名を調べる

nix-search パッケージ名

または search.nixos.org で検索。

2. 編集と反映

追加したいもの 編集するファイル 反映コマンド
CLIツール(go, jq等) nix/modules/home.nix nix-sw
macOS GUIアプリ nix/modules/darwin.nix nix-sw
ドットファイル (.zshrc等) cze ~/.zshrc cza

3. 特定のツール(例:gh)だけをアップデートしたい場合 Nixの性質上、個別にバージョンを指定するのではなく、nixpkgs 全体を更新するのが一般的です。

cd ~/.local/share/chezmoi/nix
nix flake update nixpkgs
nix-sw

dotfiles (chezmoi) の管理

  • 編集: cze ~/.zshrc
  • 反映: cza
  • ローカルの変更をリポジトリに取り込む: chezmoi add <ファイルパス>
  • GitHubに保存: chezmoi cd && git add -A && git commit -m "update" && git push

Caution

.agents/ などのディレクトリが外部ツールによって書き換えられ、cza 時に警告が出た場合は、まず chezmoi add ~/.agents を実行して「ローカルの状態を正」としてリポジトリに同期してから apply (overwrite) してください。


管理対象ファイル

nix(パッケージ・システム設定)

ファイル 説明
nix/flake.nix nixpkgs・nix-darwin・Home Manager のエントリ
nix/modules/darwin.nix nix-darwin システム設定(Dock, Finder, Homebrew Cask等)
nix/modules/home.nix Home Manager 設定(パッケージ一覧・zshrc・gitconfig等)

chezmoi(dotfiles)

ファイル 説明
.zshrc Zsh 設定
.bashrc Bash 設定
.gitconfig Git グローバル設定
.config/starship.toml Starship プロンプト設定
.config/ghostty/ Ghostty ターミナル設定
.config/gh/ GitHub CLI 設定
.claude/ Claude Code グローバル設定・コマンド・スキル
.agents/ Claude エージェントスキル実体
Library/Application Support/Code/User/settings.json VSCode 設定
Library/Application Support/Code/User/keybindings.json VSCode キーバインド
vscode-extensions.txt VSCode 拡張機能一覧

ディレクトリ構成

~/.local/share/chezmoi/   (= ~/workspace/dotfiles-nix はnix/へのシンボリックリンク)
├── nix/
│   ├── flake.nix
│   ├── flake.lock
│   └── modules/
│       ├── darwin.nix
│       └── home.nix
├── dot_zshrc
├── dot_gitconfig
├── dot_config/
│   ├── starship.toml
│   └── ghostty/
├── dot_claude/
├── dot_agents/
├── dot_vscode/
├── private_Library/
└── vscode-extensions.txt

chezmoi のファイル名プレフィックスルール:

プレフィックス 意味
dot_ .(ドット)に変換される
executable_ 実行権限が付与される
private_ パーミッション 600 で作成される

About

chezmoiを使用した dotfiles

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors