trifle

技術メモ

dotfiles はじめました

私は macOS を使っていますが, 最近 PC をチョコチョコカスタマイズしているので, 突然 PC が壊れて使えなくなるような不測の事態に備えて最低限の環境構築はすぐに出来るようにしようと思いました. そこで役立つのが dotfiles らしいです. 私も作ることにしました.

参考になるもの

これを参考にしました.

つくる

前提として macOS 向けです.
ミニマルには, セットアップ用の init.sh, Homebrew であれこれ入れる brew.sh, そしてシンボリックリンクを貼る symlinks.sh と諸々の config ファイルがあればいいと思います.
以下, 自分のミニマルな例を紹介してみます.

init.sh

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
sh brew.sh

echo "/usr/local/bin/fish" >> /etc/shells
chsh -s /usr/local/bin/fish

# install Haskell
curl -sSL https://get.haskellstack.org/ | sh
stack setup

# install Rust
curl https://sh.rustup.rs -sSf | sh

https://brew.sh/index_ja にある通り Homebrew を入れてから, brew.sh をたたきます.
基本的にはツールのインストールは Homebrew で済みますが, Homebrew で入れるのがベストプラクティスでは無さそうなやつだけこっちに書きます. 自分の場合, たまに触る Haskell や Rust は curl で入れることにしました.
あとは, 自分はfish推しなので, Homebrew で fish を入れた後にデフォルトで fish を使えるように変更しています. fish は特に自力で設定を変えなくてもシンタックスハイライトされたり予測変換されたりしますし, 軽量なので, 自分のようなライトユーザーには zsh よりもお勧めだと思います.

brew.sh

brew update
brew upgrade

brew install docker
brew install fish
brew install git
brew install guile
brew install neovim
brew install nodebrew
brew install pyenv
brew install rbenv
brew install wget
brew install tmux

brew cask install github
brew cask install google-chrome
brew cask install slack
brew cask install visual-studio-code

お好みで. guile は最近大学の課題で scheme を書かされているから一応入れているだけであって半年後には消していそう

symlinks.sh

ln -sf ~/dotfiles/config.fish ~/.config/fish/config.fish
ln -sf ~/dotfiles/.gitconfig ~/.gitconfig

これを作ることで, dotfiles ディレクトリ内のファイルの変更がホームディレクトリ内の config ファイルにも伝わり, 一元的に dotfiles ディレクトリ内で設定を管理できます.
とりあえず自分の中でまず重要だと思ったのは fish と git の config ファイルだけでしたが, vimemacs をゴリゴリカスタマイズしている人はもっと長いファイルになっているでしょう.
ちなみに config.fish はこんな感じで.

# nodejs
set -x NODEBREW_ROOT $HOME/.nodebrew
set -x PATH $NODEBREW_ROOT/current/bin $PATH

# ruby
set -x RBENV_ROOT $HOME/.rbenv
set -x PATH $RBENV_ROOT/shims $PATH

# python
set -x PYENV_ROOT $HOME/.pyenv
set -x PATH $PYENV_ROOT/shims $PATH

# rust
set -x PATH $HOME/.cargo/bin $PATH

alias vim='nvim'
alias vscode='open -a Visual\ Studio\ Code $1'




半年に一回くらい dotfiles を見直していきたいですね.