Add zsh and common shell configurations
parent
eade636451
commit
2e7ed25fdf
|
@ -0,0 +1,51 @@
|
||||||
|
#!/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"
|
||||||
|
|
||||||
|
export LANG=en_CA.UTF-8
|
||||||
|
# TZ
|
||||||
|
|
||||||
|
# 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"
|
||||||
|
|
||||||
|
# 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 NPM_CONFIG_USERCONFIG="$XDG_CONFIG_HOME/npm/npmrc"
|
||||||
|
|
||||||
|
|
||||||
|
alias wget="wget --hsts-file=$XDG_CACHE_HOME/wget-hsts"
|
||||||
|
export GNUPGHOME="$XDG_DATA_HOME/gnupg"
|
||||||
|
|
||||||
|
|
||||||
|
export PATH # just in case
|
||||||
|
|
||||||
|
# Note that this script has been run
|
||||||
|
export E_STARTED=1
|
|
@ -0,0 +1,8 @@
|
||||||
|
# `.zshenv' is sourced on all invocations of the shell, unless the -f
|
||||||
|
# option is set. It should contain commands to set the command search
|
||||||
|
# path, plus other important environment variables.
|
||||||
|
|
||||||
|
# `.zshenv' should not contain commands that produce output or assume
|
||||||
|
# the shell is attached to a tty.
|
||||||
|
|
||||||
|
[ -n "$E_STARTED" ] || . $HOME/.config/shell/start.sh
|
|
@ -0,0 +1,28 @@
|
||||||
|
# `.zshrc' is sourced in interactive shells. It should contain
|
||||||
|
# commands to set up aliases, functions, options, key bindings, etc.
|
||||||
|
|
||||||
|
autoload -U colors && colors
|
||||||
|
|
||||||
|
HISTSIZE=10000
|
||||||
|
SAVEHIST=10000
|
||||||
|
HISTFILE=$XDG_CACHE_HOME/zshhistory
|
||||||
|
|
||||||
|
autoload -U compinit
|
||||||
|
zstyle ':completion:*' menu select
|
||||||
|
zmodload zsh/complist
|
||||||
|
compinit
|
||||||
|
_comp_options+=(globdots) # include hidden files
|
||||||
|
|
||||||
|
echo "Hi"
|
||||||
|
|
||||||
|
# edit line in editor w/ ctrl-e (from Luke Smith's .zshrc)
|
||||||
|
autoload edit-command-line; zle -N edit-command-line
|
||||||
|
bindkey '^e' edit-command-line
|
||||||
|
|
||||||
|
[ -f "$E_SCRIPTS_DIR/aliases.sh" ] && source "$E_SCRIPTS_DIR/aliases.sh"
|
||||||
|
|
||||||
|
# Run `git -C .config/zsh/autocomplete pull' to update
|
||||||
|
source $ZDOTDIR/autocomplete/zsh-autocomplete.plugin.zsh
|
||||||
|
|
||||||
|
# This must be placed at the end
|
||||||
|
source /usr/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
|
Loading…
Reference in New Issue