# # ~/.bashrc :: by frode klevstul # # --- # special stuff # --- # If not running interactively, don't do anything [[ $- != *i* ]] && return # https://github.com/gsamokovarov/jump eval "$(jump shell --bind=j)" # --- # environment variables # --- # see `dots/environment/environment` # --- # miscellaneous aliases # --- alias azurevpnclient="/opt/microsoft/microsoft-azurevpnclient/microsoft-azurevpnclient" alias ct="sudo ct" alias dbgate="/home/poq/syncDir/quick/swas/installationFiles/dbGate/dbgate-latest.AppImage" alias dr="dragon-drop --and-exit --all --print-path" alias du="du --summarize --human-readable" alias dus="du --summarize --human-readable * | sort -h" alias ffind="sudo find / -type f -name" alias gparted="sudo gparted" alias grep='grep --color=auto' alias ip='ip -br a' alias keymap="setxkbmap -model pc105 -layout us,no -option grp:caps_toggle,grp_led:scroll" alias keyringreset="trash-put /home/poq/.local/share/keyrings/*.keyrings" alias lock="xautolock -locknow" alias ls='ls --color=auto' alias luna="~/syncDir/quick/swas/installationFiles/lunaModeler/Luna\ Modeler-10.1.0-x86_64.AppImage" alias mamapscii='telnet mapscii.me' alias myip="echo $(wget http://ipinfo.io/ip -qO -)" alias nr="nitrogen --restore" alias sb="source ~/.bashrc" alias tp-empty="trash-empty" alias tp-list="tree ~/.local/share/Trash/" alias tp-restore="trash-restore" alias tp="tp.sh" alias tree="tree --du -h" #alias cp="cp -i" # confirm before overwriting something #alias df='df -h' # human-readable sizes #alias dpi="xrandr --dpi" #alias free='free -m' # show sizes in MB #alias more=less #alias np='nano -w PKGBUILD' #alias package-updates="pacman -Qu" # --- # terminal # --- # x terminal shell start string | https://askubuntu.com/questions/1340319/ps1-string-full-documentation-and-reference-page # https://bash-prompt-generator.org/ # https://askubuntu.com/questions/193416/adding-timestamps-to-terminal-prompts PS1='⚙[\D{%y%m%d%H%M}|\u@\h \w]\$ ' # 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 # --- # networking # --- nmrestart() { systemctl restart NetworkManager systemctl status NetworkManager } # --- # screens / displays / power management # --- # https://en.wikipedia.org/wiki/List_of_common_resolutions # DP-2 is laptop display #alias res-low="xrandr --output DP-2 --size 1920x1080" #alias res-med="xrandr --output DP-2 --size 2560x1440" #alias res-high="xrandr --output DP-2 --size 3840x2160" alias res-low="xrandr -s 1920x1080" alias res-med="xrandr -s 2560x1440" alias res-high="xrandr -s 3840x2160" monitor() { cmd="info" if [[ -n $1 ]]; then cmd=$1 fi if [ ${cmd} == "on" ] ; then # (standby) (suspend) (off) # 18.2 hours | https://superuser.com/questions/1876254/how-to-turn-off-monitor-and-dont-enable-screen-blanking-in-arch-linux xset dpms 65535 65535 65535 # disable screensaver xautolock -disable # disable screen locker elif [ ${cmd} == "off" ] ; then sleep 3 # sleep, to prevent mouse movement and immediate wake up xset dpms 0 0 600 # 10 min timout will be active after monitor wakes up xset dpms force off # shut off the monitor xautolock -enable # turns on screen locker again elif [ ${cmd} == "info" ] ; then xset -q else echo "error: unknown command \"${cmd}\"" fi } screensaver() { cmd="info" if [[ -n $1 ]]; then cmd=$1 fi if [ ${cmd} == "on" ] ; then xset dpms xautolock -enable # tmp file used by i3status - by default screensaver is on, so no need for "screensaver_on.tmp" trash-put "/tmp/screensaver_off.tmp" elif [ ${cmd} == "off" ] ; then xset -dpms xautolock -disable touch "/tmp/screensaver_off.tmp" elif [ ${cmd} == "reset" ] ; then if xset -q | grep -q 'DPMS is Enabled' ; then xset -dpms xset dpms xautolock -restart fi elif [ ${cmd} == "set" ] ; then minutes=15 if [[ -n $2 ]]; then minutes=$2 fi xautolock -time ${minutes} -locker i3lock_fk.sh elif [ ${cmd} == "info" ] ; then xset -q else echo "error: unknown command \"${cmd}\"" fi } rshift() { cmd="default" if [[ -n $1 ]]; then cmd=$1 fi temperature_file="/tmp/temperature.txt" if [ ${cmd} == "info" ] ; then echo "{morning, day, evening, night, bedtime}" return 1 elif [ ${cmd} == "status" ] || [ ${cmd} == "show" ] || [ ${cmd} == "display" ] ; then if [ -f "${temperature_file}" ] ; then temperature=$(cat /tmp/temperature.txt) echo "${temperature}K" else echo "unknown temperature value" fi return 1 elif [ ${cmd} == "disable" ] || [ ${cmd} == "off" ] ; then redshift -x elif [ ${cmd} == "morning" ] ; then temperature=4500 elif [ ${cmd} == "day" ] ; then temperature=6500 elif [ ${cmd} == "evening" ] ; then temperature=3500 elif [ ${cmd} == "night" ] ; then temperature=2500 elif [ ${cmd} == "bedtime" ] ; then temperature=1200 else temperature=${cmd} fi echo "setting temperature to ${temperature}K" echo ${temperature} > ${temperature_file} redshift -P -O ${temperature} } # --- # mounting # --- 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" nas() { if [[ -n $1 ]] ; then if [[ $1 == "umount" ]] || [[ $1 == "unmount" ]] ; then echo "umount /mnt/nas" sudo umount /mnt/nas elif [[ $1 == "mount" ]] && [[ -n $2 ]]; then echo "mount /mnt/nas" sudo mount -t cifs -o credentials=/home/poq/syncDir/secrets/misc/lillesorteboks.txt,iocharset=utf8,noperm //$2/fro /mnt/nas tree -L 2 /mnt/nas else echo "missing the ip when doing a mount? or, just trying a weird command? try: 'nas {mount,umount} {ip?}'" fi else echo "sry, bud! try: 'nas {mount,umount} {ip?}'" fi } # iso-mount() { # sudo mount -o loop "$1" /media/iso # } # alias iso-unmount="sudo umount /media/iso" # # --- # multimedia # --- # 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}" # } alias videoCompressor="/home/poq/syncDir/gitRepos/gt.op.fo/miniProjects/2104_videoCompressor/src/vc_v2.sh" # alias videoWatermark="/home/poq/syncDir/gitRepos/gt.op.fo/miniProjects/2104_videoCompressor/src/vcwm_v1.sh" alias notesArchiver='/home/poq/syncDir/gitRepos/gt.op.fo/miniProjects/2306_notesArchiver/notesArchiver.sh' alias toJpg='/home/poq/syncDir/gitRepos/gt.op.fo/miniProjects/2306_toJpg/toJpg.sh' alias gpxImporter='python /home/poq/syncDir/gitRepos/gt.op.fo/miniProjects/2308_gpxImporter/importer.py' imgResize() { /home/poq/syncDir/gitRepos/gt.op.fo/miniProjects/2305_imgResizer/resize.sh 1200 "$1" jpg } pdfCompressor() { gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.5 -dPDFSETTINGS=/ebook \ -dNOPAUSE -dQUIET -dBATCH -sOutputFile=$1.compressed.pdf $1 } # --- # ajp related # --- # ajp-cp2dropbox() { # "/home/poq/syncDir/gitRepos/gt.op.fo/miniProjects/2106_ajpDropboxDeployer/archi.sh" "$1" "$2" # } podigy() { cd /home/poq/syncDir/gitRepos/gt.op.fo/podigy/src source venv/bin/activate python archi.py -s /home/poq/syncDir/gitRepos/gt.op.fo/fiodb/db/podigy/sites deactivate } # podigy-pywsdb() { # podigy # /home/poq/syncDir/gitRepos/gt.op.fo/pyws/deploy/deployToBuildServer.sh db # } # # # --- # # c19vaxno # # --- # #alias c19vaxno-deploy="/home/poq/syncDir/gitRepos/gitlab/c19vaxno/helperScripts/deployToGitlab.sh" # --- # hummed # --- #hummed-activate() { # cd /home/poq/syncDir/gitRepos/gt.op.fo/hummed/src # source venv/bin/activate #} #hummed() { # hummed-activate # python /home/poq/syncDir/gitRepos/gt.op.fo/hummed/src/archi.py "$@" # deactivate # jump-to-downloads #} # --- # jeton # --- jeton() { cd /home/poq/syncDir/gitRepos/gt.op.fo/jeton/src/ source venv/bin/activate python archi.py -s /home/poq/syncDir/gitRepos/gt.op.fo/fiodb/db/jeton/in/sites -r $1 deactivate } # # --- # # 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/gt.op.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/gt.op.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/gt.op.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/gt.op.fo/srv.guru/trunk/.ssh/ # } # --- # misc websites # --- alias 00101111.xyz-deploy="rsync -v -a --progress --stats --delete-delay -e 'ssh -p 1808' /home/poq/syncDir/gitRepos/gt.op.fo/00101111.xyz/www/ trunk@167.235.77.26:/var/www/00101111.xyz/" alias op.fo-deploy="rsync -v -a --progress --stats --delete-delay -e 'ssh -p 1808' /home/poq/syncDir/gitRepos/gt.op.fo/op.fo/www/ trunk@167.235.77.26:/var/www/op.fo/" # gpx2jon() { # cd /home/poq/syncDir/gitRepos/gt.op.fo/gpx2jon/src # source venv/bin/activate # python archi.py -s /home/poq/syncDir/gitRepos/gt.op.fo/fiodb/db/gpx2jon/sites # deactivate # } # gpx2jon-with-build-all() { # gpx2jon # frodr.com-build-all # } # --- # jongleur # --- jcssbuilder() { cd /home/poq/syncDir/gitRepos/gt.op.fo/jCssBuilder/src source venv/bin/activate python /home/poq/syncDir/gitRepos/gt.op.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/gt.op.fo/ajp.fm/jongleur/run.sh deactivate jump-to-downloads } ajp.fm-build-all() { jongleur-activate /home/poq/syncDir/gitRepos/gt.op.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/gt.op.fo/ajp.fm/jongleur/html_export/ trunk@167.235.77.26:/var/www/ajp.fm/jongleur/" antijanteboka.com-build() { jongleur-activate /home/poq/syncDir/gitRepos/gt.op.fo/antijanteboka.com/jongleur/run.sh deactivate jump-to-downloads } antijanteboka.com-build-all() { jongleur-activate /home/poq/syncDir/gitRepos/gt.op.fo/antijanteboka.com/jongleur/runAll.sh deactivate jump-to-downloads } alias antijanteboka.com-deploy="rsync -v -a --progress --stats --delete-delay -e 'ssh -p 1808' /home/poq/syncDir/gitRepos/gt.op.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/gt.op.fo/antijantemiriam.com/jongleur/run.sh deactivate jump-to-downloads } antijantemiriam.com-build-all() { jongleur-activate /home/poq/syncDir/gitRepos/gt.op.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/gt.op.fo/antijantemiriam.com/jongleur/html_export/ trunk@167.235.77.26:/var/www/antijantemiriam.com/jongleur/" billgoats.com-build() { jongleur-activate /home/poq/syncDir/gitRepos/gt.op.fo/billgoats.com/jongleur/run.sh deactivate jump-to-downloads } billgoats.com-build-all() { jongleur-activate /home/poq/syncDir/gitRepos/gt.op.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/gt.op.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/gt.op.fo/curious.art/jongleur/run.sh deactivate jump-to-downloads } curious.art-build-all() { jongleur-activate /home/poq/syncDir/gitRepos/gt.op.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/gt.op.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/gt.op.fo/curiouscreators.com/jongleur/run.sh deactivate jump-to-downloads } curiouscreators.com-build-all() { jongleur-activate /home/poq/syncDir/gitRepos/gt.op.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/gt.op.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/gt.op.fo/frodr.com/jongleur/run.sh deactivate jump-to-downloads } frodr.com-build-all() { jongleur-activate /home/poq/syncDir/gitRepos/gt.op.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/gt.op.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/gt.op.fo/klevstul.com/jongleur/run.sh deactivate jump-to-downloads } klevstul.com-build-all() { jongleur-activate /home/poq/syncDir/gitRepos/gt.op.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/gt.op.fo/klevstul.com/jongleur/html_export/ trunk@167.235.77.26:/var/www/klevstul.com/jongleur/" noctur.no-build() { jongleur-activate /home/poq/syncDir/gitRepos/gt.op.fo/noctur.no/jongleur/run.sh deactivate jump-to-downloads } noctur.no-build-all() { jongleur-activate /home/poq/syncDir/gitRepos/gt.op.fo/noctur.no/jongleur/runAll.sh deactivate jump-to-downloads } alias noctur.no-deploy="rsync -v -a --progress --stats --delete-delay -e 'ssh -p 1808' /home/poq/syncDir/gitRepos/gt.op.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/gt.op.fo/christcast.org/jongleur/run.sh deactivate jump-to-downloads } christcast.org-build-all() { jongleur-activate /home/poq/syncDir/gitRepos/gt.op.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/gt.op.fo/christcast.org/jongleur/html_export/ trunk@167.235.77.26:/var/www/christcast.org/jongleur/"