dotfiles/.bashrc

59 lines
1.5 KiB
Bash

# Asara's bashrc
# Check if the shell is non-interactive
if [[ $- != *i* ]]; then
# Shell is non-interactive. Be done now!
return
fi
# Ignore duplicate commands and commands starting with a space for Bash history
HISTCONTROL=ignoredups:ignorespace
# Bash History file size
HISTSIZE=100000
HISTFILESIZE=2000000
# fix text wrap based on windows size
shopt -s checkwinsize
# append to the history file, don't overwrite it
shopt -s histappend
# entering directory name will automatically cd to it.
shopt -s autocd
# make multiline input single line in history (i.e. \)
shopt -s cmdhist
# enable color support of ls and also add handy aliases
if [ -x /usr/bin/dircolors ]; then
test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)"
alias ls='ls --color=auto'
alias dir='dir --color=auto'
alias vdir='vdir --color=auto'
alias grep='grep --color=auto'
alias fgrep='fgrep --color=auto'
alias egrep='egrep --color=auto'
fi
# some ls aliases
alias ll='ls -alF'
alias la='ls -A'
alias l='ls -CF'
PS1="\[\033[35m\]\t\[\033[m\]-\[\033[36m\]\u\[\033[m\]@\[\033[32m\]\h:\[\033[31;1m\]\w\[\033[m\]\$ "
# Export environmental variables
export EDITOR=nvim
export VISUAL=nvim
export BROWSER=firefox
# Source external file
if [[ -f ~/.customrc ]]; then
. ~/.customrc
fi
bash ~/.motd
# quick writing funcs
function unlock() { export SOPS_AGE_KEY=$(age -d ${HOME}/.age/privkey.age); }
function write() { SOPS_AGE_KEY=${SOPS_AGE_KEY} sops $1; }
function j() { SOPS_AGE_KEY=${SOPS_AGE_KEY} sops ${HOME}/journal/$(date +%Y%m%d).txt; }