• Tips
  • Manage dotfiles with Git

Manage Your Dotfiles With Git

今まで設定ファイルをすべて ~/.config/nvim/ の中に置いてきたと思うが、他の PC で作業したいときにこの設定をそのまま使いたい!

そのため自分の設定ファイルを Git を使ってクラウドにあげて、いつでもどこでもアクセスできるようにしましょう。

今回は設定ファイルを Gnu Stow というデプロイプログラムを使って管理したいと思います。

Create Your Git Repository

Github や Gitlab などに自分のアカウントで dotfiles というレポジトリを作りましょう。それをホームディレクトリ直下に git clone してください。

cd ~
git clone git@github.com:<user-name>/dotfiles.git
# ssh で管理するリンクのほうがおすすめ

How to Use Gnu Stow

Stow はプロジェクトごとにいい感じにホームディレクトリに向けてシムリンクを貼ってくれるというプログラムです。 例えば、こんな感じのディレクトリがあったとすると、その構造のままデプロイしてくれる。

dotfiles/
├── hoge/
│   └── .config/
│       └── hoge/
│           └── settings.cfg
└── fuga/
    └── .config/
        └── .fugarc

dotfiles 直下のフォルダ名がプロジェクト名として、stowに引数として渡せる。

cd dotfiles
stow -v hoge fuga
~/
├── .config/
│   ├── hoge/
│   │   └── settings.cfg
│   └── .fugarc
└── dotfiles/...

Move Your Nvim Configs to dotfiles

nvim というプロジェクト(フォルダ)を作って、今まで作ってきた設定ファイルを形そのまま dotfiles の中に移動させましょう。

cd ~/dotfiles
mkdir -p nvim/.config
mv ~/.config/nvim/ ./nvim/.config/nvim
mkdir -p ~/.config/nvim/lua/    # recreate empty directory for later steps

持ってきたあとに、stowを使ってデプロイしましょう。

stow -v nvim

Write .gitignore

~/.config/nvim/ の中には Nvim を使っていると自動生成されるファイルもあるので、それらを gitignore しましょう。

Push to Git

git add .
git commit -m "Upload my nvim configs"
git push -u

How to Delete Deployed Files

Stow を使ってシムリンクを貼った場合はコマンド一発で元に戻すことができます。

stow -vD nvim
Last updated on September 21, 2022