#!/usr/bin/sh # Common startup shell script # Don't re-run this script # [ -n "$E_STARTED" ] || . $HOME/.config/shell/start.sh export E_SCRIPTS_DIR="$HOME/.config/shell" export XDG_CONFIG_HOME="$HOME/.config" export XDG_USER_CONFIG_DIR="$XDG_CONFIG_HOME" export XDG_DATA_HOME="$HOME/.local/share" export XDG_CACHE_HOME="$HOME/.cache" # Make nix's desktop files show up export XDG_DATA_DIRS="$HOME/.nix-profile/share:$XDG_DATA_DIRS" export LANG=en_CA.UTF-8 # TZ export EDITOR=nvim # functions to add directories to $PATH path_add(){ PATH="$1:$PATH" } path_add_end(){ PATH="$PATH:$1" } # Avoid having too many things in ~/ ----------------------- path_add "$HOME/.local/bin" path_add "$HOME/.config/shell/bin" # Doom Emacs path_add "$HOME/.config/emacs/bin" # Rust, cargo export CARGO_HOME="$XDG_DATA_HOME/cargo" [ -f $CARGO_HOME/env ] && . "$CARGO_HOME/env" # golang path_add "/usr/local/go/bin" export GOPROXY=direct export GOPATH="$XDG_DATA_HOME/go" path_add "$GOPATH/bin" # node, npm, yarn export NVM_DIR="$HOME/.config/nvm" [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm [ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion export NPM_CONFIG_USERCONFIG="$XDG_CONFIG_HOME/npm/npmrc" export PATH # just in case # Note that this script has been run export E_STARTED=1