$30 off During Our Annual Pro Sale. View Details »

続・開発環境晒す会 ~ MacOS 編 ~ / kzrb_meetup#108

muryoimpl
August 21, 2021

続・開発環境晒す会 ~ MacOS 編 ~ / kzrb_meetup#108

Kanazawa.rb meetup #108 https://kzrb.doorkeeper.jp/events/125406 の LT 大会で発表したスライドです。

muryoimpl

August 21, 2021
Tweet

More Decks by muryoimpl

Other Decks in Programming

Transcript

  1. 続・開発環境を晒す
    ~MacOS編~
    2021-08-21(Sat)
    Kanazawa.rb meetup #108
    祝9周年 LT大会 - オンライン
    muryoimpl

    View Slide

  2. おしながき
    ● 環境の概要
    ● ターミナル周りの設定・環境(環境ごとの分岐)
    ● 追加した機器

    View Slide

  3. ● 石川県金沢市内の某所でひきこもってフルリモートワーク(変わらず)
    ● お仕事では M1 Mac を使うことになりました。
    ● デスクトップでは、yabai というTiling window manager を使います。
    ○ https://github.com/koekeishiya/yabai
    ○ キーバインディングは、できるだけ Linux 側の Window manager に寄せてみている
    ● その他の環境は前回の発表を参照のこと
    ○ https://muryoimpl.com/blog/2021-07-18/participated-in-kzrb-meetup-107/
    環境の概要

    View Slide

  4. ターミナル周りの設定・環境
    ● 設定はdotfiles は https://github.com/muryoimpl/dotfiles に保存して、ホーム
    ディレクトリにシンボリックリンクを作成して利用しています。(変わらず)
    ● Mac は Homebrew でパッケージ管理をします。
    brew bundle dump --global --force で Brewfile に導入したパッケージのリストを同
    期している。
    ● zsh、tmux、vimrc、symlink 用の Ruby ファイルには、環境特有の設定をする必要
    があるため、いくつか分岐を追加しました。

    View Slide

  5. Homebrew
    ● Intel 版と Apple Silicon 版があり、ログインシェル とターミナルアプリがどちら向け
    にビルドされたものかでコンパイラがどちら向きのものか決まるっぽいので気をつ
    けろ!
    ○ Alacritty が Intel 向けでハマったので、自分で Apple Silicon 向けにビルドしました。
    ● どちら向けのビルドか、ユニバーサルなのかによって環境構築の分岐のバリエー
    ションが増えているので、少し間違えると環境構築に時間かかりがち。
    ○ mitamae とか使って自動化したい。時間と実行環境を手配中。

    View Slide

  6. zsh、tmux、vimrc、symlink.rb の分岐
    ● 各ファイル、OS ごとに使い分けたい値があるため、それぞれをそれぞれの方法で
    分岐していく
    ○ OS ごとに複数のファイルを持ちたくないよねー
    ● それでも分岐にはそれぞれの流儀があるので、手間ですねぇ
    ○ 本当は OS の使い分けはしたくないのだけれども …そのちまちました作業が楽しかったり面倒だった
    りするのだ

    View Slide

  7. シンボリックリンク作成用スクリプト
    irb で内容確認すると面白いかも

    View Slide

  8. .zshrc は uname と if で分岐する

    View Slide

  9. .tmux.conf は if-shell, uname と grep で分岐する

    View Slide

  10. .virmc は uname で分岐する
    この分岐意味あるのかわかってないが、少
    なくともLinux向けの設定ではMacでは動か
    なかった

    View Slide

  11. 追加した機器
    ● macOSユーザガイド 「Macで複数のディスプレイを使う」によると、外部ディスプレイ
    の接続対応数は 1 。
    Apple さんは大画面ディスプレイを 1 つだけ接続するというスタイル推し。
    ● 私は複数枚使いたかったので、DisplayLink 対応のドックを購入した。
    WAVLINK: WL-UG69DK1-A
    https://www.amazon.co.jp/gp/product/B0832ZR493/
    DisplayLink Manager.app を入れると複数枚のディスプレイに対応できる。
    ● ただし、DisplayLinkはディスプレイの縦置き表示には対応していない様子。
    ○ 対応が待たれる。ディスプレイが 1 枚生きながらに死んでるのよ …

    View Slide

  12. View Slide

  13. OSごとに設定分岐できるの便利!!
    以上

    View Slide