7
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

macの環境構築を簡単にするためにdotfileを作った

Last updated at Posted at 2019-10-22

はじめに

この記事の完全版
忘れてしまうので自分用のメモ。
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
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に記載されているアプリをインストールする。

homebrew_install.sh
# !/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の新バージョンが出るたびに新しい物を入れるため、バージョン管理しなくてもいいなという気持ちになったので入れていない

.Brewfile
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
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

7
4
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
7
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?