はじめに
この記事の完全版
忘れてしまうので自分用のメモ。
https://qiita.com/nakagawa1017/items/4d39ccf681a9c7ee0786
OS: macOS Catalina
やりたいこと
- macの環境構築を簡単にするために、必要なシェルの設定、homebrewで落としてくるコマンド、macのアプリを自動で落としてくるようにしたい。
- 使うシェルはfish
自分が設定したリポジトリ
参考までに自分のリポジトリを置いておきます
https://github.com/marina1017/dotfiles
手順
1.初期化とアップデート
OSが最新かAppstoreを見た 最新だったのでOK
2.環境構築の準備
masを使うためにApp storeにログインしておく
sshでGitHubとやり取りする
.sshファイルを作って、下記の参考文献のようにGitHubとつなげておく
参考文献
GitHubでssh接続する手順~公開鍵・秘密鍵の生成から~
3.dotfilesに入れておいた中身のスクリプトの実行
dotfilesをクローンする
ドットファイル(先頭に.がついた不可視ファイル)をあるべきところに移動させるためスクリプトを実行する
$sh install.sh
# !/bin/bash
set -u
# 実行場所のディレクトリを取得
THIS_DIR=$(cd $(dirname $0); pwd)
cd $THIS_DIR
git submodule init
git submodule update
echo "start setup..."
for f in .??*; do
[ "$f" = ".git" ] && continue
ln -snfv ~/dotfiles/"$f" ~/
done
echo "fish系"
ln -sf ~/dotfiles/fish ~/.config/fish
echo "fishパッケージマネージャーfisherで管理されているもの"
ln -sf ~/dotfiles/fisher ~/.config/fisher
cat << END
**************************************************
DOTFILES SETUP FINISHED! bye.
**************************************************
END
これを実行するとdotfiles以下にあった.Brewfile,.gitconfig,.gitignore_global,fish,fisherがホームディレクトリ以下にシンボリックリンクをはられる。
このドットファイルをシンボリックリンクにすることで、変更が起きてもdotfilesないのファイルが更新されるためgitで管理がしやすくなる。
homebrewのインストールとbrew bundleを実行
homebrewのインストールにはCommand Line Tools for Xcodeが必要なので先にインストールをしておく
それが終わったら、.Brewfileに記載されているアプリをインストールする。
# !/bin/bash
### メモ
# さきにApp storeにログインしておく
# install.shを実行しておく
### 不可視ファイルを可視化する(再起動したら見える)
echo "不可視ファイルを可視化します"
defaults write com.apple.finder AppleShowAllFiles TRUE
### Command Line Tools
echo "Command Line Tools for Xcodeのインストールをします"
xcode-select --install
### homebrew
echo "homebrewをインストールしています"
which brew >/dev/null 2>&1 || /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
echo "brew doctorを実行しています"
which brew >/dev/null 2>&1 && brew doctor
echo "run brew updateを行います"
which brew >/dev/null 2>&1 && brew update --verbose
echo "homebrew周りの設定が終了しました"
### .Brewfileに記載されているアプリをインストール
echo ".Brewfileに記載されているアプリをインストールします"
brew bundle --global --verbose
### fishシェルに切り替える
注
2>&1 とすると、標準出力と標準エラー出力の両方を出力する
.Brewfileについて
必要な物を一覧化したら下記のようになった。Xcodeについては、Xcodeの新バージョンが出るたびに新しい物を入れるため、バージョン管理しなくてもいいなという気持ちになったので入れていない
tap "homebrew/bundle"
tap "homebrew/cask"
tap "homebrew/core"
brew "mas"
brew "git"
brew "git-lfs"
brew "tig"
brew "fish"
brew "fzf"
brew "nodebrew"
brew "pipenv"
brew "rbenv"
brew "go"
brew "pngquant"
cask "google-chrome"
cask "google-japanese-ime"
cask "authy"
cask "iterm2"
cask "dash"
cask "charles"
cask "visual-studio-code"
cask "sketch"
cask "docker"
cask "clipy"
cask "postman"
cask "adobe-creative-cloud"
mas "co.nimbusweb.nimbuscapture", id: 1125725441
mas "com.apple.iWork.Keynote", id: 409183694
mas "com.pearlmountainsoft.PicGIFLite", id: 844918735
mas "Slack", id: 803453959
mas "LINE", id: 539883307
シェルの設定
最後にシェル周りとパスを通す周りがうまくいっているかを確認する
$sh setup_shell.sh
# !/bin/bash
## 導入メモ
# https://qiita.com/nakagawa1017/items/b0ac953f3448a46899fb
## /etc/shellsファイルに「/usr/local/bin/fish」を一番下に入れる
### メモ:pwを要求される
sudo sh -c "echo /usr/local/bin/fish >> /etc/shells"
## ruby2.6.3を入れる(仕事用)
### メモ:パスを通すべき「/Users/marina/.rbenv/shims」は下記コマンドを実行しないと生成されない
rbenv install 2.6.3
echo "パスが通っているか確認する「/Users/{ユーザー名}/.rbenv/shims/ruby」のような感じで出るか"
which ruby
echo "パスが通っているか確認する「/Users/{ユーザー名}/.rbenv/shims/ruby」のような感じで出るか"
which gem
## デフォルトシェルを fish に変更
### メモ:pwを要求される
echo "デフォルトシェルを fish に変更"
chsh -s /usr/local/bin/fish
## ログインシェルを起動
echo "ログインシェルを起動"
fish -l