Move shell .files
This commit is contained in:
45
shell/.Xresources
Normal file
45
shell/.Xresources
Normal file
@@ -0,0 +1,45 @@
|
||||
! special
|
||||
*.foreground: #c6c8d1
|
||||
*.background: #161821
|
||||
*.cursorColor: #c6c8d1
|
||||
|
||||
! black
|
||||
*.color0: #161821
|
||||
*.color8: #6b7089
|
||||
|
||||
! red
|
||||
*.color1: #e27878
|
||||
*.color9: #e98989
|
||||
|
||||
! green
|
||||
*.color2: #b4be82
|
||||
*.color10: #c0ca8e
|
||||
|
||||
! yellow
|
||||
*.color3: #e2a478
|
||||
*.color11: #e9b189
|
||||
|
||||
! blue
|
||||
*.color4: #84a0c6
|
||||
*.color12: #91acd1
|
||||
|
||||
! magenta
|
||||
*.color5: #a093c7
|
||||
*.color13: #ada0d3
|
||||
|
||||
! cyan
|
||||
*.color6: #89b8c2
|
||||
*.color14: #95c4ce
|
||||
|
||||
! white
|
||||
*.color7: #c6c8d1
|
||||
*.color15: #d2d4de
|
||||
|
||||
URxvt.font: xft:Source Code Pro:size=10.5
|
||||
URxvt.depth: 32
|
||||
URxvt*scrollBar: false
|
||||
URxvt*mouseWheelScrollPage: true
|
||||
URxvt*cursorBlink: true
|
||||
URxvt*saveLines: 99999
|
||||
URxvt*internalBorder: 5
|
||||
URxvt*geometry: 70x19
|
23
shell/.aliases
Normal file
23
shell/.aliases
Normal file
@@ -0,0 +1,23 @@
|
||||
# Common Aliases
|
||||
# These will be sourced into the main *sh config that's loaded
|
||||
|
||||
alias ls='ls --color=auto'
|
||||
alias ll='ls -l'
|
||||
alias la='ls -Alh'
|
||||
alias l='ls -C'
|
||||
alias ld='ls -ld'
|
||||
alias lo='ls -lh | sed -e 's/--x/1/g' -e 's/-w-/2/g' -e 's/-wx/3/g' -e 's/r--/4/g' -e 's/r-x/5/g' -e 's/rw-/6/g' -e 's/rwx/7/g' -e 's/---/0/g''
|
||||
alias back='cd $OLDPWD'
|
||||
alias clkear='clear'
|
||||
alias ckear='clear'
|
||||
alias reload='source ~/.zshrc'
|
||||
alias webshare='python -c "import SimpleHTTPServer;SimpleHTTPServer.test()"'
|
||||
alias ipa='ip addr|grep inet'
|
||||
alias cls='clear;ls'
|
||||
alias rvi='sudo -E vim'
|
||||
alias ta='tmux attach -t C0DE || tmux new -s C0DE'
|
||||
alias open='xdg-open'
|
||||
|
||||
|
||||
# Use `shred` if it exists, or just `rm -P`
|
||||
type "$shred" > /dev/null || alias shred='rm -P'
|
96
shell/.bashrc
Normal file
96
shell/.bashrc
Normal file
@@ -0,0 +1,96 @@
|
||||
# Include our shared environment stuff
|
||||
source ~/.environment
|
||||
source ~/.aliases
|
||||
source ~/.functions
|
||||
|
||||
# Basic options
|
||||
export HISTCONTROL=ignoredups
|
||||
export COLORFGBG='default;default'
|
||||
|
||||
export LESS_TERMCAP_mb=$'\E[01;31m'
|
||||
export LESS_TERMCAP_md=$'\E[01;31m'
|
||||
export LESS_TERMCAP_me=$'\E[0m'
|
||||
export LESS_TERMCAP_se=$'\E[0m'
|
||||
export LESS_TERMCAP_so=$'\E[01;44;33m'
|
||||
export LESS_TERMCAP_ue=$'\E[0m'
|
||||
export LESS_TERMCAP_us=$'\E[01;32m'
|
||||
|
||||
shopt -s checkwinsize
|
||||
eval "$(dircolors -b /etc/dircolors)"
|
||||
|
||||
|
||||
# X Terminal titles
|
||||
case "$TERM" in
|
||||
xterm*|rxvt*)
|
||||
PROMPT_COMMAND='echo -ne "\033]0;${USER}@${HOSTNAME}: ${PWD}\007"'
|
||||
;;
|
||||
*)
|
||||
;;
|
||||
esac
|
||||
|
||||
|
||||
# Bash completion
|
||||
if [ -f /etc/bash_completion ]; then
|
||||
. /etc/bash_completion
|
||||
fi
|
||||
|
||||
echo "appending a '&' on the back of commands will run them in the background"
|
||||
echo "Don't forget ^s to pause commands and ^q to resume paused commands"
|
||||
|
||||
function timer_start {
|
||||
timer=${timer:-$SECONDS}
|
||||
}
|
||||
|
||||
function timer_stop {
|
||||
timer_show=$(($SECONDS - $timer))
|
||||
unset timer
|
||||
}
|
||||
|
||||
trap 'timer_start' DEBUG
|
||||
PROMPT_COMMAND=timer_stop
|
||||
|
||||
# Prompt
|
||||
# Black 0;30 Dark Gray 1;30
|
||||
# Blue 0;34 Light Blue 1;34
|
||||
# Green 0;32 Light Green 1;32
|
||||
# Cyan 0;36 Light Cyan 1;36
|
||||
# Red 0;31 Light Red 1;31
|
||||
# Purple 0;35 Light Purple 1;35
|
||||
# Brown 0;33 Yellow 1;33
|
||||
# Light Gray 0;37 White 1;37
|
||||
|
||||
BLACK='\[\033[0;30m\]'
|
||||
BLUE='\[\033[0;34m\]'
|
||||
GREEN='\[\033[0;32m\]'
|
||||
CYAN='\[\033[0;36m\]'
|
||||
RED='\[\033[0;31m\]'
|
||||
PURPLE='\[\033[0;35m\]'
|
||||
BROWN='\[\033[0;33m\]'
|
||||
LGRAY='\[\033[0;37m\]'
|
||||
DGRAY='\[\033[1;30m\]'
|
||||
LBLUE='\[\033[1;34m\]'
|
||||
LGREEN='\[\033[1;32m\]'
|
||||
LCYAN='\[\033[1;36m\]'
|
||||
LRED='\[\033[1;31m\]'
|
||||
LPURPLE='\[\033[1;35m\]'
|
||||
YELLOW='\[\033[1;33m\]'
|
||||
WHITE='\[\033[1;37m\]'
|
||||
|
||||
RBG='\e[41m'
|
||||
ALERT=${WHITE}${RBG} # Bold White on red background
|
||||
NC="\e[m" # Color Reset
|
||||
|
||||
PS1="\[\033]0;Bash | \u@\H:\w\007\]" # Add a dynamically changing window title - Shows current user@host:current directory (comment this and "$PS1" at beginning of next line when not an a terminal emulator)
|
||||
PS1="$PS1""${LGREEN}[${LPURPLE}\u${WHITE}@${LBLUE}\h${LGREEN}]-(${YELLOW}\w${LGREEN})"
|
||||
PS1="$PS1""\n [${LRED}\@ ${LGRAY}Last:${WHITE} \${timer_show}s ${LCYAN}Err:"
|
||||
|
||||
# Error code test - not working
|
||||
#if [[ \$? = "0" ]] # If last program exited with 0 (good exit)
|
||||
#then
|
||||
PS1="$PS1"" ${WHITE}\$?" # show white error code
|
||||
#else
|
||||
# PS1="$PS1"" ${LRED}\$?" # if last program exited with anything else, show red error code
|
||||
#fi
|
||||
|
||||
PS1="$PS1"" ${LPURPLE}BJobs:${PURPLE} \j ${LBLUE}Hist: ${LCYAN}\!${LGREEN}]\n ->${LGRAY} "
|
||||
#PS1="$PS1"" ${NC}"
|
22
shell/.dmenurc
Executable file
22
shell/.dmenurc
Executable file
@@ -0,0 +1,22 @@
|
||||
# Configuration for D-Menu (I use rofi mostly, this is usually forgotten about)
|
||||
|
||||
## define the font for dmenu to be used
|
||||
DMENU_FN="Source Code Pro Semibold 10.5"
|
||||
|
||||
## background colour for unselected menu-items
|
||||
DMENU_NB="#6b7089"
|
||||
|
||||
## textcolour for unselected menu-items
|
||||
DMENU_NF="#c6c8d1"
|
||||
|
||||
## background colour for selected menu-items
|
||||
DMENU_SB="#89b8c2"
|
||||
|
||||
## textcolour for selected menu-items
|
||||
DMENU_SF="#161821"
|
||||
|
||||
## command for the terminal application to be used:
|
||||
TERMINAL_CMD="terminal -e"
|
||||
|
||||
## export our variables
|
||||
DMENU_OPTIONS="-fn $DMENU_FN -nb $DMENU_NB -nf $DMENU_NF -sf $DMENU_SF -sb $DMENU_SB"
|
4
shell/.dmrc
Normal file
4
shell/.dmrc
Normal file
@@ -0,0 +1,4 @@
|
||||
# LightDM configuration
|
||||
|
||||
[Desktop]
|
||||
Session=i3
|
48
shell/.environment
Normal file
48
shell/.environment
Normal file
@@ -0,0 +1,48 @@
|
||||
# Skip all this for non-interactive shells
|
||||
[[ -z "$PS1" ]] && return
|
||||
|
||||
# Force en_US UTF-8 environment
|
||||
export LC_ALL=en_US.UTF-8
|
||||
export LANG=en_US.UTF-8
|
||||
export LANGUAGE=en_US.UTF-8
|
||||
|
||||
# Terminal Editor
|
||||
export EDITOR=vim
|
||||
|
||||
# Paths
|
||||
export PATH=${HOME}/bin:$PATH:/usr/lib/wine/bin:/sbin:/usr/sbin:/usr/local/bin
|
||||
|
||||
# Give the path to the dotfiles
|
||||
export _DOTFILES="${HOME}/dotfiles"
|
||||
|
||||
# Allow checking for automatic updates
|
||||
export ENABLE_DOTFILES_AUTO_UPDATE=true
|
||||
|
||||
# Set "true" to update without asking first
|
||||
export DISABLE_DOTFILES_UPDATE_PROMPT=false
|
||||
|
||||
# Update every 2 weeks (OMZ default)
|
||||
export UPDATE_DOTFILES_DAYS=13
|
||||
|
||||
# Whether or not to automatically connect to a TMUX session when opening the shell
|
||||
export ENABLE_TMUXAC=false
|
||||
|
||||
# If there is not an active tmux session, we probably want one
|
||||
# Otherwise, the shell will not open the session again (eg. opening tabs, new terminals)
|
||||
if $(tmux list-sessions >> /dev/null 2>&1); then
|
||||
export TMUXATT=true
|
||||
else
|
||||
export TMUXATT=false
|
||||
fi
|
||||
|
||||
# Automatically attach tmux session "C0DE"
|
||||
if [[ -z "$TMUX" && "$TMUXATT" && "$ENABLE_TMUXAC" ]]; then
|
||||
tmux attach -t C0DE || tmux new -s C0DE
|
||||
fi
|
||||
|
||||
# Enable shell-history for interactive shells
|
||||
# https://github.com/pawamoy/shell-history
|
||||
#if [[ $- == *i* ]] && command -v shellhistory-location &>/dev/null; then
|
||||
# . $(shellhistory-location)
|
||||
# shellhistory enable
|
||||
#fi
|
91
shell/.functions
Normal file
91
shell/.functions
Normal file
@@ -0,0 +1,91 @@
|
||||
# Functions gathered from around the internet
|
||||
# Takes 1st argument and attempts to extract them in the current directory
|
||||
extract () { # Extracts most common compressed files
|
||||
if [ -f $1 ] ; then
|
||||
case $1 in
|
||||
*.tar.bz2) tar xjf $1 ;;
|
||||
*.tar.gz) tar xzf $1 ;;
|
||||
*.bz2) bunzip2 $1 ;;
|
||||
*.rar) rar x $1 ;;
|
||||
*.gz) gunzip $1 ;;
|
||||
*.tar) tar xf $1 ;;
|
||||
*.tbz2) tar xjf $1 ;;
|
||||
*.tgz) tar xzf $1 ;;
|
||||
*.zip) unzip $1 ;;
|
||||
*.Z) uncompress $1 ;;
|
||||
*) echo "'$1' cannot be extracted via extract()" ;;
|
||||
esac
|
||||
else
|
||||
echo "'$1' is not a valid file"
|
||||
fi
|
||||
}
|
||||
# Takes 1st argument and makes a .tar.gz archive
|
||||
maketgz() { tar cvzf "${1%%/}.tar.gz" "${1%%/}/"; }
|
||||
# Takes 1st argument and makes a .zip archive
|
||||
makezip() { zip -r "${1%%/}.zip" "$1" ; }
|
||||
# Generate password - 1st argument is the number of characters, defaults to 20
|
||||
gpass() {
|
||||
local l=$1
|
||||
[ "$l" == "" ] && l=20
|
||||
tr -dc A-Za-z0-9-!@%^*_ < /dev/urandom | head -c ${l} | xargs
|
||||
}
|
||||
# Shows the current PS list for the signed in user - Not cygwin compatible
|
||||
myps() { ps $@ -u $USER -o pid,%cpu,%mem,bsdtime,command ; }
|
||||
# Searches the process list (ps) for 1st argument
|
||||
psgrep() {
|
||||
if [ ! -z $1 ] ; then
|
||||
echo "Grepping for processes matching $1..."
|
||||
ps aux | grep $1 | grep -v grep
|
||||
else
|
||||
echo "!! Need name to grep for"
|
||||
fi
|
||||
}
|
||||
# dirsize - finds directory sizes and lists them for the current directory
|
||||
dirsize (){
|
||||
du -shx * .[a-zA-Z0-9_]* 2> /dev/null | \
|
||||
egrep '^ *[0-9.]*[MG]' | sort -n > /tmp/list
|
||||
egrep '^ *[0-9.]*M' /tmp/list
|
||||
egrep '^ *[0-9.]*G' /tmp/list
|
||||
rm -rf /tmp/list
|
||||
}
|
||||
# Usage: up <Number of directories>. Blank for up one dir.
|
||||
up() {
|
||||
local d=""
|
||||
limit=$1
|
||||
for ((i=1; i <= limit; i++)); do
|
||||
d=$d/..
|
||||
done
|
||||
d=$(echo $d | sed 's/^\///')
|
||||
if [ -z "$d" ]; then
|
||||
d=..
|
||||
fi
|
||||
cd $d
|
||||
}
|
||||
# Search inside files for a string
|
||||
# Usage: search <regex string>
|
||||
search () {
|
||||
grep -r "$1" | fzf
|
||||
}
|
||||
# Search for a file by its name
|
||||
# Usage: ff <filename> (optional) <max depth>
|
||||
ff() { #find file
|
||||
if [ -z "${2}" ]; then
|
||||
find . -type f -iname "*${1}*"
|
||||
else
|
||||
find . -type f -maxdepth "${2}" -iname "*${1}*"
|
||||
fi
|
||||
}
|
||||
# Search for a file by its name and edit it
|
||||
# Usage: vf <filename> (optional) <max depth>
|
||||
vf() { vim "$(ff "$@" | fzf)"; }
|
||||
# Usage: replay <number of commands> to repeat. Blank for 1
|
||||
replay() {
|
||||
from="${1:-2}"
|
||||
to="${2:-1}"
|
||||
if [ "$from" -ne "$to" ]; then
|
||||
for i in `seq "$from" -1 "$(($to + 1))"`; do
|
||||
printf "$(fc -ln -${i} -${i}) && "
|
||||
done
|
||||
fi
|
||||
$(fc -ln -${to} -${to})
|
||||
}
|
51
shell/.gitconfig
Normal file
51
shell/.gitconfig
Normal file
@@ -0,0 +1,51 @@
|
||||
[core]
|
||||
excludesfile = ~/.gitignore
|
||||
editor = vim
|
||||
whitespace = trailing-space,space-before-tab
|
||||
autocrlf = false
|
||||
safecrlf = true
|
||||
preloadindex = 1
|
||||
pager = less -R
|
||||
[apply]
|
||||
whitespace = fix
|
||||
[color]
|
||||
ui = auto
|
||||
interactive = true
|
||||
status = true
|
||||
branch = true
|
||||
diff = true
|
||||
[push]
|
||||
default = tracking
|
||||
[alias]
|
||||
lol = log --all --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit
|
||||
st = status -sb
|
||||
lerl = log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit
|
||||
changelog = log --graph --pretty=format:'[%h] -%d %s (%cr) (%an)' --abbrev-commit --no-merges
|
||||
df = diff
|
||||
rpull = pull --rebase --stat
|
||||
pullr = pull --rebase
|
||||
unstage = reset
|
||||
dfc = diff --cached
|
||||
mergemaster = mergetool
|
||||
ci = commit -v
|
||||
push-with-tags = !git push && git push --tags
|
||||
pull-with-submodules = !git pull && git submodule update --init
|
||||
rpull-with-submodules = !git pull --rebase --stat && git submodule update --init
|
||||
freeze = !git-freeze
|
||||
tags = log -n1 --pretty=format:%h%d
|
||||
[merge]
|
||||
tool = vimdiff
|
||||
[mergetool "fugitive"]
|
||||
cmd = fugitive vim -f -c \"Gdiff\" \"$MERGED\"
|
||||
[user]
|
||||
email = dtodd@oceantech.com
|
||||
name = David Todd
|
||||
[include]
|
||||
path = ~/.githubtokens
|
||||
path = ~/.dotoverrides/gitconfig
|
||||
[diff]
|
||||
guitool = kdiff3
|
||||
[difftool "kdiff3"]
|
||||
path = /usr/bin/kdiff3
|
||||
[pull]
|
||||
rebase = true
|
139
shell/.stalonetrayrc
Normal file
139
shell/.stalonetrayrc
Normal file
@@ -0,0 +1,139 @@
|
||||
# vim:filetype=config:tw=80:et
|
||||
#
|
||||
# This is sample ~/.stalonetrayrc, resembling default configuration.
|
||||
# Remember: command line parameters take precedence.
|
||||
#
|
||||
# Directives introduced in 0.8 are marked with "NEW in 0.8"
|
||||
#
|
||||
####################################################################
|
||||
#
|
||||
# stalonetray understands following directives
|
||||
#
|
||||
####################################################################
|
||||
|
||||
# background <color> # color can be specified as an HTML hex triplet or
|
||||
# as a name from rgb.txt, note that '#' must be quoted
|
||||
background "#6b7089"
|
||||
|
||||
# decorations <decspec> # set trays window decorations; possible values for
|
||||
# decspec are: all, title, border, none
|
||||
decorations none
|
||||
|
||||
# display <display name> # as usual
|
||||
|
||||
# dockapp_mode <mode> # set dockapp mode, which can be either simple (for
|
||||
# e.g. OpenBox, wmaker for WindowMaker, or none
|
||||
# (default). NEW in 0.8.
|
||||
dockapp_mode none
|
||||
|
||||
# fuzzy_edges [<level>] # enable fuzzy edges and set fuzziness level. level
|
||||
# can be from 0 (disabled) to 3; this setting works
|
||||
# with tinting and/or transparent and/or pixmap
|
||||
# backgrounds
|
||||
fuzzy_edges 0
|
||||
|
||||
# geometry <geometry> # tray's geometry in standard X notation; width and
|
||||
# height are specified in slot_size multiples
|
||||
geometry 1x1+0+0
|
||||
|
||||
# grow_gravity <gravity> # one of N, S, E, W, NW, NE, SW, SE; tray will grow
|
||||
# in the direction opposite to one specified by
|
||||
# grow_gravity; if horizontal or vertical
|
||||
# direction is not specified, tray will not grow in
|
||||
# that direction
|
||||
grow_gravity NW
|
||||
|
||||
# icon_gravity <gravity> # icon placement gravity, one of NW, NE, SW, SE
|
||||
icon_gravity NW
|
||||
|
||||
# icon_size <int> # specifies dimensions of typical icon slot
|
||||
icon_size 24
|
||||
|
||||
# log_level <level> # controls the amount of logging output, level can
|
||||
# be err (default), info, or trace (enabled only
|
||||
# when stalonetray configured with --enable-debug)
|
||||
# NEW in 0.8.
|
||||
log_level err
|
||||
|
||||
# kludges kludge[,kludge] # enable specific kludges to work around
|
||||
# non-conforming WMs and/or stalonetray bugs.
|
||||
# NEW in 0.8. Argument is a
|
||||
# comma-separated list of
|
||||
# * fix_window_pos - fix tray window position on
|
||||
# erroneous moves by WM
|
||||
# * force_icons_size - ignore resize events on all
|
||||
# icons; force their size to be equal to
|
||||
# icon_size
|
||||
# * use_icon_hints - use icon window hints to
|
||||
# dtermine icon size
|
||||
|
||||
kludges force_icons_size
|
||||
|
||||
# max_geometry <geometry> # maximal tray dimensions; 0 in width/height means
|
||||
# no limit
|
||||
max_geometry 0x0
|
||||
|
||||
# no_shrink [<bool>] # disables shrink-back mode
|
||||
no_shrink false
|
||||
|
||||
# parent_bg [<bool>] # whether to use pseudo-transparency
|
||||
# (looks better when reparented into smth like FvwmButtons)
|
||||
parent_bg false
|
||||
|
||||
# pixmap_bg <path_to_xpm> # use pixmap from specified xpm file for (tiled) background
|
||||
# pixmap_bg /home/user/.stalonetraybg.xpm
|
||||
|
||||
# scrollbars <mode> # enable/disable scrollbars; mode is either
|
||||
# vertical, horizontal, all or none (default)
|
||||
# NEW in 0.8.
|
||||
scrollbars none
|
||||
|
||||
# scrollbars-size <size> # scrollbars step in pixels; default is slot_size / 4
|
||||
# scrollbars-step 8
|
||||
|
||||
# scrollbars-step <step> # scrollbars step in pixels; default is slot_size / 2
|
||||
# scrollbars-step 32
|
||||
|
||||
# slot_size <int> # specifies size of icon slot, defaults to
|
||||
# icon_size NEW in 0.8.
|
||||
|
||||
# skip_taskbar [<bool>] # hide tray`s window from the taskbar
|
||||
skip_taskbar true
|
||||
|
||||
# sticky [<bool>] # make a tray`s window sticky across the
|
||||
# desktops/pages
|
||||
sticky true
|
||||
|
||||
# tint_color <color> # set tinting color
|
||||
tint_color white
|
||||
|
||||
# tint_level <level> # set tinting level; level ranges from 0 (disabled)
|
||||
# to 255
|
||||
tint_level 0
|
||||
|
||||
# transparent [<bool>] # whether to use root-transparency (background
|
||||
# image must be set with Esetroot or compatible utility)
|
||||
transparent false
|
||||
|
||||
# vertical [<bool>] # whether to use vertical layout (horisontal layout
|
||||
# is used by default)
|
||||
vertical false
|
||||
|
||||
# window_layer <layer> # set the EWMH-compatible window layer; one of:
|
||||
# bottom, normal, top
|
||||
window_layer normal
|
||||
|
||||
# window_strut <mode> # enable/disable window struts for tray window (to
|
||||
# avoid converting of tray window by maximized
|
||||
# windows); mode defines to which screen border tray
|
||||
# will be attached; it can be either top, bottom,
|
||||
# left, right, none or auto (default)
|
||||
window_strut auto
|
||||
|
||||
# window_type <type> # set the EWMH-compatible window type; one of:
|
||||
# desktop, dock, normal, toolbar, utility
|
||||
window_type utility
|
||||
|
||||
# xsync [<bool>] # whether to operate on X server synchronously (SLOOOOW)
|
||||
xsync false
|
||||
|
201
shell/.tmux.conf
Normal file
201
shell/.tmux.conf
Normal file
@@ -0,0 +1,201 @@
|
||||
# 0 is too far from `
|
||||
set -g base-index 1
|
||||
|
||||
# Turn on mouse stuff
|
||||
set-option -g mouse off
|
||||
|
||||
# Turn off automatic window naming
|
||||
set-option -g allow-rename off
|
||||
|
||||
# Unbind the Page keys as they interfere with VIM
|
||||
unbind Pageup
|
||||
unbind Pagedown
|
||||
|
||||
# Change Kill window behavior
|
||||
#unbind C-&
|
||||
unbind &
|
||||
bind k confirm kill-pane
|
||||
bind K confirm kill-window
|
||||
|
||||
# Change our prefix to not have to move my fingers as far
|
||||
unbind C-b
|
||||
set-option -g prefix C-a
|
||||
bind-key C-a send-prefix
|
||||
|
||||
# Split with pipe and dash
|
||||
bind | split-window -h
|
||||
bind - split-window -v
|
||||
unbind '"'
|
||||
unbind %
|
||||
|
||||
# Reload with C-r
|
||||
bind r source-file ~/.tmux.conf
|
||||
|
||||
# Switch Panes using Alt-arrow without prefix
|
||||
bind -n M-Left select-pane -L
|
||||
bind -n M-Right select-pane -R
|
||||
bind -n M-Up select-pane -U
|
||||
bind -n M-Down select-pane -D
|
||||
|
||||
# Switch windows alt+number
|
||||
bind-key -n M-1 select-window -t 1
|
||||
bind-key -n M-2 select-window -t 2
|
||||
bind-key -n M-3 select-window -t 3
|
||||
bind-key -n M-4 select-window -t 4
|
||||
bind-key -n M-5 select-window -t 5
|
||||
bind-key -n M-6 select-window -t 6
|
||||
bind-key -n M-7 select-window -t 7
|
||||
bind-key -n M-8 select-window -t 8
|
||||
bind-key -n M-9 select-window -t 9
|
||||
bind-key -n M-0 select-window -t 0
|
||||
|
||||
# Resize panes without prefix
|
||||
bind -n M-< resize-pane -L 1
|
||||
bind -n M-> resize-pane -R 1
|
||||
|
||||
# Display visual indicator about which pane is what
|
||||
bind-key w display-panes
|
||||
|
||||
# Sets tmux scrollback history
|
||||
set -g history-limit 5000
|
||||
|
||||
# Syncronizes keys typed in one pane across all panes, press again to disable
|
||||
bind-key y setw synchronize-panes
|
||||
#
|
||||
#######################
|
||||
#### DESIGN CHANGES ###
|
||||
#######################
|
||||
#
|
||||
## panes
|
||||
#set -g pane-border-fg black
|
||||
#set -g pane-active-border-fg brightred
|
||||
#
|
||||
### Status bar design
|
||||
## status line
|
||||
#set -g status-utf8 on
|
||||
#set -g status-justify left
|
||||
#set -g status-bg default
|
||||
#set -g status-fg colour12
|
||||
#set -g status-interval 2
|
||||
#
|
||||
## messaging
|
||||
#set -g message-fg black
|
||||
#set -g message-bg yellow
|
||||
#set -g message-command-fg blue
|
||||
#set -g message-command-bg black
|
||||
#
|
||||
##window mode
|
||||
#setw -g mode-bg colour6
|
||||
#setw -g mode-fg colour0
|
||||
#
|
||||
## window status
|
||||
#setw -g window-status-format " #F#I:#W#F "
|
||||
#setw -g window-status-current-format " #F#I:#W#F "
|
||||
#setw -g window-status-format "#[fg=magenta]#[bg=black] #I #[bg=cyan]#[fg=colour8] #W "
|
||||
#setw -g window-status-current-format "#[bg=brightmagenta]#[fg=colour8] #I #[fg=colour8]#[bg=colour14] #W "
|
||||
#setw -g window-status-current-bg colour0
|
||||
#setw -g window-status-current-fg colour11
|
||||
#setw -g window-status-current-attr dim
|
||||
#setw -g window-status-bg green
|
||||
#setw -g window-status-fg black
|
||||
#setw -g window-status-attr reverse
|
||||
#
|
||||
## Info on left (I don't have a session display for now)
|
||||
#set -g status-left ''
|
||||
#
|
||||
## loud or quiet?
|
||||
#set-option -g visual-activity off
|
||||
#set-option -g visual-bell off
|
||||
#set-option -g visual-silence off
|
||||
#set-window-option -g monitor-activity off
|
||||
#set-option -g bell-action none
|
||||
#
|
||||
## Colors
|
||||
#set -g default-terminal "screen-256color"
|
||||
#
|
||||
## The modes {
|
||||
#setw -g clock-mode-colour colour135
|
||||
#setw -g mode-attr bold
|
||||
#setw -g mode-fg colour196
|
||||
#setw -g mode-bg colour238
|
||||
#
|
||||
## }
|
||||
## The panes {
|
||||
#
|
||||
#set -g pane-border-bg colour235
|
||||
#set -g pane-border-fg colour238
|
||||
#set -g pane-active-border-bg colour236
|
||||
#set -g pane-active-border-fg colour51
|
||||
#
|
||||
## }
|
||||
## The statusbar {
|
||||
#
|
||||
#set -g status-position bottom
|
||||
#set -g status-bg colour234
|
||||
#set -g status-fg colour137
|
||||
#set -g status-attr dim
|
||||
#set -g status-left '#{prefix_highlight}'
|
||||
#set -g status-right '#{net_speed} #[fg=yellow]#(hostname)#[default] #[fg=colour234,bg=colour241,bold] %m/%d #[fg=colour233,bg=colour245,bold] %H:%M:%S '
|
||||
#set -g status-right-length 70
|
||||
#set -g status-left-length 4
|
||||
#
|
||||
#setw -g window-status-current-fg colour81
|
||||
#setw -g window-status-current-bg colour238
|
||||
#setw -g window-status-current-attr bold
|
||||
#setw -g window-status-current-format ' #I#[fg=colour250]:#[fg=colour255]#W#[fg=colour50]#F '
|
||||
#
|
||||
#setw -g window-status-fg colour138
|
||||
#setw -g window-status-bg colour235
|
||||
#setw -g window-status-attr none
|
||||
#setw -g window-status-format ' #I#[fg=colour237]:#[fg=colour250]#W#[fg=colour244]#F '
|
||||
#
|
||||
#setw -g window-status-bell-attr bold
|
||||
#setw -g window-status-bell-fg colour255
|
||||
#setw -g window-status-bell-bg colour1
|
||||
#
|
||||
## }
|
||||
## The messages {
|
||||
#
|
||||
#set -g message-attr bold
|
||||
#set -g message-fg colour232
|
||||
#set -g message-bg colour166
|
||||
#
|
||||
## }
|
||||
#
|
||||
|
||||
# Load Iceberg theme
|
||||
source-file ~/.tmux/iceberg.tmux.conf
|
||||
|
||||
# Iceberg-specific settings
|
||||
# Powerline separators
|
||||
separator_left="\ue0b0"
|
||||
separator_right="\ue0b2"
|
||||
|
||||
subseparator_left="\ue0b1"
|
||||
subseparator_right="\ue0b3"
|
||||
|
||||
|
||||
|
||||
# List your plugins here
|
||||
set -g @plugin 'tmux-plugins/tpm'
|
||||
set -g @plugin 'tmux-plugins/tmux-resurrect'
|
||||
set -g @plugin 'tmux-plugins/tmux-net-speed'
|
||||
set -g @plugin 'tmux-plugins/tmux-continuum'
|
||||
set -g @plugin 'tmux-plugins/tmux-sessionist'
|
||||
set -g @plugin 'tmux-plugins/tmux-prefix-highlight'
|
||||
set -g @plugin 'tmux-plugins/tmux-logging'
|
||||
set -g @plugin 'nhdaly/tmux-better-mouse-mode'
|
||||
|
||||
# Plugin settings here
|
||||
set -g @continuum-restore 'on'
|
||||
|
||||
# Automatically install TPM plugins (eg. first launch)
|
||||
setenv -g TMUX_PLUGIN_MANAGER_PATH '$HOME/.tmux/plugins/'
|
||||
|
||||
# Install TPM if it does not exist
|
||||
if "test ! -d ~/.tmux/plugins/tpm" \
|
||||
"run 'git clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm && ~/.tmux/plugins/tpm/bin/install_plugins'"
|
||||
|
||||
# Initialize TMUX plugin manager (keep this line at the very bottom of tmux.conf)
|
||||
run '~/.tmux/plugins/tpm/tpm'
|
||||
|
57
shell/.vimrc
Normal file
57
shell/.vimrc
Normal file
@@ -0,0 +1,57 @@
|
||||
" Syntax highlighting based on detected language
|
||||
syntax on
|
||||
|
||||
" Iceberg theme - I also use this theme in VSCode
|
||||
colorscheme iceberg
|
||||
|
||||
" Default GUI Window Geometry
|
||||
if has("gui_running")
|
||||
" Preferred window size
|
||||
set lines=29 columns=105
|
||||
endif
|
||||
|
||||
" Show tabs at the top of the editor
|
||||
set showtabline=2
|
||||
|
||||
" Render newlines with '$'
|
||||
" Render Tabs with '>-'
|
||||
" Render Trailing Whitespace with '~'
|
||||
" Extends and Precedes are for Line Wrapping
|
||||
set list
|
||||
set listchars=eol:$,tab:>-,trail:~,extends:>,precedes:<
|
||||
|
||||
" Turn on Line numbering
|
||||
set number
|
||||
|
||||
" Highlight all strings that match search
|
||||
set hlsearch
|
||||
|
||||
" Turn on Mouse Aware mode, does lots of stuff
|
||||
" What we're most interested in is the fact that
|
||||
" it won't let us highlight the line numbers
|
||||
set mouse+=a
|
||||
|
||||
" Yank and Paste using the system clipboard
|
||||
set clipboard=unnamedplus
|
||||
|
||||
" Convert tabs to spaces
|
||||
" Tabs are 4 spaces wide
|
||||
set tabstop=8 softtabstop=0 expandtab shiftwidth=4 smarttab
|
||||
|
||||
" Golang Specific stuff
|
||||
" Go syntax highlighting
|
||||
let g:go_highlight_fields = 1
|
||||
let g:go_highlight_functions = 1
|
||||
let g:go_highlight_function_calls = 1
|
||||
let g:go_highlight_extra_types = 1
|
||||
let g:go_highlight_operators = 1
|
||||
|
||||
" Auto formatting and importing
|
||||
let g:go_fmt_autosave = 1
|
||||
let g:go_fmt_command = "goimports"
|
||||
|
||||
" Status line types/signatures
|
||||
let g:go_auto_type_info = 1
|
||||
|
||||
execute pathogen#infect()
|
||||
filetype plugin indent on
|
72
shell/.zshrc
Normal file
72
shell/.zshrc
Normal file
@@ -0,0 +1,72 @@
|
||||
# Include our shared environment stuff
|
||||
source ~/.environment
|
||||
source ~/.aliases
|
||||
source ~/.functions
|
||||
|
||||
# History Settings
|
||||
export HISTIGNORE="&:ls:[bf]g:exit:reset:clear:cd:cd ..:cd..:replay"
|
||||
export HISTSIZE=25000
|
||||
export HISTFILE=~/.zsh_history
|
||||
export SAVEHIST=10000
|
||||
setopt INC_APPEND_HISTORY
|
||||
setopt HIST_IGNORE_ALL_DUPS
|
||||
setopt HIST_IGNORE_SPACE
|
||||
setopt HIST_REDUCE_BLANKS
|
||||
setopt HIST_VERIFY
|
||||
|
||||
# Say how long a command took, if it took more than 5 seconds
|
||||
export REPORTTIME=5
|
||||
|
||||
# Prompts for confirmation after 'rm *' etc
|
||||
# Helps avoid mistakes like 'rm * o' when 'rm *.o' was intended
|
||||
setopt RM_STAR_WAIT
|
||||
|
||||
# Background processes aren't killed on exit of shell
|
||||
setopt AUTO_CONTINUE
|
||||
|
||||
# Don’t write over existing files with >, use >! instead
|
||||
setopt NOCLOBBER
|
||||
|
||||
# Don’t nice background processes
|
||||
setopt NO_BG_NICE
|
||||
|
||||
# Check for updates...
|
||||
# Stolen and modified Oh-My-ZSH's update system
|
||||
if [ "${ENABLE_DOTFILES_AUTO_UPDATE}" ]; then
|
||||
env ZSH=$ZSH _DOTFILES=$_DOTFILES DISABLE_UPDATE_PROMPT=$DISABLE_DOTFILES_UPDATE_PROMPT zsh -f $_DOTFILES/check_for_upgrade.sh
|
||||
fi
|
||||
|
||||
# Oh-My-ZSH Options below this line
|
||||
|
||||
# Define Oh-My-ZSH root
|
||||
ZSH=$HOME/.oh-my-zsh
|
||||
|
||||
# Would you like to use another custom folder than $ZSH/custom?
|
||||
ZSH_CUSTOM=$_DOTFILES/omz
|
||||
|
||||
# Theme for Oh-My-ZSH
|
||||
ZSH_THEME="darkblood"
|
||||
|
||||
# Uncomment the following line to disable auto-setting terminal title.
|
||||
# DISABLE_AUTO_TITLE="true"
|
||||
|
||||
# Uncomment the following line to enable command auto-correction.
|
||||
# ENABLE_CORRECTION="true"
|
||||
|
||||
# Uncomment the following line to display red dots whilst waiting for completion.
|
||||
COMPLETION_WAITING_DOTS="true"
|
||||
|
||||
# Which plugins would you like to load? (plugins can be found in ~/.oh-my-zsh/plugins/*)
|
||||
# Custom plugins may be added to ~/.oh-my-zsh/custom/plugins/
|
||||
# Example format: plugins=(rails git textmate ruby lighthouse)
|
||||
# Add wisely, as too many plugins slow down shell startup.
|
||||
plugins=(git \
|
||||
catimg \
|
||||
fancy-ctrl-z \
|
||||
emoji \
|
||||
aws \
|
||||
jsontools \
|
||||
zsh-syntax-highlighting) # zsh-syntax-highlighting must remain the last plugin
|
||||
|
||||
# Load oh-my-zsh
|
||||
source $ZSH/oh-my-zsh.sh
|
Reference in New Issue
Block a user