Merge branch 'private-dotfiles-bash' into 'master'

This commit is contained in:
Eric Teunis de Boone 2022-02-10 23:20:02 +01:00
commit f7078d1b8a
13 changed files with 74 additions and 47 deletions

View File

@ -6,7 +6,7 @@
- clean: ['~']
- link:
~/.bashrc: bash/rc
~/.bashrc: bash/bashrc
~/.bash_profile: bash/profile
~/.config/git/config: git/config
~/.config/git/ignore_global: git/ignore

View File

@ -1,10 +0,0 @@
# Give a fortune cookie
if [[ $(command -v fortune) ]]
then
if [[ $(command -v cowsay) ]]
then
fortune -so | cowsay -n
else
fortune -so
fi
fi

View File

@ -1,3 +0,0 @@
#LOL
alias shrug="echo '¯\_(ツ)_/¯'"
alias pinguin="echo 🐧"

View File

@ -30,11 +30,11 @@ if [ -f /etc/bash_completion ] && ! shopt -oq posix; then
fi
# Load main things
if [ -d "$DOTBASH/bash.d" ]; then
for f in colours aliases history prompt_command password-store
if [ -d "$DOTBASH/bashrc.d" ]; then
for f in colours.bash aliases.bash history.bash prompt_command.bash password-store.bash network.bash
do
if [ -r "$DOTBASH/bash.d/$f" ]; then
source "$DOTBASH/bash.d/$f"
if [ -r "$DOTBASH/bashrc.d/$f" ]; then
source "$DOTBASH/bashrc.d/$f"
fi
done
fi
@ -44,6 +44,12 @@ if [ -r "$DOTBASH/$HOSTNAME.bashrc" ]; then
source "$DOTBASH/$HOSTNAME.bashrc"
fi
if [ -r "$HOME/.bashrc.local" ]; then
source "$HOME/.bashrc.local"
fi
# Always source a local bashrc
[ -r "$HOME/.bashrc.local" ] && source "$HOME/.bashrc.local"
# Use the local(ly linked) bashrc.private
[ -r "$HOME/.local/bashrc.private" ] && source "$HOME/.local/bashrc.private"
# Also check in .local for a bashrc
[ -r "$HOME/.local/bashrc" ] && source "$HOME/.local/bashrc"

View File

@ -8,6 +8,7 @@ if [ -x /usr/bin/dircolors ]; then
alias grep='grep --color=auto'
alias fgrep='fgrep --color=auto'
alias egrep='egrep --color=auto'
alias ip='ip --color=auto'
fi
# some more ls aliases
@ -17,12 +18,19 @@ alias la='ls -A'
alias lla='ll -A'
alias l='ls -CF'
# make mkdir nicer
alias mkdir='mkdir -p -v'
# Use vim if possible instead of vi
if [[ $(command -v vim) ]]; then
if command -v vim > /dev/null; then
alias vi='vim'
else
alias vim='vi'
fi
alias e="${EDITOR:-vi}"
# Alias expansion in sudo arguments
alias sudo='sudo '
# Reload bashrc
alias bashreload="source ~/.bashrc"
@ -33,7 +41,12 @@ alias pc='python -ic "from __future__ import division; from math import *"'
# Moving around
alias ~='cd ~'
alias ..='cd ..'
alias ...='cd ../../'
# Computer control
alias blank='sleep 1s && xset dpms force off'
alias lock='blank; xscreensaver-command --lock'
# whatever
alias shrug="echo '¯\_(ツ)_/¯'"
alias pinguin="echo 🐧"

View File

@ -52,28 +52,42 @@ function vte_thing() {
export PROMPT_COMMAND=__prompt_command
function __colored_hostname() {
local HOST="${1:-$HOSTNAME}"
function __PS1_hostname() {
# returns a formatted hostname
local color="${2:-$(color)}"
local PS1
if color ; then
case "${HOSTNAME%%.*}" in
'esson') PS1+="${IGre}\h${RCol}";;
'tinsmith') PS1+="${Gre}\h${RCol}";;
'blacksmith') PS1+="${Blu}\h${RCol}";;
'locksmith') PS1+="${Pur}\h${RCol}";;
'bladesmith') PS1+="${Yel}\h${RCol}";;
'gunsmith') PS1+="${Red}\h${RCol}";;
'goldsmith') PS1+="${IYel}\h${RCol}";;
'lilo'*) PS1+="${BWhi}\h${RCol}";;
'hg'*) PS1+="${BRed}\h${RCol}";;
'gouda'|'bunnik'|'houten'|'zandberg'|'bussum'|'baarn') PS1+="${Gre}${On_Whi}HEF:${Blu}${On_Whi}\h${RCol}";;
'messier'*) PS1+="${Blu}Astro:${Red}\h${RCol}";;
*) PS1+="${Blu}${On_Whi}\h${RCol}";;
esac
else
PS1+="\h"
# no colours? no need to run
if ! color ; then
echo "\h";
return
fi
local HOST="${1:-$HOSTNAME}"
local PS1
local NOMATCH
local func_extension="__PS1_hostname_extended"
# check selected hostnames
case "${HOST%%.*}" in
'locksmith') PS1+="${Pur}\h${RCol}";;
'bladesmith') PS1+="${Yel}\h${RCol}";;
'gunsmith') PS1+="${Red}\h${RCol}";;
'goldsmith') PS1+="${IYel}\h${RCol}";;
*) NOMATCH=1;;
esac
if [ -n "${NOMATCH}" ]; then
if [ x$(type -t "$func_extension") = xfunction ]; then
NOMATCH=$($func_extension "$@")
fi
# extended colouring
if [ -z "${NOMATCH}" ]; then
PS1+="${NOMATCH}"
# default colouring
else
PS1+="${Blu}${On_Whi}\h${RCol}";
fi
fi
echo "$PS1"
@ -131,7 +145,7 @@ function __prompt_command() {
PS1+="@"
if color ; then
PS1+="$(__colored_hostname)"
PS1+="$(__PS1_hostname)"
else
PS1+="\h"
fi

View File

@ -1,13 +1,18 @@
# ~/.bash_profile
[ -z "$DOTFILES" ] && source "$HOME/.profile"
# Always source local bash_profiles
[ -r "$HOME/.bash_profile.local" ] && source "$HOME/.bash_profile.local"
[ -r "$HOME/.local/bash_profile" ] && source "$HOME/.local/bash_profile"
if shopt -q login_shell
then
# This is a bash login shell
LOGINHISTORY=~/.login.history
LOGINSTRING="$(date) ${USER}@${HOSTNAME}"
echo $LOGINSTRING > $LOGINHISTORY
if [ -w "${LOGINHISTORY}" ]; then
echo "$(date) ${USER}@${HOSTNAME}" >> $LOGINHISTORY
fi
unset LOGINHISTORY
fi

View File

@ -40,7 +40,9 @@ then
fi
# if this is BASH source BASHRC
if [ "$BASH" ] && [ -f $DOTFILES/bash/rc ]
DOTBASHRC="$DOTFILES/bash/bashrc"
if [ "$BASH" ] && [ -r "$DOTBASHRC" ]
then
source $DOTFILES/bash/rc
source "$DOTBASHRC"
fi
unset DOTBASHRC