function mutt_docker { docker run -ti \ -e TERM_BG_SHADE=$TERM_BG_SHADE \ -e TERM=$TERM \ -v $HOME/contacts.txt:/home/mutt/contacts.txt:ro \ -v $HOME/.vim:/home/mutt/.vim:ro \ -v $HOME/.mutt/:/home/mutt/.mutt:ro \ -v $HOME/Mail:/home/mutt/Mail:ro \ -v $HOME/share:/home/mutt/share \ docker.crute.me/mutt:latest } export -f mutt function alpine-build { local image_name="alpine:edge" local update_file="$HOME/.cache/alpine-build-pull" # Pull image if no image update timestamp file if [ ! -f "$update_file" ]; then touch "$update_file" docker pull "$image_name" fi # Pull image if we haven't pulled it in at least 3 days if [ $(( $(date +%s) - $(stat -c "%Y" "$update_file") )) -gt 259200 ]; then touch "$update_file" docker pull "$image_name" fi docker run -ti --rm --detach-keys=ctrl-@ \ --privileged \ -e ALPINE_UID=$UID \ -v $HOME/bin:/opt/home-bin:ro \ -v $HOME/.abuild:/abuild-keys:ro \ -v $HOME/repos/alpine/aports:/aports \ -v $HOME/.gitconfig:/opt/.gitconfig \ -v $HOME/.gitconfig-personal:/opt/.gitconfig-personal \ "$image_name" /opt/home-bin/aport-bootstrap.sh } export -f alpine-build function alpine-website { local image_name="alpine:edge" local update_file="$HOME/.cache/alpine-build-pull" # Pull image if no image update timestamp file if [ ! -f "$update_file" ]; then touch "$update_file" docker pull "$image_name" fi # Pull image if we haven't pulled it in at least 3 days if [ $(( $(date +%s) - $(stat -c "%Y" "$update_file") )) -gt 259200 ]; then touch "$update_file" docker pull "$image_name" fi docker run -ti --rm --detach-keys=ctrl-@ \ --privileged \ -p 8080:8080 \ -v $HOME/bin:/opt/home-bin:ro \ -v $HOME/.abuild:/abuild-keys:ro \ -v $HOME/repos/third_party/aports:/aports \ -v $HOME/.gitconfig:/opt/.gitconfig \ -v $HOME/.gitconfig-personal:/opt/.gitconfig-personal \ -v $HOME/repos/third_party/alpine-mksite:$HOME/alpine-mksite \ "$image_name" /opt/home-bin/aport-bootstrap.sh } export -f alpine-website export TERM_BG_SHADE="dark" alias vssh="ssh -t mcrute-virt.sea1.crute.me \"bash -c 'tm mike'\"" alias mfi-ssh="ssh -oKexAlgorithms=+diffie-hellman-group1-sha1 -l admin " simple-info() { for i in /usr/share/info/*; do m="$(basename "$i")" n="${m%.info.gz}" echo ${n%.gz} done | less -FSRX # There can be many .info-\d+.gz zcat "/usr/share/info/$1.info.gz" | sed -Ee "/\x1f/d; /^File: $1.info,/d; /^(Node|Ref): .*�/d" | cat -s | less } get_ssh_agent