Goal
iTerm2
, oh my zsh!
と dotbot
にてdotファイルの管理を導入してみます。
M1 Macを使用している方向けの記事となります。
iTerm2: https://iterm2.com/
Oh my zsh!: https://ohmyz.sh/
dotbot: https://github.com/anishathalye/dotbot
前提
iTerm2
: Mac標準のターミナルの代わりとなるアプリケーション。
oh my zsh!
: シェルの1つである zsh
をカスタマイズするためのオープンソースソフトウェア。
なぜやるのか
ターミナルやシェルをカスタマイズする理由
先日読んだ、達人プログラマーに以下のようなことが書かれていました。
達人プログラマーではシェルを、木工職人が使う作業台に例えていました。作業する上で最も基本的なツールであり、生涯使うツールです。
- ターミナル、シェルはエンジニアにとって、最も基本的なツールの1つです。ファイル操作やプログラム実行など様々な作業を実行するベースとなるツールです。
- 最も基本的なツールをカスタマイズすることにより視認性を高めたり、カスタマイズコマンドを追加して効率をあげたり、結果的に愛着が湧いたりと作業環境を自分のスタイルに合わせ、効率的な作業を行うのに欠かせないものとなります。
- また上記のカスタマイズがPCの変更や、PC間での設定共有を楽にするために、バージョン管理も必要となります。
これまでデフォルトのターミナルと zsh
を使用していましたが、自分もそろそろ自分の作業台が欲しいなと思い、試してみることにしました。
事前準備
-
oh my zsh!
をインストールすると、.zshrc
が上書きされてしまうため、バックアップをとっておきます。
cp ~/.zshrc ~/.zshrc_cp
インストール
# Intall iTerm2
brew install iTerm2
# Install "oh my zsh!"
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
カスタマイズ
-
iTerm2
やoh my zsh!
の設定方法は探せば色々と出てくるため、今回は割愛します。 - 色はできるだけシンプルなものが良かったため、
iTerm2
の色はjapanesque
を使用し、oh my zsh!
はsimple
をテーマとして使用することにしました。 -
oh my zsh!
では pluginとして一旦以下を追加しています。web-search
はシェルから google 検索をすぐにできるのが便利そうだったため、デフォルトのプラグインから追加しています。 - aliasでカスタムコマンドを追加してみます。一旦、 gitコマンドで試してみることにしました。
plugins=(
git
zsh-autosuggestions
zsh-syntax-highlighting
web-search
)
alias g='git'
alias gs='git status'
alias gl='git log'
alias ga='git add'
alias gc='git commit -m'
alias gagc='git add . && git commit -m'
alias gp='git push'
alias gch='git checkout'
alias gcb='git checkout -b'
iTerm2
を開いて、カスタマイズが反映されていることやカスタム aliasが動くことを確認できたら成功です。はじめにコピーした zshrc
ファイルの内容も追加することを忘れないようにしましょう。
dotbotによるバージョン管理
iTerm2
と oh my zsh!
がうまく設定できたら、最後は dotbot
を追加してバージョン管理を行います。
まず 今後、ドットファイルを管理するためのディレクトリを作成します。
mkdir .dotfiles
今後、自分がバージョン管理したいドットファイル (.zshrc
など) はこのディレクトリにて管理します。しかし、本来 .zshrc
はホームディレクトリに置いておく必要があり、移動させると設定が読み込まれなくなります。
その場合、シンボリックリンクを作成することで、対応することができます。
# 移動
mv ~/.zshrc ~/.dotfiles/zshrc
# 移動させても読み込みされるようにシンボリックリンクを作成
# dotbotを使用すると不要
ln -sv ~/.dotfiles/zshrc ~/
これを、数多くのドットファイル全てで行うと、管理が面倒のため、 dotbot
を導入します。
GitHubのREADMEに従って dotbot
を導入します。
今回は既存のドットファイルを使用するため、以下手順となります。
cd ~/.dotfiles # replace with the path to your dotfiles
git init # initialize repository if needed
git submodule add https://github.com/anishathalye/dotbot
git config -f .gitmodules submodule.dotbot.ignore dirty # ignore dirty commits in the submodule
cp dotbot/tools/git-submodule/install .
touch install.conf.yaml
そして、 install.conf.yaml
に設定を記載します。
今回は、 .zshrc
と .gitconfig
を管理するために .dotfilesに移動させたため、2つのリンクを設定しています。
- clean: ["~"]
# require 4 spaces
# https://github.com/anishathalye/dotbot/issues/8
- link:
~/.zshrc: zshrc
~/.gitconfig: gitconfig
最後に、以下コマンドを実行し成功すれば完了です。
~/.dotfiles ./install
実際に設定した内容が反映されていることを確認して終わりとなります。(今回は git コマンドが反映されていることを確認)
新しく作成したファイルは GitHubなどで管理します。 :)
最後に
- 実際に自分でカスタマイズしてみると、愛着が湧いてくるので、今後はよりシェルの使用頻度を増やしていこうと思います。
- 今後、Vimの設定ファイルも追加して、Vimももっと使えるようになっていければと思います。
- せっかくなので、今後ぜひ周りの皆さんにもおすすめ設定を教えてもらいたいと思います。もし良かったらコメントいただけると嬉しいです。