Skip to content

Home

Environment

Environment variables (managed by mise):

Env VarValue
EDITORBare Neovim
VISUALNeovim

Home Structure

This repo follows the XDG Base Directory Specification for organising dotfiles and runtime data:

XDG variableDefault pathPurpose
XDG_CONFIG_HOME~/.configUser-specific configuration
XDG_DATA_HOME~/.local/shareUser-specific data files
XDG_STATE_HOME~/.local/statePersistent application state
XDG_CACHE_HOME~/.cacheNon-essential cached data

The basedir variables are not set explicitly — applications fall back to the defaults per the spec. XDG user directories (XDG_DESKTOP_DIR, XDG_DOWNLOAD_DIR, etc.) are declared in ~/.config/user-dirs.dirs and sourced by mise so they are available as environment variables.

Additional conventions:

  • repos/${owner}/${repo}: Repositories are to be cloned in this directory hierarchy, where the owner may refer to a user or an organization.
  • playground/*/: Playground for any kind of bounded trial or draft. No cloud backup or pushed to any remote.
  • ~/.cache/dotfiles/: Custom dotfiles caches for performance optimizations (see e.g. Bash caching).

Fonts

Kitty terminal emulator

Kitty has a built-in NERD font, so no need to configure one.