🌙

luaにおいてmacとlinuxで処理を分ける

に公開

コード

wezterm.lua
-- tmuxのパス用にtm変数
local tm
-- target_tripleはtargetのos名を返すので分岐
if wezterm.target_triple:match("darwin") then
  tm = "/opt/homebrew/bin/tmux"
else
-- 私のlinux環境ならそのままはればいけました
  tm = "tmux"
end

必要になったわけ

最近は設定などのファイル(dotfiles)をgithub経由で共有して、各デバイスで統一されたconfigを使えるようにしているのですが、今回のようにosごとに処理やパスを分ける必要があったため。

今回はweztermのdefault_progtmuxにすることで起動時に自動でtmuxを起動できるようにしたのですが、macだとweztermの起動時にPATHを読まないせいでdefault_prog = { "tmux" }だけではtmuxが見つからないとエラーになってしまします。
そこでmacの場合はbrew経由のパスを指定するようにしたわけです。

chatGPT様々

Discussion