You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

116 lines
3.4 KiB

#!/bin/bash
shopt -s nocaseglob # glob filenames case-insensitively
shopt -s histappend # append history to history file, don't overwrite.
shopt -s checkwinsize # fix line wrap issues
# This allows for more reasonable C-w backspace behavior (stops at /s, etc)
#stty werase undef
bind '\C-w:unix-filename-rubout'
set completion-ignore-case on # ignore case when tab-completing
source ~/.paths
export VISUAL=emacsclient
export EDITOR=emacsclient
# blatantly steal micah's ls aliases because they make SO MUCH SENSE omg.
alias python="python3"
alias py="python3"
alias pip="pip3"
alias lsa='ls -a'
alias lsl='ls -a -l -F'
alias lsli='lsl -i' # lsl+inodes
alias l1='ls -1'
alias llm='lsl -r -t' # lsl+ sort by modified time (lastest at bottom)
# nixos aliases that don't matter elsewhere:
alias open=kde-open5
alias e='emacsclient'
# awesomewm xdg fixes
xdg-mime default emacsclient.desktop text/plain
# blatantly steal micah's colorized man pages
# See: http://boredzo.org/blog/archives/2016-08-15/colorized-man-pages-understood-and-customized
# see: https://github.com/mrled/dhd/blob/800544cae0cc2f4e2b85b5dafae59babf75677fe/hbase/.bashrc
man() {
env \
LESS_TERMCAP_md=$'\e[1;36m' \
LESS_TERMCAP_me=$'\e[0m' \
LESS_TERMCAP_se=$'\e[0m' \
LESS_TERMCAP_so=$'\e[1;40;92m' \
LESS_TERMCAP_ue=$'\e[0m' \
LESS_TERMCAP_us=$'\e[1;32m' \
man "$@"
}
# history control variables
export HISTCONTROL=ignoreboth
export HISTSIZE="INFINITE"
export HISTFILESIZE=5000
export HISTCONTROL="ignorespace"
export HISTTIMEFORMAT="%Y-%m-%d %H:%M:%S "
# make less more friendly for non-text input files, see lesspipe(1)
[ -x /usr/bin/lesspipe ] && eval "$(SHELL=/bin/sh lesspipe)"
# set variable identifying the chroot you work in (used in the prompt below)
if [ -z "${debian_chroot:-}" ] && [ -r /etc/debian_chroot ]; then
debian_chroot=$(cat /etc/debian_chroot)
fi
# 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 grep='grep --color=auto'
alias fgrep='fgrep --color=auto'
alias egrep='egrep --color=auto'
fi
# handle key management through `keychain` because its great
## first set up gpg agent
# [ -f ~/.gpg-agent-info ] && source ~/.gpg-agent-info
# if [ -S "${GPG_AGENT_INFO%%:*}" ]; then
# export GPG_AGENT_INFO
# else
# eval $( gpg-agent --daemon )
# fi
## then configure keychain
eval $(keychain --eval ~/.ssh/{awful-git,github,digitalocean,home-net})
eval $(keychain --agents gpg)
# host specific configurations:
if [[ $(shopt login_shell | cut -f2) == "on" ]]
then
: # this is a no op cmd in bash, i guess. GOD.
else
if [ "$HOSTNAME" = "hoyden" ]; then
printf 'on hoyden, applying nixOS config \n'
setxkbmap -option "ctrl:nocaps"
fortune ~/bin/fortunate/invisiblestates/invisiblestates | fold -w 80 -s
else
printf 'regular config\n'
fi
# this looks like garbage but its just color initation and termination
export PS1="\t \[\e[34m\]ǰ \[\e[91m\]☭\[\e[0m\] "
export CLICOLOR=1
export LSCOLORS=GxFxCxDxBxegedabagaced
echo ""
echo " /'-./\_ | $HOSTNAME"
echo " : ||,> |"
echo " \.-'|| | $0"
echo -e "\e[31m || BURIED\e[0m |"
echo -e "\e[31m || HATCHET\e[0m | $OSTYPE"
echo -e "\e[31m ||\e[0m |"
echo ""
fi