Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
続・開発環境晒す会 ~ MacOS 編 ~ / kzrb_meetup#108
Search
muryoimpl
August 21, 2021
Programming
0
2k
続・開発環境晒す会 ~ MacOS 編 ~ / kzrb_meetup#108
Kanazawa.rb meetup #108
https://kzrb.doorkeeper.jp/events/125406
の LT 大会で発表したスライドです。
muryoimpl
August 21, 2021
Tweet
Share
More Decks by muryoimpl
See All by muryoimpl
Kanzawa.rbのLT大会を支える技術の裏側を変更する Ruby on Rails + Litestream 編
muryoimpl
0
28
Kanazawa.rb LT大会用/kzlt コマンドの説明 2024/01版
muryoimpl
0
2.4k
kzltコマンドの新たなソリューションについて
muryoimpl
0
2.3k
俺とTODOアプリ~Linearの変~
muryoimpl
0
1.9k
POSIX文字クラスでの躓き
muryoimpl
0
1.9k
/kzlt コマンドとは
muryoimpl
0
780
meetup.kzrb.org の更新を考える 事前激闘編
muryoimpl
0
1.2k
meetup.kzrb.org の更新を 考える ゆるふわ編
muryoimpl
0
1.2k
最近のデスク周りの diff / kzrb meetup#108-2
muryoimpl
0
20
Other Decks in Programming
See All in Programming
“あなた” の開発を支援する AI エージェント Bedrock Engineer / introducing-bedrock-engineer
gawa
4
240
いりゃあせ、PHPカンファレンス名古屋2025 / Welcome to PHP Conference Nagoya 2025
ttskch
1
180
20241217 競争力強化とビジネス価値創出への挑戦:モノタロウのシステムモダナイズ、開発組織の進化と今後の展望
monotaro
PRO
0
290
テストコードのガイドライン 〜作成から運用まで〜
riku929hr
7
1.4k
return文におけるstd::moveについて
onihusube
1
1.4k
週次リリースを実現するための グローバルアプリ開発
tera_ny
1
1.2k
歴史と現在から考えるスケーラブルなソフトウェア開発のプラクティス
i10416
0
300
Асинхронность неизбежна: как мы проектировали сервис уведомлений
lamodatech
0
1.3k
ecspresso, ecschedule, lambroll を PipeCDプラグインとして動かしてみた (プロトタイプ) / Running ecspresso, ecschedule, and lambroll as PipeCD Plugins (prototype)
tkikuc
2
1.9k
20年もののレガシープロダクトに 0からPHPStanを入れるまで / phpcon2024
hirobe1999
0
1k
Beyond ORM
77web
11
1.6k
Оптимизируем производительность блока Казначейство
lamodatech
0
950
Featured
See All Featured
Learning to Love Humans: Emotional Interface Design
aarron
274
40k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Six Lessons from altMBA
skipperchong
27
3.6k
Building a Scalable Design System with Sketch
lauravandoore
460
33k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.6k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
8
1.2k
What's in a price? How to price your products and services
michaelherold
244
12k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
30
2.1k
The Straight Up "How To Draw Better" Workshop
denniskardys
232
140k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
132
33k
Code Review Best Practice
trishagee
65
17k
Optimising Largest Contentful Paint
csswizardry
33
3k
Transcript
続・開発環境を晒す ~MacOS編~ 2021-08-21(Sat) Kanazawa.rb meetup #108 祝9周年 LT大会 - オンライン
muryoimpl
おしながき • 環境の概要 • ターミナル周りの設定・環境(環境ごとの分岐) • 追加した機器
• 石川県金沢市内の某所でひきこもってフルリモートワーク(変わらず) • お仕事では 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/ 環境の概要
ターミナル周りの設定・環境 • 設定はdotfiles は https://github.com/muryoimpl/dotfiles に保存して、ホーム ディレクトリにシンボリックリンクを作成して利用しています。(変わらず) • Mac は
Homebrew でパッケージ管理をします。 brew bundle dump --global --force で Brewfile に導入したパッケージのリストを同 期している。 • zsh、tmux、vimrc、symlink 用の Ruby ファイルには、環境特有の設定をする必要 があるため、いくつか分岐を追加しました。
Homebrew • Intel 版と Apple Silicon 版があり、ログインシェル とターミナルアプリがどちら向け にビルドされたものかでコンパイラがどちら向きのものか決まるっぽいので気をつ けろ!
◦ Alacritty が Intel 向けでハマったので、自分で Apple Silicon 向けにビルドしました。 • どちら向けのビルドか、ユニバーサルなのかによって環境構築の分岐のバリエー ションが増えているので、少し間違えると環境構築に時間かかりがち。 ◦ mitamae とか使って自動化したい。時間と実行環境を手配中。
zsh、tmux、vimrc、symlink.rb の分岐 • 各ファイル、OS ごとに使い分けたい値があるため、それぞれをそれぞれの方法で 分岐していく ◦ OS ごとに複数のファイルを持ちたくないよねー •
それでも分岐にはそれぞれの流儀があるので、手間ですねぇ ◦ 本当は OS の使い分けはしたくないのだけれども …そのちまちました作業が楽しかったり面倒だった りするのだ
シンボリックリンク作成用スクリプト irb で内容確認すると面白いかも
.zshrc は uname と if で分岐する
.tmux.conf は if-shell, uname と grep で分岐する
.virmc は uname で分岐する この分岐意味あるのかわかってないが、少 なくともLinux向けの設定ではMacでは動か なかった
追加した機器 • macOSユーザガイド 「Macで複数のディスプレイを使う」によると、外部ディスプレイ の接続対応数は 1 。 Apple さんは大画面ディスプレイを 1
つだけ接続するというスタイル推し。 • 私は複数枚使いたかったので、DisplayLink 対応のドックを購入した。 WAVLINK: WL-UG69DK1-A https://www.amazon.co.jp/gp/product/B0832ZR493/ DisplayLink Manager.app を入れると複数枚のディスプレイに対応できる。 • ただし、DisplayLinkはディスプレイの縦置き表示には対応していない様子。 ◦ 対応が待たれる。ディスプレイが 1 枚生きながらに死んでるのよ …
None
OSごとに設定分岐できるの便利!! 以上