Add zsh and common shell configurations

old-yadm
earnest ma 2021-07-01 21:42:48 -04:00
parent eade636451
commit 2e7ed25fdf
No known key found for this signature in database
GPG Key ID: 6B361FA81C5FB695
4 changed files with 90 additions and 0 deletions

51
.config/shell/start.sh Executable file
View File

@ -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

8
.config/zsh/.zshenv Normal file
View File

@ -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

28
.config/zsh/.zshrc Normal file
View File

@ -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

3
.zshenv Normal file
View File

@ -0,0 +1,3 @@
# load everything from ~/.config/zsh
export ZDOTDIR="$HOME/.config/zsh"
[ -f "$ZDOTDIR/.zshenv" ] && source $ZDOTDIR/.zshenv