設定ファイルとかデータとかの保存場所がアプリケーション毎にバラバラだと、$home
が汚染されるので、XDG Base Directoryに基づく環境変数を設定していきます。
XDG_CONFIG_HOME
: アプリごとの設定ファイル~/.config
XDG_CACHE_HOME
: アプリのキャッシュファイルを保存~/.cache
XDG_DATA_HOME
: アプリの各種データファイルを保存~/.local/share
XDG_STATE_HOME
: アプリの状態ファイルを保存~/.local/state
XDG_RUNTIME_DIR
: ユーザー固有のデータファイルを保存 dotfilesでは使わない/run/user/$UID
Nushellに環境変数を設定する
Nushellの追記用環境変数は、デフォルトのenv.nu
とは別で管理してます。
~/dev/dotfiles/nushell/env.nu
が実態なので、こちらに追記します。
# XDG
$env.XDG_CONFIG_HOME = '~/.config'
$env.XDG_CACHE_HOME = '~/.cache'
$env.XDG_DATA_HOME = '~/.local/share'
$env.XDG_STATE_HOME = '~/.local/state'
設定を反映させます。
config reset --env
open ~/dev/dotfiles/nushell/env.nu | save --append $nu.env-path