chezmoi で管理しています。
$ make install
これは内部で以下を実行します:
$ chezmoi init --apply --source <this repo>
初回実行時は name と email の入力を求められ、~/.gitconfig の [user] セクションに反映されます。
run_once_before_install-packages.sh が Homebrew / oh-my-zsh / vim-plug の導入も行います。
別マシンへ展開する場合:
$ chezmoi init --apply [email protected]:suzuken/dotfiles.git
機密を含むファイル(会社固有の gitleaks ルール等)は chezmoi の
age 暗号化 で管理しています。
方針は「エンジン(仕組み)は公開、データ(固有名)は手元」。暗号化ファイルは source 内に
encrypted_*.age として置かれ、apply 時に復号されます。
- 秘密鍵:
~/.config/chezmoi/key.txt。リポジトリには絶対に入れない。 失うと暗号化ファイルを復号できなくなるので、別途バックアップしておく。 - 新マシン:
ageを入れ(brew install age)、鍵を手元にコピーしてからchezmoi init --applyする。鍵が無いと暗号化ファイルの展開だけが失敗する。 - 公開鍵 (recipient) は
.chezmoi.toml.tmplに記載。これは公開して問題ない。
公開リポジトリへの secret / 機密情報の混入を gitleaks
で防ぎます。just install-hooks で core.hooksPath=hooks を設定すると、push 前に
スキャンが走ります。会社固有ルールはローカルの復号済み overlay
(~/.config/gitleaks/company.toml)を優先し、無ければ repo 同梱の汎用
.gitleaks.toml にフォールバックします。bypass は git push --no-verify。
- vim 9.0+
- chezmoi (
brew install chezmoi)
Using oh-my-zsh.
peco and ghq are used for exploring src directory with GOPATH style.
On zsh,
^S: open anysrcdirectory by peco. It enables incremental search for projects you fetched.^R: search .zsh_history in peco.
To install plugins, run :PlugInstall.
Public Domain