多分fish_variablesはPC間で共有しないほうがいい
#fish
~/.config/fish/fish_variablesとは
ユニバーサル変数が書かれる
ここに書かれたユニバーサル変数は全fishセッションで共有される
こんな感じ
code:fish_variables
# This file contains fish universal variable definitions.
# VERSION: 3.0
SETUVAR --export EDITOR:nvim
SETUVAR FZF_DEFAULT_OPTS:\x2d\x2dheight\x2040\x25
# ...
SETUVAR fish_user_paths:/home/ras/\x2erye/shims\x1e/home/ras/\x2evolta/bin
/home/ras/\x2erye/shimsのようにエスケープ済みの絶対パスが記述されている
$HOME/.rye/shimsのまま記述してくれるとうれしいんだけどね
ユーザー名(ras)が残るので別のユーザー名を使用しているPCで使えない
こういうissueもあるけど多分却下される
Expand "~" in path variables #6641
でもdotfilesなどでfishの設定は共有したい
ras0q/dotfiles-v2/common/config/fish
そこで多分ユーザー側がやるべきはこんな感じ(だと思う)
fish_variablesを.gitignoreする
.env を .gitignore するのと同じ思想
全てのPCで環境変数が全く同じとは限らない
fish_add_pathで共通の$fish_user_pathsを設定する
~/.config/fish/config.fishがよさそう
↑のリンクに "It is (by default) safe to use fish_add_path in config.fish" って書いてある
全ユーザー共通のユニバーサル変数をどこかに定義しておく
set -q EDITOR; or set -Ux EDITOR nvimみたいなシェルスクリプトを置く
~/.config/fish/conf.d以下がいいのかな
ここが自信ない
名前順に呼ばれるので_variables.fishとかで先頭にしておくとよい
_variables.fish in dotfiles-v2
ユーザー固有のユニバーサル変数は都度fish_add_path関数で定義する
ユーザー固有のユニバーサル変数なんてあるのか?
参考
fish_add_path - add to the path — fish-shell 3.6.1 documentation
fishで「パスを通す」ための最終解答