ターミナルカスタマイズコース8/8
dotfilesを作ろう
こちらでは、dotfilesについて解説します。
dotfilesとは?
自分のPCのシェルやターミナルの設定を他のPCでも使えるようにします。dotfilesをつくるとPCを買い替える時に最初から設定する必要がなくなります。GitHubで公開されているdotfilesを自分の環境にcloneすることもできます。
管理できる設定について
管理できるもの
- シェル(.bashrc、.zshrc etc)
- エディタ(.vimrc etc)
- ターミナル(~config etc)
- CLIツール(tmux etc)
- アプリ(~/i3 etc)
- git(gitignore etc)
管理してはいけないもの
- SSHなど認証情報が入ったもの
管理しにくいもの
- 環境によって動的に内容が変わるもの
- プログラム、プラグイン、アプリケーション
基本的な使い方
簡単にdotfilesの作り方を説明します。
-
GitHubでdotfilesという名前のリポジトリをつくり、ホームディレクトリ直下にdotfilesをcloneします。
-
.bashrcや.zshrcなどの設定ファイルをdotfilesの中にコピーします。
-
dotfilesに元の設定ファイルにシンボリックリンクをつくります。例)
ln -s ~/dotfiles/.bashrc ~/.bashrc
-
シンボリックリンクをいちいちつくるのは面倒になると思うので、シンボリックリンクをつくるシェリスクリプト
setup.sh
をつくると簡単になります。#!/bin/bash DOT_FILES=(.bashrc .zshrc etc...) for file in ${DOT_FILES[@]} do ln -s $HOME/dotfiles/$file $HOME/$file done
-
commitしてpushする
-
以降、管理したいものをdotfilesディレクトリに追加するとgitが差分を検知する
-
ときどきpushしてremoteに反映する
dotfilesの設定をインストールする
インストールするときはGitHubからdotfilesをcloneしてsetup.sh
をファイル実行します。
git clone (GitHubのURL)
./setup
シンボリックリンク
OSのファイルシステムの機能です。
別ファイルやディレクトリを作り、それを通じて本体を参照できるようにします。別の場所から参照するために作成します。シンボリックリンクを削除しても元のファイルには影響がありません。
ln
コマンドでシンボリックリンクを作成します。
ハードリンク
元のファイルとはほぼ同じものですが、シンボリックリンクとは違い、削除すると元のファイルも削除される時があります。
まとめ
ぜひ自分のdotfilesを作ってみてください!
GitHubにあるdotfilesを自分の環境で使ってみたりするのも楽しそうです。
それではシナリオを起動して、演習で学んでいきましょう。
問題を解くためには、十分な画面サイズのPC環境をご利用下さい。