WIP: Cleanup .bashrc

This commit is contained in:
tosu 2024-06-21 06:28:35 +02:00
parent 799a97a9ac
commit 29daa37efe
3 changed files with 238 additions and 171 deletions

View File

@ -1,3 +1,5 @@
# ex: set ts=4 sw=4 ft=sh
# xrandr --setprovideroutputsource 1 0 --setprovideroutputsource 2 0 # xrandr --setprovideroutputsource 1 0 --setprovideroutputsource 2 0
# Configure Displays # Configure Displays
@ -221,5 +223,3 @@ while true ; do
dwm 2>>/home/tosuman/.xinit.log 1>&2 dwm 2>>/home/tosuman/.xinit.log 1>&2
sleep 0.5 sleep 0.5
done done
# ex: set ts=4 sw=4 ft=sh

251
.bashrc
View File

@ -1,7 +1,9 @@
# ex: set ts=4 sw=4 ft=sh
# Exit when noninteractive. This is more portable than checking PS1. # Exit when noninteractive. This is more portable than checking PS1.
[ "${-#*i}" = "${-}" ] && return [ "${-#*i}" = "${-}" ] && return
############################### LOGGING (posix) ################################ ############################### logging (posix) ################################
__log () { __log () {
case "${1-}" in case "${1-}" in
red) ansi='41;30' ;; red) ansi='41;30' ;;
@ -20,11 +22,17 @@ warn () { __log orange "${@}"; }
info () { __log blue "${@}" ; } info () { __log blue "${@}" ; }
good () { __log green "${@}" ; } good () { __log green "${@}" ; }
###################### EXIT WHEN ALREADY SOURCED (posix) ####################### ############################ utils (thanks rwxrob) #############################
_path_lookup () { type -P "$1"; } # adapted for bash.
_have_all () { while [ $# -gt 0 ] ; do [ -x "$(_path_lookup "$1")" ] || return 1 ; shift ; done; }
_have () { _have_all "$1"; }
_source_if () { [ -r "$1" ] && . "$1"; }
###################### exit when already sourced (posix) #######################
[ -n "${BASHRC_SOURCED}" ] && { __log red ".bashrc already sourced. Reset shell with 'exec bash [-l]' or start a new terminal." ; return 1 ; } [ -n "${BASHRC_SOURCED}" ] && { __log red ".bashrc already sourced. Reset shell with 'exec bash [-l]' or start a new terminal." ; return 1 ; }
BASHRC_SOURCED='1' BASHRC_SOURCED='1'
################################## BASH RESET ################################## ################################## bash reset ##################################
# Set IFS to the default value, <space><tab><newline> # Set IFS to the default value, <space><tab><newline>
IFS=' IFS='
' '
@ -39,9 +47,10 @@ __ALL_COMMANDS=("${__COMMANDS[@]}" . : g++ firewall-cmd apt-get xdg-open) # name
2>/dev/null \unset -- "${__ALL_COMMANDS[@]}" 2>/dev/null \unset -- "${__ALL_COMMANDS[@]}"
2>/dev/null \unalias -- "${__ALL_COMMANDS[@]}" 2>/dev/null \unalias -- "${__ALL_COMMANDS[@]}"
hash -r hash -r
unalias -a
unset POSIXLY_CORRECT unset POSIXLY_CORRECT
######################## PATH APPEND & PREPEND (posix) ######################### ######################## path append & prepend (posix) #########################
pathvarprepend () { pathvarprepend () {
# prepending paths to pathvar denoted by the expansion of the PATHVAR parameter # prepending paths to pathvar denoted by the expansion of the PATHVAR parameter
# if it's already in the PATH, move it to the end # if it's already in the PATH, move it to the end
@ -109,8 +118,8 @@ pathvarappend () {
# POSIX compliant version # POSIX compliant version
test $# -ge 2 || test $# -ge 2 ||
{ info "Usage: pathvarappend PATHVAR PATH_TO_ADD [PATH_TO_ADD...]"; { info "Usage: pathvarappend PATHVAR PATH_TO_ADD [PATH_TO_ADD...]"
info "Example: pathvarappend LD_LIBRARY_PATH '$HOME/.local/lib' '/usr/local/lib'"; info "Example: pathvarappend LD_LIBRARY_PATH '$HOME/.local/lib' '/usr/local/lib'"
return 2 ; } return 2 ; }
pathvar=$1 pathvar=$1
@ -178,19 +187,19 @@ cdpath_prepend () {
pathvarprepend CDPATH "$@" pathvarprepend CDPATH "$@"
} }
################################# BASH OPTIONS ################################# ################################# bash options #################################
shopt -s autocd shopt -s autocd
shopt -s extglob shopt -s extglob
shopt -s checkwinsize shopt -s checkwinsize
############################ BASH HISTORY OPTIONS ############################# ############################ bash history options #############################
shopt -s lithist shopt -s lithist
shopt -s cmdhist shopt -s cmdhist
shopt -s histappend shopt -s histappend
shopt -s histreedit shopt -s histreedit
shopt -u histverify shopt -u histverify
############################# BETTER BASH HISTORY ############################## ############################# better bash history ##############################
# readonly BASH_SESSION_NAME="${__COMMANDS[$(( RANDOM % ${#__COMMANDS[@]}))]}_${__COMMANDS[$(( RANDOM % ${#__COMMANDS[@]}))]}_${__COMMANDS[$(( RANDOM % ${#__COMMANDS[@]}))]}" # readonly BASH_SESSION_NAME="${__COMMANDS[$(( RANDOM % ${#__COMMANDS[@]}))]}_${__COMMANDS[$(( RANDOM % ${#__COMMANDS[@]}))]}_${__COMMANDS[$(( RANDOM % ${#__COMMANDS[@]}))]}"
readonly BASH_SESSION_NAME="${$}" readonly BASH_SESSION_NAME="${$}"
HISTSIZE='-1' HISTSIZE='-1'
@ -211,21 +220,22 @@ write_history () {
} && trap 'write_history' EXIT } && trap 'write_history' EXIT
############################# VIM ALIASES (posix) ############################## ############################# VIM ALIASES (posix) ##############################
if 1>/dev/null 2>&1 command -v nvim; then if _have nvim ; then
alias v='err use vi' alias vi="$(_path_lookup nvim)"
alias vi='nvim' elif _have vim ; then
alias v='err use vi' alias vi="$(_path_lookup vim)"
elif 1>/dev/null 2>&1 command -v vim; then elif _have nvi ; then
alias v='err use vi' alias vi="$(_path_lookup nvi)"
alias vi='vim' elif _have vi ; then
elif 1>/dev/null 2>&1 command -v nvi; then alias vi="$(_path_lookup vi)"
alias v='err use vi' elif _have nano ; then
alias vi='nvi' alias vi="$(_path_lookup nano)"
elif 1>/dev/null 2>&1 command -v vi; then
alias v='err use vi'
fi fi
alias v='err use vi'
alias vim='err use vi'
alias nvim='err use vi'
######################## DEFAULT-OPTION ALIASES (posix) ######################## ######################## default-option aliases (posix) ########################
alias gdb='gdb -q' alias gdb='gdb -q'
alias tmux='tmux -2' alias tmux='tmux -2'
alias less='less -SR' alias less='less -SR'
@ -243,17 +253,16 @@ alias dmesg='dmesg --color=auto --reltime --human --nopager --decode'
alias sudo='sudo ' # trailing space means complete aliases alias sudo='sudo ' # trailing space means complete aliases
alias watch='watch -tcn.1 ' # trailing space means complete aliases alias watch='watch -tcn.1 ' # trailing space means complete aliases
########################## OVERWRITE ALIASES (posix) ########################### ########################## overwrite aliases (posix) ###########################
alias cat='bat'
alias make='compiledb make' alias make='compiledb make'
########################## NAVIGATION ALIASES (posix) ########################## ########################## navigation aliases (posix) ##########################
alias r='ranger' alias r='ranger'
alias ..='cd ..' alias ..='cd ..'
alias ...='cd ../..' alias ...='cd ../..'
alias ....='cd ../../..' alias ....='cd ../../..'
########################### GENERAL ALIASES (posix) ############################ ########################### general aliases (posix) ############################
alias open='xdg-open' alias open='xdg-open'
alias dp='declare -p' alias dp='declare -p'
alias wttr='curl -sfkSL wttr.in' alias wttr='curl -sfkSL wttr.in'
@ -272,37 +281,50 @@ alias colors='bash -c "$(curl -sfkSL "https://gist.githubusercontent.com/HaleTom
alias s='echo sudo $(fc -nl -2 | head -1 | cut -c3-) ; eval sudo $(fc -nl -2 | head -1 | cut -c3-)' # cut -c2- for bash posix mode alias s='echo sudo $(fc -nl -2 | head -1 | cut -c3-) ; eval sudo $(fc -nl -2 | head -1 | cut -c3-)' # cut -c2- for bash posix mode
############################### CDPATHS (posix) ################################ ############################### CDPATHS (posix) ################################
cdpath_prepend \ CDPATH="."\
"." \ ":${HOME}"\
"${HOME}" \ ":${HOME}/onnea"\
"${HOME}/onnea" \ ":${HOME}/42ecole"\
"${HOME}/42ecole" \ ":${HOME}/projects"\
"${HOME}/projects" \ ":${HOME}/projects/aoc"\
"${HOME}/projects/aoc" \ ":${HOME}/42ecole/42cursus"\
"${HOME}/42ecole/42cursus" \ ":${HOME}/projects/aoc/2023"
"${HOME}/projects/aoc/2023" \
################################## FUNCTIONS ################################### ################################## FUNCTIONS ###################################
# auto_pushd ##################### cd with pushd functionality (posix) ######################
function cd () { cd () {
command cd "${@}" || return 1 command cd "${@}" || return 1
pwd="${PWD}" pwd="${PWD}"
1>/dev/null command cd - || return 1 1>/dev/null command cd - || return 1
1>/dev/null pushd "${pwd}" || return 1 1>/dev/null pushd "${pwd}" || return 1
} }
function vimw () { ############################## vimw (posix) ###############################
# Roughly equivalent to vi "$(which "$1")", but also allowing for args after $1
vimw () {
_have vi || { err 'vi missing'; exit 1; }
[ -z "$1" ] && { info "Usage: vimw FILE [VIM_ARGS...]" ; return 1 ; } [ -z "$1" ] && { info "Usage: vimw FILE [VIM_ARGS...]" ; return 1 ; }
first="$1" first="$1"
shift shift
vi "$@" $(type -P "$first") vi "$@" $(type -P "$first")
} }
function paruuu () { #################################### paruuu (posix) ####################################
read -p 'Do system upgrade (Y) or exit (n)' choice # Update arch linux system with pacman, paru and ssid whitelist
if [ ! "${choice}" = "y" -a ! "${choice}" = "Y" -a -n "${choice}" ]; then # Clears cache and removes orphans. Arguably dangerous.
exit # Depends on iw, paru, pacman, rankmirrors, sudo, curl
fi paruuu () {
_have iw || { err 'iw missing'; exit 1; }
_have paru || { err 'paru missing'; exit 2; }
_have pacman || { err 'pacman missing'; exit 3; }
_have rankmirrors || { err 'rankmirrors missing'; exit 4; }
_have sudo || { err 'sudo missing'; exit 5; }
_have curl || { err 'curl missing'; exit 6; }
printf 'Do system upgrade (Y) or exit (n): '
read -r choice
[ ! "${choice}" = "y" ] && [ ! "${choice}" = "Y" ] && [ -n "${choice}" ] && exit 7
ssid="$(iw dev wlan0 link | ssid="$(iw dev wlan0 link |
grep SSID | grep SSID |
sed -e 's/[[:blank:]]*SSID: //' \ sed -e 's/[[:blank:]]*SSID: //' \
@ -330,10 +352,9 @@ function paruuu () {
&& [ ! "${ssid-}" = "Silmaril 4 (2.4)" ] \ && [ ! "${ssid-}" = "Silmaril 4 (2.4)" ] \
&& [ ! "${ssid-}" = "ZorgatiHome Guest" ] \ && [ ! "${ssid-}" = "ZorgatiHome Guest" ] \
&& : ; then && : ; then
read -p "You're connected to '${ssid-}', update anyway (Y|n)?" choice printf "\033[31mYou're connected to '${ssid}', update anyway (Y|n)?: \033[m"
if [ ! "${choice}" = "y" -a ! "${choice}" = "Y" -a -n "${choice}" ]; then read -r choice
exit [ ! "${choice}" = "y" ] && [ ! "${choice}" = "Y" ] && [ -n "${choice}" ] && exit 8
fi
fi fi
time ( time (
printf '\033[30;41m%s\033[m\n' 'Cache credentials for sudo:' \ printf '\033[30;41m%s\033[m\n' 'Cache credentials for sudo:' \
@ -359,7 +380,12 @@ function paruuu () {
) )
} }
function skill () { ################################ skill (posix) #################################
# Depends on pgrep, ps
skill () {
_have pgrep || { err 'pgrep missing'; return 1; }
_have ps || { err 'ps missing'; return 2; }
exit_status=0 exit_status=0
while [ -n "${1-}" ] ; do while [ -n "${1-}" ] ; do
# pids="$(ps -eo pid,cmd)" # pids="$(ps -eo pid,cmd)"
@ -380,27 +406,37 @@ function skill () {
return $exit_status return $exit_status
} }
function wpa_restart () { ############################# wpa_restart (posix) ##############################
# Depends on wpa_supplicant
wpa_restart () {
_have wpa_supplicant || { err 'wpa_supplicant missing'; return 1; }
skill wpa_supplicant skill wpa_supplicant
sudo wpa_supplicant -B -i wlan0 -c /etc/wpa_supplicant/wpa_supplicant.conf sudo wpa_supplicant -B -i "${1:-wlan0}" -c /etc/wpa_supplicant/wpa_supplicant.conf
} }
function bat () { ##################################### bat ######################################
bat () {
1>/dev/null 2>&1 command -v batcat && { $(type -P batcat) "${@}" ; return 0 ; } 1>/dev/null 2>&1 command -v batcat && { $(type -P batcat) "${@}" ; return 0 ; }
1>/dev/null 2>&1 command -v bat && { $(type -P bat) "${@}" ; return 0 ; } 1>/dev/null 2>&1 command -v bat && { $(type -P bat) "${@}" ; return 0 ; }
$(type -P cat) "${@}" $(type -P cat) "${@}"
} }
function take () { ################################# take (posix) #################################
take () {
mkdir -p -- "$1" && mkdir -p -- "$1" &&
cd -P -- "$1" || cd -P -- "$1" ||
return 1 ; return 1 ;
} }
function norminette () { ################################## norminette ##################################
# Depends on norminette
norminette () {
local vers local vers
local newst local newst
_have norminette || { err 'norminette missing'; return 1; }
vers="$($(type -P norminette) -v | cut -d" " -f2)" vers="$($(type -P norminette) -v | cut -d" " -f2)"
newst='3.3.55' newst='3.3.55'
if [ ! "${vers-}" = "${newst-}" ] ; then if [ ! "${vers-}" = "${newst-}" ] ; then
@ -410,22 +446,29 @@ function norminette () {
$(type -P norminette) -R CheckForbiddenSourceHeader "${@}" $(type -P norminette) -R CheckForbiddenSourceHeader "${@}"
} }
function __norm () { ################################ __norm (posix) ################################
local _pwd # Depends on git, norminette
__norm () {
_have git || { err 'git missing'; return 1; }
_have norminette || { err 'norminette missing'; return 2; }
return 0 __pwd="$(pwd -P)"
_pwd="$(pwd -P)" [ -n "${__pwd}" ] && [ -z "${__pwd##${HOME-}/42/42cursus/*}" ] || { return 1 ; }
[ -n "${_pwd-}" ] && [ -z "${_pwd##${HOME-}/42/42cursus/*}" ] || { return 1; }
1>/dev/null 2>&1 git status || { return 2 ; } 1>/dev/null 2>&1 git status || { return 2 ; }
1>/dev/null 2>&1 norminette && printf ' \033[92m%s\033[m' "[Norm: OK]" || printf ' \033[101;37m%s\033[m' "[䝝誒 ‼ NORM ‼ 屌誒]" 1>/dev/null 2>&1 norminette && printf ' \033[92m%s\033[m' "[Norm: OK]" || printf ' \033[101;37m%s\033[m' "[䝝誒 ‼ NORM ‼ 屌誒]"
return 0 return 0
} }
function ft_check () { ############################### ft_check (posix) ###############################
# Depends on git, norminette
ft_check () {
# Set params # Set params
URL="${1}" URL="${1}"
DIR="/tmp/tmp_repo_$(date +%s)" DIR="/tmp/tmp_repo_$(date +%s)"
_have git || { err 'git missing'; return 1; }
_have norminette || { err 'norminette missing'; return 2; }
# If no URL, get it from current repo # If no URL, get it from current repo
if [ -z "${URL-}" ] ; then if [ -z "${URL-}" ] ; then
URL="$(git remote get-url origin)" URL="$(git remote get-url origin)"
@ -446,18 +489,46 @@ function ft_check () {
fi fi
} }
function clone42 () { ############################### clone42 (posix) ################################
# Depends on git, norminette
clone42 () {
folder="${1}" folder="${1}"
repo_url="${2}" repo_url="${2}"
_have git || { err 'git missing'; return 1; }
_have norminette || { err 'norminette missing'; return 2; }
git clone --quiet "${repo_url}" "${folder}" && { git clone --quiet "${repo_url}" "${folder}" && {
cd "${folder}"; cd "${folder}"
norminette -R CheckForbiddenSourceHeader "."; norminette -R CheckForbiddenSourceHeader "."
} || { printf '%s\n' "Could not clone repo!" ; } } || { printf '%s\n' "Could not clone repo!" ; }
} }
################################# ENVIRONMENT ################################## ################################# ENVIRONMENT ##################################
export GIT_SSH_COMMAND='ssh -oIdentitiesOnly=yes -F"${HOME-}"/.ssh/config' export GIT_SSH_COMMAND='ssh -oIdentitiesOnly=yes -F"${HOME-}"/.ssh/config'
export LANG='en_US.UTF-8'
export USER="${USER:-$(whoami)}"
export EDITOR="$({ type -P nvim ||
type -P vim ||
type -P vi ||
type -P nvi ||
type -P hx ||
type -P nano ||
type -P ex ||
type -P ed ; } 2>/dev/null)"
export VISUAL="${EDITOR-}"
export SUDO_EDITOR="${EDITOR-}"
export MANPAGER='nvim +Man!'
# export MANPAGER='less -X'
export BAT_THEME='gruvbox-dark'
# export BAT_THEME='gruvbox-light'
[ -n "${DISPLAY-}" ] || warn 'DISPLAY not set'
if [ ! "${TERM-}" = "linux" ] ; then if [ ! "${TERM-}" = "linux" ] ; then
if [ -f '/usr/share/terminfo/x/xterm-256color' ] ; then if [ -f '/usr/share/terminfo/x/xterm-256color' ] ; then
export TERM='xterm-256color' export TERM='xterm-256color'
@ -472,23 +543,6 @@ if [ ! "${TERM-}" = "linux" ] ; then
fi fi
fi fi
export EDITOR="$({ type -P nvim ||
type -P vim ||
type -P vi ||
type -P nvi ||
type -P hx ||
type -P nano ||
type -P ex ||
type -P ed; } 2>/dev/null)"
export VISUAL="${EDITOR-}"
export SUDO_EDITOR="${EDITOR-}"
export MANPAGER='nvim +Man!'
[ -n "${DISPLAY-}" ] || warn 'DISPLAY not set'
################################# PROMPT STUFF #################################
# If bash runs in posix mode, if should be `cut -c2-' instead
# PS0='$(clear -x ; printf "${PS1@P}" ; fc -nl -1 | cut -c3- ; printf "\n")'
################################ BASH PRE-EXEC ################################# ################################ BASH PRE-EXEC #################################
if [ ! -f "${HOME}"/.bash-preexec.sh ] ; then if [ ! -f "${HOME}"/.bash-preexec.sh ] ; then
curl -sfkSL "https://raw.githubusercontent.com/rcaloras/bash-preexec/master/bash-preexec.sh" -o "${HOME}"/.bash-preexec.sh curl -sfkSL "https://raw.githubusercontent.com/rcaloras/bash-preexec/master/bash-preexec.sh" -o "${HOME}"/.bash-preexec.sh
@ -521,6 +575,7 @@ precmd() {
fi fi
} }
#################################### PROMPT ####################################
GIT_PS1_SHOWDIRTYSTATE='1' GIT_PS1_SHOWDIRTYSTATE='1'
GIT_PROMPT='1' GIT_PROMPT='1'
if [ ! -f "${HOME}"/git-prompt.sh ] && [ "${GIT_PROMPT-}" -eq "1" ] ; then if [ ! -f "${HOME}"/git-prompt.sh ] && [ "${GIT_PROMPT-}" -eq "1" ] ; then
@ -544,7 +599,8 @@ _PS1_1="${_PS1_1-}${_PS1_SSH-}${_PS1_TMUX-} "
_PS1_1="${_PS1_1-}${_PS1_CWD_CLR-}" _PS1_1="${_PS1_1-}${_PS1_CWD_CLR-}"
_PS1_1="${_PS1_1-}[\w]\${TOOK_STRING-}" _PS1_1="${_PS1_1-}[\w]\${TOOK_STRING-}"
_PS1_GIT='\[\033[m\]\[\033[36m\]$(__git_ps1 " (%s)")' _PS1_GIT='\[\033[m\]\[\033[36m\]$(__git_ps1 " (%s)")'
_PS1_2='\[\033[m\]\[\033[36m\]$(__norm)\[\033[m\]\n\[\033[35m\]~\$\[\033[m\] ' # _PS1_2='\[\033[m\]\[\033[36m\]$(__norm)\[\033[m\]\n\[\033[35m\]~\$\[\033[m\] '
_PS1_2='\[\033[m\]\[\033[36m\]\[\033[m\]\n\[\033[35m\]~\$\[\033[m\] '
if [ -f "${HOME}"/git-prompt.sh ] && [ -r "${HOME}"/git-prompt.sh ] && \ if [ -f "${HOME}"/git-prompt.sh ] && [ -r "${HOME}"/git-prompt.sh ] && \
[ "${GIT_PROMPT-}" -eq "1" ] ; then [ "${GIT_PROMPT-}" -eq "1" ] ; then
@ -554,20 +610,33 @@ else
PS1="${_PS1_1-}${_PS1_2-}" PS1="${_PS1_1-}${_PS1_2-}"
fi fi
# Autoclear
# If bash runs in posix mode, if should be `cut -c2-' instead
# PS0='$(clear -x ; printf "${PS1@P}" ; fc -nl -1 | cut -c3- ; printf "\n")'
# Simplified *Bash* Prompt, e.g. for tty/system/linux console # Simplified *Bash* Prompt, e.g. for tty/system/linux console
# unset PROMPT_COMMAND PS0 ; PS1='\033[94m\u\033[37m@\033[32m\h\033[37m@\033[33m$(basename -- "$(tty)") \033[36m\w \033[35m\$\033[m ' # unset PROMPT_COMMAND PS0 ; PS1='\033[94m\u\033[37m@\033[32m\h\033[37m@\033[33m$(basename -- "$(tty)") \033[36m\w \033[35m\$\033[m '
# Show shell level
# PS1='[${SHLVL}] '"${PS1}"
# ##################################### AOC ###################################### # ##################################### AOC ######################################
AOC_DIR="${HOME}/projects/aoc" # remember to change this to whatever your AOC directory is AOC_DIR="${HOME}/projects/aoc" # remember to change this to whatever your AOC directory is
alias aos='< in.txt python3 solution.py' alias aos='< in.txt python3 solution.py'
alias aot='< test.txt printf '\033[34m' ; python3 solution.py ; printf '\033[m'' alias aot='< test.txt printf '\033[34m' ; python3 solution.py ; printf '\033[m''
alias aoc='aot ; echo ; aos' alias aoc='aot ; echo ; aos'
################################### aocload ####################################
# Depends on curl, tmux, git
aocload () { aocload () {
local dir local dir
local year local year
local day local day
_have curl || { err 'curl missing'; exit 1; }
_have tmux || { err 'tmux missing'; exit 2; }
_have git || { err 'git missing'; exit 3; }
this_year="$(date "+%Y")" this_year="$(date "+%Y")"
this_day="$(date "+%d" | sed -e 's/^0//')" this_day="$(date "+%d" | sed -e 's/^0//')"
if [ -n "${1}" ] ; then if [ -n "${1}" ] ; then
@ -597,7 +666,7 @@ aocload () {
mkdir -p -- "${dir}" || return 5 mkdir -p -- "${dir}" || return 5
cd -P -- "${dir}" || return 6 cd -P -- "${dir}" || return 6
2>/dev/null 1>/dev/null git init "${AOC_DIR}" || true 2>/dev/null 1>&2 git init "${AOC_DIR}" || true
. "${AOC_DIR}/.env" . "${AOC_DIR}/.env"
curl -sfkSL \ curl -sfkSL \
@ -662,23 +731,19 @@ aocload () {
tmux send-keys "nvim './solution.py'" ENTER tmux send-keys "nvim './solution.py'" ENTER
} }
############################### GENERAL SETTINGS ############################### ############################## TERMINAL SETTINGS ###############################
tabs -4 tabs -4
set -o emacs set -o emacs
[ -x /usr/bin/lesspipe ] && eval "$(SHELL=/bin/sh lesspipe)" _have lesspipe && eval "$(SHELL=/bin/sh lesspipe)"
# Key Repeat/Delay Rate # Key Repeat/Delay Rate
2>/dev/null xset r rate 200 60 _have xset && 2>/dev/null xset r rate 200 60
# sudo kbdrate --rate=30.0 --delay=250 # _have kbdrate && sudo kbdrate --rate=30.0 --delay=250
# Disable bell # Disable bell
2>/dev/null xset -b _have xset && 2>/dev/null xset -b
if [ -f "${HOME}"/.userbashrc ]; then . "${HOME}"/.userbashrc; fi ################################# COMPLETIONS ##################################
# PS1='[${SHLVL}] '"${PS1}"
# export BAT_THEME='gruvbox-light'
# ex: set ts=4 sw=4 ft=sh
complete -F _command vimw complete -F _command vimw
_source_if "${HOME}/.userbashrc"

View File

@ -1 +1,3 @@
# ex: set ts=4 sw=4 ft=sh
exec /usr/bin/bash "${HOME}"/.bash_xinitrc exec /usr/bin/bash "${HOME}"/.bash_xinitrc