#!/bin/bash # Do nothing if not running an interactive shell case $- in *i*) ;; *) return;; esac # Environment variables export TERM="xterm-256color" export EDITOR="vi" export VISUAL="vi" export PATH="$PATH:$HOME/.local/bin/:$HOME/go/bin/:$HOME/bin/maltego_4.6.0/bin/" export CDPATH=".:$HOME" export XDG_CONFIG_HOME="$HOME/.config/" export XDG_DATA_HOME="$HOME/.local/share/" export XDG_STATE_HOME="$HOME/.local/state/" # The Prompt export PS1='\[\e[38;2;161;161;0m\]\u\[\e[0m\]@\[\e[34m\]\h\[\e[0m\]:\[\e[32m\]\W\[\e[0m\]\$ ' # History settings shopt -s histappend # Append to the history file instead of overwriting it HISTCONTROL=ignoreboth # Don't put duplicate lines or lines beginning with a space in the history file HISTSIZE=-1 # Don't limit the number of history lines stored HISTFILESIZE=-1 # Don't truncate the history when reading the history file at the start of a shell session # Pager settings # Use lesspipe if it exists if command -v lesspipe >/dev/null; then declare lesspath lesspath="$(command -v lesspipe)" export LESSOPEN="| $lesspath %s"; export LESSCLOSE="$lesspath %s %s"; fi # Enable colors in less export LESS_TERMCAP_mb="" export LESS_TERMCAP_md="" export LESS_TERMCAP_me="" export LESS_TERMCAP_se="" export LESS_TERMCAP_so="" export LESS_TERMCAP_ue="" export LESS_TERMCAP_us="" # Enable dircolors if [[ -x "$(command -v dircolors)" ]]; then if [[ -r ~/.config/shell/dircolors ]]; then eval "$(dircolors -b ~/.config/shell/dircolors)" else eval "$(dircolors -b)" fi fi # Safety features set -o noclobber # Enable features to prevent accidental file deletion # Shell expansion features shopt -s globstar # Enable "**" to match recursively when globbing # Interactive features set -o vi # Aliases source ~/.config/shell/aliasrc # Functions md() { mkdir -p "$1" && cd "$1" || return } # Automatically run X if this is a login tty [[ "$(tty)" =~ /dev/tty* ]] && ! pgrep -u "$(whoami)" -x Xorg >/dev/null && startx # Automatically run tmux if we aren't already in a session and there's no matching session already running if [[ -z "$TMUX" ]] && ! tmux list-sessions 2>/dev/null | grep --quiet "$HOSTNAME"; then tmux new -s "$HOSTNAME" fi