0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

dotfiles を XDG 前提で Git 管理する ― 「設定の場所」が決まれば、Git 管理は簡単 ―

0
Posted at

はじめに

dotfiles を Git 管理しようとすると、
次のような壁に当たることがよくあります。

  • 管理したい設定が散らばっている
  • ~/.zshrc~/.vimrc 以外に何を含めるべきか分からない
  • symlink が増えて、構成が分からなくなる

結果として、

  • Git 管理を諦める
  • とりあえず全部放り込む
  • 後から触るのが怖くなる

という状態になりがちです。

この混乱の多くは、
「設定ファイルの置き場所が曖昧なまま Git 管理しようとする」
ことが原因です。

XDG Base Directory Specification を前提にすると、
dotfiles の Git 管理は驚くほど単純になります。


結論から

XDG 前提で dotfiles を Git 管理するとは、

~/.config 以下だけを Git 管理する

ということです。

これだけで、

  • 管理対象が明確になる
  • 余計なファイルを含めずに済む
  • マシン移行が楽になる

という効果が得られます。


XDG 前提だと、何を Git 管理するのか

まず整理します。

Git 管理するもの

  • ~/.config/**

    • zsh
    • git
    • nvim
    • tmux
    • 各種 CLI ツールの設定

👉 「設定」だけです。


Git 管理しないもの

  • ~/.local/share

    • 履歴ファイル
    • 実行結果
    • 永続データ
  • ~/.cache

    • キャッシュ類

👉
消しても再生成されるもの、
個人データが混ざるものは含めません。


ディレクトリ構成(最小)

最小構成は次のようになります。

dotfiles/
├── config/
│   ├── zsh/
│   ├── git/
│   ├── nvim/
│   └── tmux/
└── README.md

この config/ が、
そのまま ~/.config に対応します。


実際の Git 管理方法

方法は大きく 2 つありますが、
最初は symlink 方式が無難です。


方法 1. symlink 方式(おすすめ)

git clone https://example.com/dotfiles.git ~/dotfiles
ln -s ~/dotfiles/config ~/.config

または既存の ~/.config がある場合:

mv ~/.config ~/.config.bak
ln -s ~/dotfiles/config ~/.config

👉**「設定はすべて Git 管理下」**になります。


方法 2. 個別に symlink を張る

ln -s ~/dotfiles/config/zsh ~/.config/zsh
ln -s ~/dotfiles/config/git ~/.config/git

👉一部だけ管理したい場合はこちらで


zsh を例にすると

XDG 前提では、zsh の設定は次のようになります。

~/.config/zsh/
├── zshrc
├── zshenv
├── zprofile
└── zlogin

Git 管理対象は:

dotfiles/config/zsh/

履歴は:

~/.local/share/zsh/history

👉設定とデータが完全に分離されます。


まず最初にやる確認(3 分)

以下を実行してみてください。

ls ~/.config
ls ~/.local/share

問いは 1 つだけです。

この中で Git 管理すべきなのはどれか?

答えは:

~/.config だけ

です。


XDG 前提で Git 管理すると何が嬉しいか

1. 管理対象に迷わない

「これは入れる? 入れない?」
という判断が不要になります。


2. マシン移行が一瞬

git clone
ln -s

これだけで設定が復元します。


3. 壊すのが怖くなくなる

  • 設定は Git にある
  • データは別
  • キャッシュは消せる

安心して試行錯誤できます。


よくある注意点

  • .config 直下を丸ごと管理する前に、中身を一度確認しましょう
  • トークンや秘密鍵は除外しましょう
  • README.md に「前提(XDG)」を書いておきましょう

まとめ

  • dotfiles の Git 管理は XDG 前提にすると一気に楽になります
  • 管理対象は ~/.config だけ
  • データとキャッシュは含めない
  • symlink 方式がシンプルで安全

XDG は単なる仕様ではなく、
dotfiles 管理を成立させるための前提条件です。

設定が Git 管理されていると、
環境は派手に変わりませんが、
粛々と、確実に整っていきます。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?