Skip to content

Repository files navigation

chezmoi-dotfiles

シェル周辺と Herdr の設定ファイルを chezmoi で管理するリポジトリ。Neovim は最小の init.lua に snacks.nvim によるファイル検索・エクスプローラーを加えた軽量構成。macOS / Linux (WSL2) / Windows に対応。

対応環境

環境 対応内容
macOS ~/.zshrc, ~/.config/zsh, ~/.config/ohmyposh, ~/.config/lazygit, ~/.config/herdr を chezmoi で展開。~/.config/nviminit.lua のみの軽量構成に保つ
Linux / WSL2 macOS と同じ Unix 系配置
Windows PowerShell profile を ~/Documents/PowerShell / ~/Documents/WindowsPowerShell に展開。Neovim 設定、lazygit、Herdr は ~/.config から標準位置へ同期

構成

dot_zshrc                         # ~/.zshrc
dot_config/
├── exact_nvim/init.lua           # ~/.config/nvim(init.lua のみを厳密に管理)
├── zsh/                          # ~/.config/zsh
├── ohmyposh/                     # ~/.config/ohmyposh
├── lazygit/                      # ~/.config/lazygit
└── herdr/config.toml             # ~/.config/herdr/config.toml
Documents/
├── PowerShell/Microsoft.PowerShell_profile.ps1
└── WindowsPowerShell/Microsoft.PowerShell_profile.ps1
run_once_after_install-tools.sh.tmpl
run_after_sync-windows-paths.ps1.tmpl

exact_nvimexact_ は chezmoi の source state 属性です。chezmoi apply のたびに ~/.config/nvim 内の追加ファイルを削除し、Neovim を init.lua(リーダーキー、基本キーマップ、透過背景に加え、lazy.nvim + snacks.nvim によるファイル検索・エクスプローラー、which-key.nvim によるキー候補のポップアップ表示)だけの状態に保ちます。lazy.nvim が生成する lazy-lock.json.chezmoiignore で除外しているため削除されません。

Windows では run_after_sync-windows-paths.ps1.tmpl がこの状態を %LOCALAPPDATA%\nvim にミラーし、lazygit と Herdr を %APPDATA% 配下へ同期します。

セットアップ

macOS / Linux (WSL2)

chezmoi init --apply https://github.com/e-sp9/chezmoi-dotfiles.git

手元に clone 済みのリポジトリから適用する場合:

bash install.sh

run_once_after_install-tools.sh.tmpl が lazygit を必要に応じて導入します。

Windows

chezmoi init --apply https://github.com/e-sp9/chezmoi-dotfiles.git

手元に clone 済みのリポジトリから適用する場合:

powershell -ExecutionPolicy Bypass -File .\install.ps1

Windows では以下の標準位置にも同期されます:

  • Neovim: %LOCALAPPDATA%\nvim
  • lazygit: %APPDATA%\lazygit
  • Herdr: %APPDATA%\herdr\config.toml
  • PowerShell: ~/Documents/PowerShell/Microsoft.PowerShell_profile.ps1
  • Windows PowerShell: ~/Documents/WindowsPowerShell/Microsoft.PowerShell_profile.ps1

運用

既存ファイルとの差分確認:

chezmoi diff

反映:

chezmoi apply

現在の実ファイルを source state に取り込む例:

chezmoi add ~/.zshrc
chezmoi add ~/.config/herdr/config.toml

Pre-commit

secretlint を使ったシークレット検出を用意しています。

npm install
npm run lint:secrets

# commit hook を入れる場合(prek または pre-commit を別途インストール)
prek install

About

Cross-platform chezmoi dotfiles for Neovim, Zsh, PowerShell, and terminal tooling.

Topics

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages