197 lines
5.4 KiB
Bash
197 lines
5.4 KiB
Bash
# 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
|
|
########################################################################
|
|
|
|
# hack for more colors in cool-retro-term
|
|
if [ ! -z $COLORFGBG ]
|
|
then
|
|
TERM=xterm-256color
|
|
fi
|
|
|
|
### 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 fzf.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
|
|
|