Upgrade to Pro — share decks privately, control downloads, hide ads and more …

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

Ac6dba8ce93944d17714de362ca17e54?s=47 muryoimpl
August 21, 2021

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

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

Ac6dba8ce93944d17714de362ca17e54?s=128

muryoimpl

August 21, 2021
Tweet

Transcript

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

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

  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/ 環境の概要
  4. ターミナル周りの設定・環境 • 設定はdotfiles は https://github.com/muryoimpl/dotfiles に保存して、ホーム ディレクトリにシンボリックリンクを作成して利用しています。(変わらず) • Mac は

    Homebrew でパッケージ管理をします。 brew bundle dump --global --force で Brewfile に導入したパッケージのリストを同 期している。 • zsh、tmux、vimrc、symlink 用の Ruby ファイルには、環境特有の設定をする必要 があるため、いくつか分岐を追加しました。
  5. Homebrew • Intel 版と Apple Silicon 版があり、ログインシェル とターミナルアプリがどちら向け にビルドされたものかでコンパイラがどちら向きのものか決まるっぽいので気をつ けろ!

    ◦ Alacritty が Intel 向けでハマったので、自分で Apple Silicon 向けにビルドしました。 • どちら向けのビルドか、ユニバーサルなのかによって環境構築の分岐のバリエー ションが増えているので、少し間違えると環境構築に時間かかりがち。 ◦ mitamae とか使って自動化したい。時間と実行環境を手配中。
  6. zsh、tmux、vimrc、symlink.rb の分岐 • 各ファイル、OS ごとに使い分けたい値があるため、それぞれをそれぞれの方法で 分岐していく ◦ OS ごとに複数のファイルを持ちたくないよねー •

    それでも分岐にはそれぞれの流儀があるので、手間ですねぇ ◦ 本当は OS の使い分けはしたくないのだけれども …そのちまちました作業が楽しかったり面倒だった りするのだ
  7. シンボリックリンク作成用スクリプト irb で内容確認すると面白いかも

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

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

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

  11. 追加した機器 • macOSユーザガイド 「Macで複数のディスプレイを使う」によると、外部ディスプレイ の接続対応数は 1 。 Apple さんは大画面ディスプレイを 1

    つだけ接続するというスタイル推し。 • 私は複数枚使いたかったので、DisplayLink 対応のドックを購入した。 WAVLINK: WL-UG69DK1-A https://www.amazon.co.jp/gp/product/B0832ZR493/ DisplayLink Manager.app を入れると複数枚のディスプレイに対応できる。 • ただし、DisplayLinkはディスプレイの縦置き表示には対応していない様子。 ◦ 対応が待たれる。ディスプレイが 1 枚生きながらに死んでるのよ …
  12. None
  13. OSごとに設定分岐できるの便利!! 以上