# XDG Base Directory SpecificationXDG_CONFIG_HOME=$HOME/.configXDG_CACHE_HOME=$HOME/.cacheXDG_DATA_HOME=$HOME/.local/shareXDG_STATE_HOME=$HOME/.local/state# ZSH configuration directoryZDOTDIR=$XDG_CONFIG_HOME/zsh# Default programsEDITOR=nvimVISUAL=nvimTERMINAL=kittyBROWSER=bravePAGER="less -R"# Less pager configurationLESS='-R --mouse --incsearch'LESSHISTFILE=$XDG_STATE_HOME/less/history# Development tools home directoriesCARGO_HOME=$XDG_DATA_HOME/cargoRUSTUP_HOME=$XDG_DATA_HOME/rustupGOPATH=$XDG_DATA_HOME/goGOBIN=$XDG_DATA_HOME/go/binNPM_CONFIG_CACHE=$XDG_CACHE_HOME/npmNPM_CONFIG_PREFIX=$XDG_DATA_HOME/npmPYTHONUSERBASE=$XDG_DATA_HOME/pythonPYTHONPYCACHEPREFIX=$XDG_CACHE_HOME/python
The zshenv file loads systemd environment variables at shell startup:
zshenv
if [ -x /usr/lib/systemd/user-environment-generators/30-systemd-environment-d-generator ]; then set -a eval $(/usr/lib/systemd/user-environment-generators/30-systemd-environment-d-generator 2>/dev/null) set +afi
This ensures:
Environment variables from ~/.config/environment.d/*.conf are loaded
Variables are available to systemd user services
Consistent environment across all applications
Systemd user services (like hypridle.service) can access these environment variables.
[options]PgpFetch # Fetch PGP keys automaticallyDevel # Check -git packages for updatesProvides # Look for matching providersBottomUp # Show AUR packages firstSudoLoop # Keep sudo timestamp aliveRemoveMake # Remove makedeps after installCleanAfter # Clean build directory after installCombinedUpgrade # Upgrade both repos and AUR in one goBatchInstall # Install multiple packages in one batchUpgradeMenu # Show menu to select packages to upgradeNewsOnUpgrade # Show Arch news before upgradingSaveChanges # Save package changesSkipReview # Skip PKGBUILD review (use with caution)DevelSuffixes = -git -cvs -svn -bzr -darcs -always -hg -fossilSortBy = votesSearchBy = name-descCompletionInterval = 7[bin]FileManager = yazi # File manager for package filesBat = bat # Syntax highlighting for PKGBUILDs
# Update system (repo + AUR packages)paru# Search for packagesparu <package-name># Install packageparu -S <package-name># Remove packageparu -R <package-name># Clean cacheparu -Sc# Show package infoparu -Si <package-name>
The SkipReview option is enabled for convenience but means you won’t review PKGBUILDs before installation. Consider disabling this if security is a concern.
# Less pager colorsexport LESS_TERMCAP_mb=$'\e[1;31m' # Begin blinkingexport LESS_TERMCAP_md=$'\e[1;36m' # Begin bold (cyan)export LESS_TERMCAP_me=$'\e[0m' # End modeexport LESS_TERMCAP_se=$'\e[0m' # End standoutexport LESS_TERMCAP_so=$'\e[30;43m' # Begin standout (yellow bg)export LESS_TERMCAP_ue=$'\e[0m' # End underlineexport LESS_TERMCAP_us=$'\e[4;32m' # Begin underline (green)
Result: Colorful, readable man pages instead of plain text.