# ksh environment file ######################################################################## # ENVIRONMENT VARIABLES ######################################################################## ### SEARCH PATHS PATH=~/.bin\ :~/.local/bin\ :/bin\ :/sbin\ :/usr/bin\ :/usr/sbin\ :/usr/local/bin\ :/usr/local/sbin\ :/usr/X11R6/bin\ :/usr/games\ :/usr/ports/infrastructure/bin JAVA_HOME=/usr/local/jdk-11/bin PATH=${PATH}:${JAVA_HOME} export PATH ### LANGUAGE LANG=en_US.UTF-8 LC_MESSAGES=C LC_NUMERIC=C LC_TIME=de_DE.UTF-8 export LANG LC_ALL LC_MESSAGES LC_NUMERIC LC_TIME ### SOFTWARE PREFERENCES EDITOR="vim" VISUAL="vim" BROWSER="chrome" PAGER="less" export EDITOR VISUAL BROWSER PAGER PRINTER="rp" export PRINTER ######################################################################## # STOP HERE IF NON INTERACTIVE ######################################################################## [[ $- != *i* ]] && return ######################################################################## # MANDATORY ENVIRONMENT ######################################################################## ### HISTORY HISTCONTROL=ignoredups:ignorespace:erasedups HISTFILE=$HOME/.ksh-history HISTSIZE=2000 export HISTCONTROL HISTFILE HISTSIZE # LESS LESS="-giJmR--tilde" LESSHISTFILE="$HOME/.less-history" export LESS LESSHISTFILE ######################################################################## # PROMPT (SIMPLE) ######################################################################## PS1="\h|\${?}\w\\$ " ######################################################################## # SHELL SETTINGS ######################################################################## ulimit -c 0 stty -ixon -ixoff set -o emacs set bell-style none ######################################################################## # MODULE LOADER ######################################################################## load() { [ -f ~/.ksh/$1 ] && . ~/.ksh/$1; } load environment.ksh load functions.ksh load aliases.ksh load email.ksh load porttools.ksh load remind.ksh load ytdl.ksh load amused.ksh load gnupg.ksh load localstuff.ksh ######################################################################## # ALIASES (MISC) ######################################################################## alias sudo="doas" alias su="doas su" # packages alias pkg_add="doas \pkg_add ${PKGOPT}" alias pkg_delete="doas \pkg_delete ${PKGOPT}" alias pkg_info="\pkg_info ${PKGOPT}" # mount alias mount_msdos="doas \mount_msdos -o nodev,nosuid,noatime -u 1000 -g 1000" mount_tank() { awk '$3=="nfs"{print $2}' /etc/fstab | xargs -n1 doas mount; } umount_tank() { awk '$3=="nfs"{print $2}' /etc/fstab | xargs -n1 doas umount; } pw() { pwgen -1 -y --remove-chars=\~\`\"\'{}\(\)\[\]\*.\;\|,\<\> 22; } ######################################################################## # KERNEL STUFF ######################################################################## alias update-ksh="cd /usr/src/bin/ksh \ && doas make clean \ && doas make obj \ && doas make -j $MAKE_JOBS \ && doas make install" ######################################################################## # TWITCH FROM CLI ######################################################################## alias twitch-play="mpv https://www.twitch.tv/c0dev0id" twitch-stream() { local API_KEY=$(pass Internet/Twitch | head -1) local RES=$(xrandr | grep "*+" | awk '{print $1}') local FAUX_OPTS="-d snd/default -m -vmic 5.0 -vmon 0.2 -r $RES -f 20 -b 4000" fauxstream $FAUX_OPTS rtmp://live-ams.twitch.tv/app/$API_KEY } ######################################################################## # DOTFILES WITH GIT ######################################################################## alias config='git --git-dir=${HOME}/.cfg/ --work-tree=${HOME}' dotfiles_autoupdate() { config add -u && \ config commit -m "Update $(date +"%Y-%m-%d %H:%M") \ $(uname -s)/$(uname -m)-$(hostname -s)" && config push } dotfiles_init() { git --no-replace-objects clone --bare --depth 1 \ _gitea@git.uugrn.org:sdk/dotfiles.git $HOME/.cfg; config config --local status.showUntrackedFiles no; config checkout -f } ######################################################################## # FILE SHARING ######################################################################## doupload-http() { [ ! -f "$1" ] && return 2 chmod ugo+r "$1" _name=$(basename "$1"); scp -r "$1" codevoid.de:/tmp ssh codevoid.de "doas mv /tmp/$_name /home/www/htdocs/http/$_name" echo "https://codevoid.de/h/$_name"; } doupload-gopher() { [ ! -f "$1" ] && return 2 chmod ugo+r "$1" _name=$(basename "$1"); scp -r "$1" codevoid.de:/tmp ssh codevoid.de "doas mv /tmp/$_name /home/www/htdocs/gopher/p/$_name" case "$(file --mime-type -b "$1")" in image/*) S="I";; text/*) S="0";; message/*) S="0";; */x-shellscript) S="0";; */pgp-keys) S="0";; application/*) S="9";; esac echo "https://codevoid.de/$S/p/$_name"; echo "gopher://codevoid.de/$S/p/$_name"; } ######################################################################## # KSH COMPLETIONS ######################################################################## [ -f $HOME/.ksh-complete ] && . $HOME/.ksh-complete