XDG Base Directory

設定ファイルとかデータとかの保存場所がアプリケーション毎にバラバラだと、$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

Ref.

XDG Base Directory Specification

See Also

Nushell

Rust製シェル

2024/04/15

今日見つけたツール

DuckDB

SQLiteライクな軽量DB

VSCode - cSpell

スペルチェックを行う機能拡張

Vim

CLIで使用するテキストエディタ