*
!.gitignore
!*.zsh
+!*.sh
!.zshrc
!.zshenv
!.zprofile
# shell variables
export SHELL="/bin/zsh"
export ZDOTDIR="$HOME/.config/zsh"
-export ZSH="$XDG_CONFIG_HOME/zsh"
+export ZSH="$ZDOTDIR"
export ZSH_CUSTOM="$ZSH/custom"
export ZSH_COMPDUMP="$ZSH/cache/.zcompdump-$HOST"
# path variables
export PATH="$PATH:$HOME/.local/bin:."
-export PATH="$PATH:$REPOS/script:$REPOS/ruby:"
+export PATH="$PATH:$REPOS/script:$REPOS/ruby"
export CDPATH=".:$HOME:$HOME/$REPOS:$HOME/$XDG_CONFIG_HOME:/"
# language variables
export GOPATH="$XDG_DATA_HOME/go"
-export PERL5LIB="$XDG_DATA_HOME/perl5::$PERL5LIB"
export PERL_LOCAL_LIB_ROOT="$XDG_DATA_HOME/perl5"
export CARGO_HOME="$XDG_DATA_HOME/cargo"
export RUSTUP_HOME="$XDG_DATA_HOME/rustup"
export PATH="$PATH:$XDG_DATA_HOME/gem/ruby/3.0.0/bin"
# preferred programs
-export PAGER='less'
-export MANPAGER='less'
-export EDITOR="nvim"
-export DIFFPROG="nvim -d"
-export VISUAL="nvim"
-export BROWSER="firefox"
+export PAGER='/usr/bin/less'
+export LESS='-R --use-color -Dd+r$Du+b'
+export MANPAGER='/usr/bin/less -R --use-color -Dd+r -Du+b'
+export EDITOR="/usr/bin/nvim"
+export DIFFPROG="/usr/bin/nvim -d"
+export VISUAL="/usr/bin/nvim"
+export BROWSER="/usr/bin/firefox"
export EMAIL='huck@huck.website'
-# vim config
-export MYVIMRC="$XDG_CONFIG_HOME/nvim/init.lua"
-
# config paths
export LESSHISTFILE="$XDG_STATE_HOME/less/history"
export TERMINFO="$XDG_DATA_HOME/terminfo"
. $ZSH/.zshenv
ZSHEXTRA=$ZSH/extra
ZSHINCLUDE=$ZSH/include
-[[ ! -d $ZSH ]] && mkdir $ZSH/{,cache,extra,include,include}
-
-fpath+="$ZSHEXTRA/zfunc"
+[[ ! -d $ZSH ]] && mkdir $ZSH/{,cache,extra,include}
# source files from include dir
-for file in $ZSHINCLUDE/*; do
- . ${file}
-done
-
+for file in $ZSHINCLUDE/*; do . ${file}; done
-# start programs
-[[ -z $(pgrep tmux) ]] && tmux start &
+# start programs
[[ -f $XDG_CONFIG_HOME/.dircolors ]] && eval $(dircolors -b $XDG_CONFIG_HOME/.dircolors)
-eval "$(zoxide init zsh --cmd z)"
+[[ $(which zoxide) ]] && eval "$(zoxide init zsh --cmd z)"
# options ------------------------------------------------------------
ENABLE_CORRECTION="true"
add-zsh-hook chpwd chpwd_recent_dirs
-chpwd() { l }
+chpwd() { ls -Ah }
autoload -Uz run-help
# custom prompt -----------------------------------------------------
if [[ -n $SSH_CONNECTION ]]; then
-PROMPT='%(?..%B%F{red}x)
-%B%F{yellow}%n%b%f@%B%F{blue}%M%b%f -> %F{green}%d %F{red}[SSH] %B%F{magenta}[gentoo]%b%f $(git_prompt_enhanced_status)
+PROMPT='%(?..%B%F{red}x)
+%B%F{yellow}%n%b%f@%B%F{blue}%M%b%f -> %F{green}%d %F{red}[SSH] %B%F{magenta}[gentoo]%b%f $(git_prompt_enhanced_status)
%B%F{green}%(!.#.$) %f%b> '
RPROMPT='[%!]'
else
PS2='%B%F{green}%(!.#.$)%f%b > %F{cyan}*%f '
PS3='%B%F{green}%(!.#.$)%f%b %B%F{magenta}? '
-
alias lsblk='lsblk -f'
alias reload='source $ZSH/.zshrc'
alias quit='disown -a && exit'
-alias msg='sudo dmesg -H --level=err'
alias :q='exit'
# vim aliases
--- /dev/null
+#!/bin/bash
+
+# start tmux server if it's not already running
+[[ ! $(pgrep tmux) ]] && tmux start
+
+# exit if already in a tmux session
+[[ -n $TMUX ]] && return
+
+# check if any sessions exit
+if [[ $(tmux list-sessions | wc -l) -ne 0 ]]; then
+ if [[ $(tmux list-sessions -F"#{?session_attached,,x}" | grep "x" | wc -l) -eq 1 ]] && [[ -z $SSH_CLIENT ]]; then
+ tmux attach-session -t $(tmux list-sessions -F"#{?session_attached,,#S}" )
+ return
+ else
+ printf '\033[32;1mcurrent \033[33;1mtmux \033[32;1msessions\033[0m:\n'
+ tmux list-sessions -F"#S - (#{?session_attached,attached,not attached})"
+ printf '\033[34;1mattach session?\033[0;m: [\033[35;1mname\033[0m] \033[37;2m(empty if none)\033[0m: '
+ fi
+else
+ printf '\033[34;1mno \033[33;1mtmux \033[34;1msessions active\n'
+ printf '\033[34;1mcreate new session?\033[0;m: [\033[35;1mname\033[0m] \033[37;2m(empty if none)\033[0m: '
+fi
+
+read session
+
+# start requested session - since it uses grep you just have to put enough of a unique identifier to select
+if [[ -n $session ]]; then
+ if tmux list-sessions -F"#S" | grep -q "$session"; then
+ tmux attach-session -t $session
+ return
+ elif [[ $session == new ]]; then
+ tmux new-session
+ return
+ else
+ tmux new-session -s $session
+ return
+ fi
+fi
+
+return
+++ /dev/null
-#!/bin/zsh
-if [[ -z $TMUX ]]; then
- if [[ $(tmux list-sessions | wc -l) -ne 0 ]]; then
- if [[ $(tmux list-sessions -F"#{?session_attached,,x}" | grep "x" | wc -l) -eq 1 ]] && [[ -z $SSH_CLIENT ]]; then
- tmux attach-session -t $(tmux list-sessions -F"#{?session_attached,,#S}" )
- return
- else
- printf '\033[32;1mCurrent \033[33;1mtmux \033[32;1msessions\033[0m:\n'
- tmux list-sessions -F"#S - (#{?session_attached,Attached,Not Attached})"
- printf '\033[34;1mAttach session?\033[0;m: [\033[35;1mname\033[0m] \033[37;2m(empty if none)\033[0m: '
-
- fi
- else
- printf '\033[34;1mNo \033[33;1mtmux \033[34;1msessions active\n'
- printf '\033[34;1mCreate new session?\033[0;m: [\033[35;1mname\033[0m] \033[37;2m(empty if none)\033[0m: '
- fi
-
- read session
-
- if [[ -n $session ]]; then
- if tmux list-sessions -F"#S" | grep -q "$session"; then
- tmux attach-session -t $session
- return
- elif [[ $session == new ]]; then
- tmux new-session
- return
- else
- tmux new-session -s $session
- return
- fi
- fi
- return
-fi