diff --git a/.bash_aliases b/.bash_aliases index 1427514..d85795f 100644 --- a/.bash_aliases +++ b/.bash_aliases @@ -1,6 +1,8 @@ export EDITOR=nvim -export HOSTNAME=`hostname 2>/dev/null || hostnamectl hostname` +export HOSTNAME=$(hostname 2>/dev/null || hostnamectl hostname) export RIPGREP_CONFIG_PATH=~/.ripgreprc +export PATH="$PATH:/opt/cuda/nsight_systems/bin:/opt/cuda/nsight_compute" +export PATH="$(systemctl --user show-environment | grep "^PATH" | sed -e 's/PATH=//g'):$PATH" if [ $USER = 'knyffen' ] || ([ $HOSTNAME = 'jry-thinkpad-t470' ] && [ $USER = 'jry' ]); then alias rm="trash" @@ -26,7 +28,18 @@ alias zathura-t="tabbed -c zathura -e" alias parsecd="LIBVA_DRIVER_NAME=iHD parsecd" alias stack="/usr/bin/stack" alias java_hidpi="java -Dsun.java2d.uiScale=2" -alias wol_desktop="ssh knyf wol BC:5F:F4:74:74:57" +function wol_desktop { + wol A0:36:BC:BA:A1:58; + while ! ping -c 1 -n -w 1 192.168.0.53 &> /dev/null + do + echo -n .; + done + echo ''; + sleep 5s; + ssh root@192.168.0.53; + sleep 5s; + ssh -t knyffen@192.168.0.53 'sudo systemctl restart sddm'; +} alias wol_synology="ssh knyf wol 00:11:32:09:9F:12" alias dd_progress='sudo kill -USR1 $(pgrep ^dd)' alias co2="ssh knyf mhz14a -r -d /dev/ttyS0" @@ -37,18 +50,24 @@ alias jix-vpn="sudo openvpn --config ~/Nextcloud/configfiles/openvpn/jobindex.co alias enable_touch="xinput enable 'Wacom HID 51E3 Finger touch'" alias disable_touch="xinput disable 'Wacom HID 51E3 Finger touch'" alias ack="ack -T junkFiles" -function ack_open { nvim $( ack -m 1 -T junkFiles "$@" | grep -Po "^(?:lib|t|tmpl|python)/[^:]+:\d+" | tr '\n' ' ' ); } -alias pacman="nice -n 19 pacman --config ~/Nextcloud/configfiles/pacman.conf" +function ack_open { nvim "$( ack -m 1 -T junkFiles "$@" | grep -Po "^(?:lib|t|tmpl|python)/[^:]+:\d+" | tr '\n' ' ' )"; } +alias pacman="nice -n 19 pacman --config ~/Nextcloud/configfiles/pacman/pacman.conf" alias pamac="nice -n 19 pamac" -alias yay="nice -n 19 yay --config ~/Nextcloud/configfiles/pacman.conf" +alias yay="nice -n 19 yay --config ~/Nextcloud/configfiles/pacman/pacman.conf" +alias makepkg="nice -n 19 makepkg" alias restartplasma='systemctl --user restart plasma-plasmashell' alias surf="GDK_BACKEND=x11 surf" alias nvim-restore="ls ~/.local/share/nvim/swap/ | xargs basename -s .swp | tr % / | xargs nvim" alias rmlint="rmlint -o pretty:stdout" +alias clear="seq 2 $(tput lines) | xargs -n 1 echo; clear -x" +alias decolor="sed -e 's/\x1b\[[0-9;]*m//g'" +alias restart_vban="systemctl --user restart vban; ssh knyffen@192.168.0.20 sudo systemctl restart vban" +alias count_files_in_folders="du -a | cut -d/ -f2 | sort | uniq -c | sort -n" +function zip_it { zip -r "$1" "$1"; } # git alias gst="git status" -if [ `alias | grep '\sgbr=' | wc -l` != 0 ]; then +if [ "$(alias | grep '\sgbr=' -c)" != 0 ]; then unalias gbr fi # alias gbr="git branch --sort=-committerdate" @@ -56,7 +75,7 @@ fi function gbr { git branch --sort=-committerdate --format '%(if)%(HEAD)%(then)*%(else)%(if)%(worktreepath)%(then)+%(else) %(end)%(end) %(align:width=40,position=left)%(refname:short)%(end) %(align:width=10,position=right)%(color:green)(%(committerdate:relative))%(end)' | perl -pE '$_ =~ /^[*+]?\s+(?\S+)\s*/; my $branch = $+{branch}; my $merged = qx{git log \$(git rev-parse $branch) ^master --no-merges}; if ($merged) { $_ =~ s/^/[ ] / } else { $_ =~ s/^/[x] / };'; } function ggn { git grep -Pn --color=always "$@" :/; } function ggt { git grep -Pn --color=always "$@" t/lib ; } -function ggp { ggn --color=always "$@" $(git rev-list --all); } +function ggp { ggn --color=always "$@" "$(git rev-list --all)"; } function ggl { ggn --color=always "$@" | less -R; } function gdl { git diff --color=always "$@" | less -R; } function ggtl { ggt --color=always "$@" | less -R; } @@ -95,10 +114,10 @@ git() { esac } -if [ $HOSTNAME = 'gnu' ] && [ $USER = 'jry' ]; then +if [ "$HOSTNAME" = 'gnu' ] && [ "$USER" = 'jry' ]; then alias TODO="ggn 'TODO: jry:?'" fi -if [ $USER = 'knyffen' ]; then +if [ "$USER" = 'knyffen' ] || [ "$HOSTNAME" = 'jry-thinkpad' ]; then alias TODO="vim ~/Nextcloud/Notes/TODO.md" fi @@ -204,19 +223,46 @@ spin() { esac; } -if [ $USER = 'knyffen' ]; then +pdfpagepicker() { + if [ -z "$(pacman -Qs poppler | grep 'local/poppler ')" ]; then + echo "This script requires poppler to be installed." + echo "sudo pacman -S poppler" + exit + fi + if [ $# != 3 ]; then + echo "Usage: input.pdf 1,3-5,7 output.pdf" + exit + fi + + IN=$1 + PAGES=$2 + OUT=$3 + + FOLDERNAME='.tmpmyverysecrettmpfolderaasdasdasdaastf' + [ ! -d "$FOLDERNAME" ] || { echo "Failed! Temporary folder already exists."; exit; } + mkdir "$FOLDERNAME" + cd "$FOLDERNAME" || { echo "Failed! Couldn't create temporary folder."; exit; } + pdfseparate "../$IN" page_%d.pdf + set -- $( echo "$PAGES" | perl -E 'say "page_$_.pdf" foreach map {eval($_ =~ s/-/../r)} split(/,/, <>)' ); + pdfunite "$@" "../$OUT" + + cd .. + rm -r "$FOLDERNAME" +} + +if [ "$USER" = 'knyffen' ]; then # Reduce priority of make commands, to preserve system responsiveness when e.g. compiling gcc alias pamac="nice -n 19 pamac" fi -if [ $HOSTNAME = 'gnu' ] && [ $USER = 'jry' ]; then +if [ "$HOSTNAME" = 'gnu' ] && [ "$USER" = 'jry' ]; then alias fzy="~/.fzy/fzy" alias perlperl="/usr/bin/perl" alias perlprove="/usr/bin/prove" - function prove { jix-shell TEST_METHOD=$TEST_METHOD BAIL_ON_FAIL=$BAIL_ON_FAIL prove "$@"; } - function prove-on-backend { jix-shell TEST_METHOD=$TEST_METHOD BAIL_ON_FAIL=$BAIL_ON_FAIL USER=$USER JIX_USERID=$JIX_USERID prove-on-backend "$@"; } - function perl { jix-shell TEST_METHOD=$TEST_METHOD BAIL_ON_FAIL=$BAIL_ON_FAIL USER=$USER JIX_USERID=$JIX_USERID perl -MJIX "$@"; } + function prove { jix-shell TEST_METHOD="$TEST_METHOD" BAIL_ON_FAIL="$BAIL_ON_FAIL" prove "$@"; } + function prove-on-backend { jix-shell TEST_METHOD="$TEST_METHOD" BAIL_ON_FAIL="$BAIL_ON_FAIL" USER="$USER" JIX_USERID="$JIX_USERID" prove-on-backend "$@"; } + function perl { jix-shell TEST_METHOD="$TEST_METHOD" BAIL_ON_FAIL="$BAIL_ON_FAIL" USER="$USER" JIX_USERID="$JIX_USERID" perl -MJIX "$@"; } alias open_url="jix-shell open_url" alias colorlog="jix-shell colorlog.pl" alias jix-gettext="jix-shell jix-gettext" @@ -233,17 +279,17 @@ if [ $HOSTNAME = 'gnu' ] && [ $USER = 'jry' ]; then local COMMAND='use Test::More; use Test::JIX::Mojo; use JIX::Env; DB::disable_profile; # backup solution for setting NYTPROF=start=no env variable - JIX::Env->USER("'$USER'"); # backup solution for setting USER=jobdk env variable + JIX::Env->USER("'"$USER"'"); # backup solution for setting USER=jobdk env variable my $t = Test::JIX::Mojo->new("JIX::Mojo"); - my $c = JIX::CompanyUser->retrieve( { id => '$JIX_USERID' } ); + my $c = JIX::CompanyUser->retrieve( { id => '"$JIX_USERID"' } ); $t->ua->inactivity_timeout(600); $t->auto_html5_ok(0); $t->login_companyuser($c); - $t->jix_get_ok([ "'$ROOT'", format=>"xml", form => { '$FORM' } ]); + $t->jix_get_ok([ "'"$ROOT"'", format=>"xml", form => { '"$FORM"' } ]); for (0..9) { $t->login_companyuser($c); DB::enable_profile; - $t->jix_get_ok([ "'$ROOT'", format=>"xml", form => { '$FORM' } ]); + $t->jix_get_ok([ "'"$ROOT"'", format=>"xml", form => { '"$FORM"' } ]); DB::disable_profile; }; done_testing();'; @@ -255,8 +301,8 @@ if [ $HOSTNAME = 'gnu' ] && [ $USER = 'jry' ]; then # Automatically keep a pointer to my latest SSH agent MY_SSH_SOCK="/tmp/ssh-agent-$USER" - if test $SSH_AUTH_SOCK && [ $SSH_AUTH_SOCK != $MY_SSH_SOCK ]; then - ln -sf $SSH_AUTH_SOCK $MY_SSH_SOCK - export SSH_AUTH_SOCK=$MY_SSH_SOCK + if test "$SSH_AUTH_SOCK" && [ "$SSH_AUTH_SOCK" != "$MY_SSH_SOCK" ]; then + ln -sf "$SSH_AUTH_SOCK" "$MY_SSH_SOCK" + export SSH_AUTH_SOCK="$MY_SSH_SOCK" fi fi