Files
lnx-arch/dots/bash/.bashrc

441 lines
15 KiB
Bash
Raw Normal View History

2024-05-03 13:52:41 -05:00
#
# ~/.bashrc
#
# If not running interactively, don't do anything
[[ $- != *i* ]] && return
alias ls='ls --color=auto'
alias grep='grep --color=auto'
PS1='[\u@\h \W]\$ '
# https://github.com/gsamokovarov/jump
eval "$(jump shell --bind=j)"
2024-05-05 22:04:57 -05:00
2024-05-20 06:59:34 -05:00
alias mamapscii='telnet mapscii.me'
2024-05-06 07:39:24 -05:00
2024-05-06 16:06:07 -05:00
# # ex - archive extractor
# # usage: ex <file>
ex ()
{
if [ -f $1 ] ; then
case $1 in
*.tar.bz2) tar xjf $1 ;;
*.tar.gz) tar xzf $1 ;;
*.bz2) bunzip2 $1 ;;
*.rar) unrar x $1 ;;
*.gz) gunzip $1 ;;
*.tar) tar xf $1 ;;
*.tbz2) tar xjf $1 ;;
*.tgz) tar xzf $1 ;;
*.zip) unzip $1 ;;
*.Z) uncompress $1;;
*.7z) 7z x $1 ;;
*) echo "'$1' cannot be extracted via ex()" ;;
esac
else
echo "'$1' is not a valid file"
fi
}
2024-05-06 07:39:24 -05:00
alias curae="sudo curae"
2024-06-12 18:13:08 -05:00
alias curd="sudo curae dots"
alias curs="sudo curae sw"
2024-05-20 06:57:24 -05:00
alias ffind="sudo find / -type f -name"
alias gparted="sudo gparted"
2024-05-15 12:53:08 -05:00
alias keymap="setxkbmap -model pc105 -layout us,no -option grp:caps_toggle,grp_led:scroll"
2024-05-20 22:04:26 -05:00
alias myip="echo $(wget http://ipinfo.io/ip -qO -)"
alias nr="nitrogen --restore"
2024-06-12 15:57:29 -05:00
alias sb="source ~/.bashrc"
alias tp="tp.sh"
2024-05-20 06:57:24 -05:00
2024-06-06 13:53:27 -05:00
nmrestart() {
systemctl restart NetworkManager
systemctl status NetworkManager
}
2024-05-22 18:38:01 -05:00
screensaver() {
2024-06-25 19:52:27 -05:00
cmd="info"
2024-05-23 06:28:29 -05:00
if [[ -n $1 ]]; then
cmd=$1
2024-05-22 18:38:01 -05:00
fi
if [ ${cmd} == "on" ] ; then
2024-05-22 18:11:36 -05:00
xset dpms
2024-06-25 19:52:27 -05:00
xautolock -enable
2024-05-23 06:26:29 -05:00
# tmp file used by i3status - by default screensaver is on, so no need for "screensaver_on.tmp"
trash-put "/tmp/screensaver_off.tmp"
2024-05-22 18:38:01 -05:00
elif [ ${cmd} == "off" ] ; then
xset -dpms
2024-06-25 19:52:27 -05:00
xautolock -disable
2024-05-23 06:26:29 -05:00
touch "/tmp/screensaver_off.tmp"
2024-05-22 18:38:01 -05:00
elif [ ${cmd} == "reset" ] ; then
if xset -q | grep -q 'DPMS is Enabled' ; then
xset -dpms
xset dpms
2024-06-25 19:52:27 -05:00
xautolock -restart
2024-05-22 18:38:01 -05:00
fi
2024-06-25 19:52:27 -05:00
elif [ ${cmd} == "info" ] ; then
2024-05-22 18:38:01 -05:00
xset -q
else
echo "error: unknown command \"${cmd}\""
2024-05-22 18:11:36 -05:00
fi
}
2024-05-26 15:16:41 -05:00
rshift() {
cmd="default"
if [[ -n $1 ]]; then
cmd=$1
fi
2024-05-26 18:54:30 -05:00
temperature_file="/tmp/temperature.txt"
2024-05-26 15:16:41 -05:00
if [ ${cmd} == "info" ] ; then
echo "{morning, day, evening, night, bedtime}"
2024-05-26 19:09:24 -05:00
return 1
2024-05-27 06:24:12 -05:00
elif
[ ${cmd} == "status" ] ||
[ ${cmd} == "show" ] ||
2024-05-26 19:00:20 -05:00
[ ${cmd} == "display" ] ; then
if [ -f "${temperature_file}" ] ; then
temperature=$(cat /tmp/temperature.txt)
2024-05-26 19:08:06 -05:00
echo "${temperature}K"
2024-05-26 19:00:20 -05:00
else
2024-05-26 19:08:06 -05:00
echo "unknown temperature value"
2024-05-26 19:00:20 -05:00
fi
2024-05-26 19:02:48 -05:00
return 1
2024-05-26 18:54:30 -05:00
elif
[ ${cmd} == "disable" ] ||
2024-05-26 18:59:29 -05:00
[ ${cmd} == "off" ] ; then
2024-05-26 18:54:30 -05:00
redshift -x
2024-05-26 15:16:41 -05:00
elif [ ${cmd} == "morning" ] ; then
temperature=4500
2024-05-26 19:10:11 -05:00
elif [ ${cmd} == "day" ] ; then
2024-05-26 15:16:41 -05:00
temperature=6500
elif [ ${cmd} == "evening" ] ; then
temperature=3500
elif [ ${cmd} == "night" ] ; then
temperature=2500
elif [ ${cmd} == "bedtime" ] ; then
temperature=1200
else
temperature=${cmd}
fi
2024-05-26 15:20:36 -05:00
echo "setting temperature to ${temperature}K"
2024-05-26 19:05:09 -05:00
echo ${temperature} > ${temperature_file}
2024-05-26 15:16:41 -05:00
redshift -P -O ${temperature}
}
2024-05-22 13:25:48 -05:00
# display setup
2024-08-26 19:31:48 -05:00
ds-t470p-11() {
info="1 laptop + 1 monitor for t470p"
if [[ $1 == "info" ]] ; then
echo "${info}"
else
echo "${info}"
xrandr --output eDP-1 --mode 1920x1080 --pos 0x1080 --rotate normal --output DP-1 --off --output HDMI-1 --primary --mode 3840x2160 --pos 1920x0 --rotate normal --output DP-2 --off --output HDMI-2 --off --output DP-3 --off --output HDMI-3 --off > /dev/null 2>&1
nr > /dev/null 2>&1
xrdb ~/.Xresources
fi
}
ds-tuxwarrior-11() {
info="1 laptop + 1 monitor for tuxwarrior"
2024-06-12 15:53:03 -05:00
if [[ $1 == "info" ]] ; then
2024-06-12 15:55:57 -05:00
echo "${info}"
2024-05-23 06:26:29 -05:00
else
2024-06-12 15:55:57 -05:00
echo "${info}"
2024-08-26 19:32:51 -05:00
xrandr --output DP-0 --off --output DP-1 --off --output HDMI-0 --primary --mode 3840x2160 --pos 3840x0 --rotate normal --output DP-2 --mode 3840x2160 --pos 0x0 --rotate normal --output DP-3 --off --output DP-4 --off --output DP-5 --off --output DP-6 --off > /dev/null 2>&1
2024-06-12 15:57:29 -05:00
nr > /dev/null 2>&1
2024-06-12 15:55:57 -05:00
xrdb ~/.Xresources
2024-05-23 06:26:29 -05:00
fi
2024-05-20 06:57:24 -05:00
}
2024-05-15 12:53:08 -05:00
2024-05-06 07:39:24 -05:00
# # Change the window title of X terminals
# case ${TERM} in
# xterm*|rxvt*|Eterm*|aterm|kterm|gnome*|interix|konsole*)
# PROMPT_COMMAND='echo -ne "\033]0;${USER}@${HOSTNAME%%.*}:${PWD/#$HOME/\~}\007"'
# ;;
# screen*)
# PROMPT_COMMAND='echo -ne "\033_${USER}@${HOSTNAME%%.*}:${PWD/#$HOME/\~}\033\\"'
# ;;
# esac
2024-05-11 15:52:06 -05:00
2024-05-06 07:39:24 -05:00
# alias cp="cp -i" # confirm before overwriting something
# alias df='df -h' # human-readable sizes
# alias free='free -m' # show sizes in MB
# alias np='nano -w PKGBUILD'
# #alias more=less
2024-05-11 15:52:06 -05:00
2024-05-21 07:00:18 -05:00
# ---
# sys stuff
# ---
2024-05-21 07:45:20 -05:00
alias nas-mount="sudo systemctl start mnt-nas.mount"
alias nas-unmount="sudo systemctl stop mnt-nas.mount"
alias nas-mount-2="sudo mount -v -t cifs //192.168.1.222/fro /mnt/nas -o credentials=/home/poq/syncDir/secrets/misc/lillesorteboks.txt"
alias nas-unmount-2="sudo umount /mnt/nas"
2024-05-11 15:52:06 -05:00
2024-05-06 07:39:24 -05:00
# iso-mount() {
# sudo mount -o loop "$1" /media/iso
# }
# alias iso-unmount="sudo umount /media/iso"
#
2024-05-21 07:00:18 -05:00
# https://en.wikipedia.org/wiki/List_of_common_resolutions
alias res-low="xrandr -s 1920x1080"
alias res-med="xrandr -s 2560x1440"
alias res-high="xrandr -s 3840x2160"
2024-05-11 15:52:06 -05:00
2024-05-06 07:39:24 -05:00
# # ---
# # misc
# # ---
# downstream() {
# output="output.mp4"
# # https://stackoverflow.com/questions/3601515/how-to-check-if-a-variable-is-set-in-bash
# if [[ -n $2 ]]; then
# output=$2
# fi
# ffmpeg -i "$1" -c copy -bsf:a aac_adtstoasc "/home/poq/syncDir/0_downloads/${output}"
# }
2024-05-11 22:40:04 -05:00
alias videoCompressor="/home/poq/syncDir/gitRepos/git.mz.fo/miniProjects/2104_videoCompressor/src/vc_v2.sh"
2024-05-06 07:39:24 -05:00
# alias videoWatermark="/home/poq/syncDir/gitRepos/git.mz.fo/miniProjects/2104_videoCompressor/src/vcwm_v1.sh"
# alias webserver-start="/home/poq/syncDir/gitRepos/git.mz.fo/localWebServer/sh/startWebserver.sh"
# gpx2jon() {
# cd /home/poq/syncDir/gitRepos/git.mz.fo/gpx2jon/src
# source venv/bin/activate
# python archi.py -s /home/poq/syncDir/gitRepos/git.mz.fo/fiodb/db/gpx2jon/sites
# deactivate
# }
# gpx2jon-with-build-all() {
# gpx2jon
# frodr.com-build-all
# }
2024-05-11 22:40:04 -05:00
alias imgResize='/home/poq/syncDir/gitRepos/git.mz.fo/miniProjects/2305_imgResizer/resize.sh 1200'
alias notesArchiver='/home/poq/syncDir/gitRepos/git.mz.fo/miniProjects/2306_notesArchiver/notesArchiver.sh'
alias toJpg='/home/poq/syncDir/gitRepos/git.mz.fo/miniProjects/2306_toJpg/toJpg.sh'
alias gpxImporter='python /home/poq/syncDir/gitRepos/git.mz.fo/miniProjects/2308_gpxImporter/importer.py'
2024-05-11 15:52:06 -05:00
2024-07-18 15:47:03 -05:00
pdfCompressor() {
gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.5 -dPDFSETTINGS=/ebook \
-dNOPAUSE -dQUIET -dBATCH -sOutputFile=$1.compressed.pdf $1
}
2024-05-11 15:52:06 -05:00
# ---
# ajp related
# ---
2024-05-06 07:39:24 -05:00
# ajp-cp2dropbox() {
# "/home/poq/syncDir/gitRepos/git.mz.fo/miniProjects/2106_ajpDropboxDeployer/archi.sh" "$1" "$2"
# }
2024-05-11 15:52:06 -05:00
podigy() {
cd /home/poq/syncDir/gitRepos/git.mz.fo/podigy/src
source venv/bin/activate
python archi.py -s /home/poq/syncDir/gitRepos/git.mz.fo/fiodb/db/podigy/sites
deactivate
}
2024-05-06 07:39:24 -05:00
# podigy-pywsdb() {
# podigy
# /home/poq/syncDir/gitRepos/git.mz.fo/pyws/deploy/deployToBuildServer.sh db
# }
#
# # ---
# # c19vaxno
# # ---
# #alias c19vaxno-deploy="/home/poq/syncDir/gitRepos/gitlab/c19vaxno/helperScripts/deployToGitlab.sh"
2024-05-20 07:32:15 -05:00
# ---
# hummed
# ---
hummed-activate() {
cd /home/poq/syncDir/gitRepos/git.mz.fo/hummed/src
source venv/bin/activate
}
hummed() {
hummed-activate
python /home/poq/syncDir/gitRepos/git.mz.fo/hummed/src/archi.py "$@"
deactivate
jump-to-downloads
}
# ---
# jeton
# ---
jeton() {
cd /home/poq/syncDir/gitRepos/git.mz.fo/jeton/src/
source venv/bin/activate
python archi.py -s /home/poq/syncDir/gitRepos/git.mz.fo/fiodb/db/jeton/in/sites -r $1
deactivate
}
2024-05-06 07:39:24 -05:00
# # ---
# # server syncs/backups/deploys
# # ---
# srv-guru-backup() {
# echo "[srv-guru-backup]: <=== download wc2sd/exec/"
# rsync -v -a --progress --stats --e 'ssh -p 1808' trunk@135.181.193.110:/home/trunk/wc2sd/exec/ /home/poq/syncDir/gitRepos/git.mz.fo/srv.guru/trunk/wc2sd/exec/
# echo "[srv-guru-backup]: <=== download wc2sd/db/"
# rsync -v -a --progress --stats -e 'ssh -p 1808' trunk@135.181.193.110:/home/trunk/wc2sd/db/ /home/poq/syncDir/gitRepos/git.mz.fo/srv.guru/trunk/wc2sd/db/
# echo "[srv-guru-backup]: <=== download cron_export/"
# rsync -v -a --progress --stats -e 'ssh -p 1808' trunk@135.181.193.110:/home/trunk/cron_export/ /home/poq/syncDir/gitRepos/git.mz.fo/srv.guru/trunk/cron_export/
# echo "[srv-guru-backup]: <=== download .ssh/"
# rsync -v -a --progress --stats -e 'ssh -p 1808' trunk@135.181.193.110:/home/trunk/.ssh/ /home/poq/syncDir/gitRepos/git.mz.fo/srv.guru/trunk/.ssh/
# }
2024-05-11 16:58:43 -05:00
# ---
# misc websites
# ---
alias 00101111.xyz-deploy="rsync -v -a --progress --stats --delete-delay -e 'ssh -p 1808' /home/poq/syncDir/gitRepos/git.mz.fo/00101111.xyz/www/ trunk@167.235.77.26:/var/www/00101111.xyz/"
2024-06-07 06:19:04 -05:00
alias mz.fo-deploy="rsync -v -a --progress --stats --delete-delay -e 'ssh -p 1808' /home/poq/syncDir/gitRepos/git.mz.fo/mz.fo/www/ trunk@167.235.77.26:/var/www/mz.fo/"
2024-05-11 16:58:43 -05:00
2024-05-06 07:39:24 -05:00
# # ---
# # pusterom.com
# # ---
# alias pusterom.com-themeUpd="rsync -v -a --progress --stats --delete-delay -e 'ssh -p 22' /home/poq/syncDir/gitRepos/git.mz.fo/pusterom-hht/src/Pusterom/ root@209.38.217.93:/var/www/humhub/themes/Pusterom/"
2024-05-11 16:05:43 -05:00
# ---
# jongleur
# ---
jcssbuilder() {
cd /home/poq/syncDir/gitRepos/git.mz.fo/jCssBuilder/src
source venv/bin/activate
python /home/poq/syncDir/gitRepos/git.mz.fo/jCssBuilder/src/archi.py
deactivate
}
jongleur-activate() {
cd /home/poq/syncDir/gitRepos/gitlab/jongleur/src
source venv/bin/activate
}
jump-to-downloads() {
cd /home/poq/syncDir/0_downloads
}
ajp.fm-build() {
jongleur-activate
/home/poq/syncDir/gitRepos/git.mz.fo/ajp.fm/jongleur/run.sh
deactivate
jump-to-downloads
}
ajp.fm-build-all() {
jongleur-activate
/home/poq/syncDir/gitRepos/git.mz.fo/ajp.fm/jongleur/runAll.sh
deactivate
jump-to-downloads
}
alias ajp.fm-deploy="rsync -v -a --progress --stats --delete-delay -e 'ssh -p 1808' /home/poq/syncDir/gitRepos/git.mz.fo/ajp.fm/jongleur/html_export/ trunk@167.235.77.26:/var/www/ajp.fm/jongleur/"
2024-06-10 19:19:30 -05:00
antijanteboka.com-build() {
jongleur-activate
/home/poq/syncDir/gitRepos/git.mz.fo/antijanteboka.com/jongleur/run.sh
deactivate
jump-to-downloads
}
antijanteboka.com-build-all() {
jongleur-activate
/home/poq/syncDir/gitRepos/git.mz.fo/antijanteboka.com/jongleur/runAll.sh
deactivate
jump-to-downloads
}
2024-06-07 07:21:40 -05:00
alias antijanteboka.com-deploy="rsync -v -a --progress --stats --delete-delay -e 'ssh -p 1808' /home/poq/syncDir/gitRepos/git.mz.fo/antijanteboka.com/jongleur/html_export/ trunk@167.235.77.26:/var/www/antijanteboka.com/jongleur/"
antijantemiriam.com-build() {
jongleur-activate
/home/poq/syncDir/gitRepos/git.mz.fo/antijantemiriam.com/jongleur/run.sh
deactivate
jump-to-downloads
}
antijantemiriam.com-build-all() {
jongleur-activate
/home/poq/syncDir/gitRepos/git.mz.fo/antijantemiriam.com/jongleur/runAll.sh
deactivate
jump-to-downloads
}
alias antijantemiriam.com-deploy="rsync -v -a --progress --stats --delete-delay -e 'ssh -p 1808' /home/poq/syncDir/gitRepos/git.mz.fo/antijantemiriam.com/jongleur/html_export/ trunk@167.235.77.26:/var/www/antijantemiriam.com/jongleur/"
2024-06-10 19:19:30 -05:00
billgoats.com-build() {
jongleur-activate
/home/poq/syncDir/gitRepos/git.mz.fo/billgoats.com/jongleur/run.sh
deactivate
jump-to-downloads
}
billgoats.com-build-all() {
jongleur-activate
/home/poq/syncDir/gitRepos/git.mz.fo/billgoats.com/jongleur/runAll.sh
deactivate
jump-to-downloads
}
alias billgoats.com-deploy="rsync -v -a --progress --stats --delete-delay -e 'ssh -p 1808' /home/poq/syncDir/gitRepos/git.mz.fo/billgoats.com/jongleur/html_export/ trunk@167.235.77.26:/var/www/billgoats.com/jongleur/"
curious.art-build() {
jongleur-activate
/home/poq/syncDir/gitRepos/git.mz.fo/curious.art/jongleur/run.sh
deactivate
jump-to-downloads
}
curious.art-build-all() {
jongleur-activate
/home/poq/syncDir/gitRepos/git.mz.fo/curious.art/jongleur/runAll.sh
deactivate
jump-to-downloads
}
alias curious.art-deploy="rsync -v -a --progress --stats --delete-delay -e 'ssh -p 1808' /home/poq/syncDir/gitRepos/git.mz.fo/curious.art/jongleur/html_export/ trunk@167.235.77.26:/var/www/curious.art/jongleur/"
curiouscreators.com-build() {
jongleur-activate
/home/poq/syncDir/gitRepos/git.mz.fo/curiouscreators.com/jongleur/run.sh
deactivate
jump-to-downloads
}
curiouscreators.com-build-all() {
jongleur-activate
/home/poq/syncDir/gitRepos/git.mz.fo/curiouscreators.com/jongleur/runAll.sh
deactivate
jump-to-downloads
}
alias curiouscreators.com-deploy="rsync -v -a --progress --stats --delete-delay -e 'ssh -p 1808' /home/poq/syncDir/gitRepos/git.mz.fo/curiouscreators.com/jongleur/html_export/ trunk@167.235.77.26:/var/www/curiouscreators.com/jongleur/"
frodr.com-build() {
jongleur-activate
/home/poq/syncDir/gitRepos/git.mz.fo/frodr.com/jongleur/run.sh
deactivate
jump-to-downloads
}
frodr.com-build-all() {
jongleur-activate
/home/poq/syncDir/gitRepos/git.mz.fo/frodr.com/jongleur/runAll.sh
deactivate
jump-to-downloads
}
alias frodr.com-deploy="rsync -v -a --progress --stats --delete-delay -e 'ssh -p 1808' /home/poq/syncDir/gitRepos/git.mz.fo/frodr.com/jongleur/html_export/ trunk@167.235.77.26:/var/www/frodr.com/jongleur/"
klevstul.com-build() {
jongleur-activate
/home/poq/syncDir/gitRepos/git.mz.fo/klevstul.com/jongleur/run.sh
deactivate
jump-to-downloads
}
klevstul.com-build-all() {
jongleur-activate
/home/poq/syncDir/gitRepos/git.mz.fo/klevstul.com/jongleur/runAll.sh
deactivate
jump-to-downloads
}
alias klevstul.com-deploy="rsync -v -a --progress --stats --delete-delay -e 'ssh -p 1808' /home/poq/syncDir/gitRepos/git.mz.fo/klevstul.com/jongleur/html_export/ trunk@167.235.77.26:/var/www/klevstul.com/jongleur/"
2024-06-06 19:12:32 -05:00
noctur.no-build() {
jongleur-activate
/home/poq/syncDir/gitRepos/git.mz.fo/noctur.no/jongleur/run.sh
deactivate
jump-to-downloads
}
noctur.no-build-all() {
jongleur-activate
/home/poq/syncDir/gitRepos/git.mz.fo/noctur.no/jongleur/runAll.sh
deactivate
jump-to-downloads
}
2024-06-22 13:56:56 -05:00
alias noctur.no-deploy="rsync -v -a --progress --stats --delete-delay -e 'ssh -p 1808' /home/poq/syncDir/gitRepos/git.mz.fo/noctur.no/jongleur/html_export/ trunk@167.235.77.26:/var/www/noctur.no/jongleur/"
christcast.org-build() {
jongleur-activate
/home/poq/syncDir/gitRepos/git.mz.fo/christcast.org/jongleur/run.sh
deactivate
jump-to-downloads
}
christcast.org-build-all() {
jongleur-activate
/home/poq/syncDir/gitRepos/git.mz.fo/christcast.org/jongleur/runAll.sh
deactivate
jump-to-downloads
}
alias christcast.org-deploy="rsync -v -a --progress --stats --delete-delay -e 'ssh -p 1808' /home/poq/syncDir/gitRepos/git.mz.fo/christcast.org/jongleur/html_export/ trunk@167.235.77.26:/var/www/christcast.org/jongleur/"