summaryrefslogtreecommitdiff
path: root/.bashrc
diff options
context:
space:
mode:
authorSean Whitton <spwhitton@spwhitton.name>2021-02-04 21:51:21 -0700
committerSean Whitton <spwhitton@spwhitton.name>2021-02-04 22:28:42 -0700
commitf30024a8740f612db60133085016ef89403f5c8e (patch)
treef65d01ce9e804756801d45103df2596abbb2c9d3 /.bashrc
parentf88ddaa5234970ec54c1f208d520ba4b6e740e37 (diff)
downloaddotfiles-f30024a8740f612db60133085016ef89403f5c8e.tar.gz
enable shell aliases in M-! and M-&
Diffstat (limited to '.bashrc')
-rw-r--r--.bashrc145
1 files changed, 3 insertions, 142 deletions
diff --git a/.bashrc b/.bashrc
index fdd6683a..70b6f997 100644
--- a/.bashrc
+++ b/.bashrc
@@ -34,121 +34,30 @@ if [ -x /usr/bin/lesspipe ]; then
eval "$(lesspipe)"
fi
+. $HOME/.bash_defns
+
# --- aliases
alias ls="ls --color=auto --literal --classify"
alias grep="grep --colour=auto"
-alias g="git"
-alias ga="git annex"
alias e="$EDITOR"
-alias mrs="src-register-all && mr -m status"
alias d="emacsclient -cne '(dired \".\")' >/dev/null"
# alias m="emacsclient -c -n -e '(progn (magit-status \".\") \
# (delete-other-windows))' >/dev/null"
alias ta="tmux new-session -A -s default"
alias rax="screen -URaAx"
alias new-login-shell="exec su -l $USER" # get new UNIX group without relog
-alias whitenoise="echo -en \"\033]0;whitenoise\a\";\
- cvlc --quiet --loop ~/annex/media/sounds/R*.ogg"
-# useful to check whether a rebase introduced any changes to files
-alias rld="git diff @{1}..@{0}"
-alias athvpn="sshuttle -r athena 0/0 --dns"
-alias soffice-pdf="soffice --headless --convert-to pdf"
-
-alias host-suite-build-deps='mk-build-deps -ir -s sudo -t \
- "apt-get --no-install-recommends"'
-alias sid-build-deps='mk-build-deps -ir -s sudo -t \
- "apt-get -o Debug::pkgProblemResolver=yes -t sid --no-install-recommends"'
-alias bts-policy="bts user debian-policy@packages.debian.org \
- , package debian-policy , "
-alias dak-rdeps="ssh mirror.ftp-master.debian.org dak rm -Rn"
+
alias b="bts --mbox show"
-alias afsid="apt-file --filter-suites unstable"
-alias dinstall="curl https://ftp-master.debian.org/dinstall.status;echo -n 'Right now: ';date -u '+%a %b %d %T %Z %Y (%s)'"
-# use with care, in order for this to actually provide a security advantage
-alias update-debian-known-hosts="scp master.debian.org:/etc/ssh/ssh_known_hosts ~/src/dotfiles/.ssh/known_hosts_debian"
-alias grepcopy="grep --color=always -Eir '(copyright|©)' * | less -R"
-# from dgit-user(7), this pushes a non-native package through sbuild
-# without an orig.tar for the version in the first changelog entry.
-# Useful for sbuilding an unreleased version of a package I maintain
-# upstream
-alias sbuild-prerelease="sbuild --dpkg-source-opts='-Zgzip -z1 --format=1.0 -sn'"
# alias develacc='sudo machinectl shell spw@develacc \
# $(sudo enter-develacc /bin/sh -c "getent passwd spw | cut -d: -f7")'
# alias develaccr='sudo machinectl shell root@develacc \
# $(sudo enter-develacc /bin/sh -c "getent passwd root | cut -d: -f7")'
-# alias does not call `git develacc` because we want manual
-# verification of what is to be pushed (i.e. `git diff
-# master..develacc/develacc-iris` to check patch queue is sane)
-alias push-develacc-dotfiles-branch="git push \
- -f origin develacc/develacc-$(hostname -s):develacc-$(hostname -s)"
-
-alias spin-this-host-now='(cd /usr/local/propellor && sudo ./propellor)'
-
# --- more powerful aliases built with shell functions
-package-plan-unpack () {
- package="$1"
- patches="$HOME/src/package-plan/patches/${package%-*}/${package##*-}"
- cd /tmp
- cabal unpack --pristine "$package"
- cd "$package"
- mkdir -p "$patches"
- ln -s "$patches" patches
- ls "$(readlink $patches)"
-}
-
-# tidy up if I deleted files from stowed repos without properly
-# restowing
-kill-broken-stowed-symlinks () {
- find "$HOME" -xtype l | while read -r link; do
- if readlink "$link" | grep --quiet "^[../]*/.STOW/"; then
- rm "$link"
- fi
- done
-}
-
-# install package(s) and immediately mark as auto installed, so it
-# will get cleaned up by the next autoclean.
-# --no-install-recommends is needed as otherwise packages are manually
-# installed beyond those specified on the command line
-install-as-auto () {
- if [[ $EUID -ne 0 ]]; then
- sudo apt-get --no-install-recommends install "$@"
- sudo apt-mark auto "$@"
- else
- apt-get --no-install-recommends install "$@"
- apt-mark auto "$@"
- fi
-}
-
-# PDF word count
-pdfwords () {
- pdftotext "$1" - | wc -w
-}
-
-# also see soffice-pdf alias above
-soffice-pdf-all () {
- for f in *.doc *.docx; do
- soffice --headless --convert-to pdf "$f"
- done
-}
-
-# Debian archive processing logs
-alias tail-dak="ssh ftp-master.debian.org tail -F \
- /srv/ftp-master.debian.org/log/current"
-alias tail-queued="ssh ssh.upload.debian.org tail -F \
- /srv/upload.debian.org/queued/run/log"
-grep-dak () {
- ssh ftp-master.debian.org grep "$@" /srv/ftp-master.debian.org/log/current
-}
-grep-queued () {
- ssh ssh.upload.debian.org grep "$@" /srv/upload.debian.org/queued/run/log
-}
-
secs () {
for i in $(seq $1 -1 1); do
echo $i
@@ -157,17 +66,6 @@ secs () {
echo 0
}
-# sometimes a remote SSH session cannot get at my forwarded SSH agent
-# because an unwanted instance of gpg-agent running on the remote host
-# gets in the way. this is a way to kill off that unwanted agent. we
-# also need to restart the multiplexed SSH connection to get agent
-# forwarding working again. I think this problem is mostly caused by
-# the fact that I use gnupg as my SSH agent
-kill-remote-gpg () {
- ssh "$1" 'rm -f $XDG_RUNTIME_DIR/gnupg/*'
- ssh -O exit "$1"
-}
-
upenv () {
# don't want to do this outside of tmux as then tmux show-environment will
# show values for the 'default' session which may be irrelevant to us
@@ -179,22 +77,6 @@ upenv () {
update-emacs-daemon-environment
}
-# build debs from a Linux kernel source tree *without* calling `make clean`.
-#
-# The -dbg deb takes some time to build. To get rid of it when it's
-# not needed: scripts/config --disable DEBUG_INFO
-bindeb-pkg () {
- ver="$(make kernelversion)"
- date="$(date +%Y%m%d+%H%M)"
- arch="$(dpkg --print-architecture)"
- make -j$((2 * $(nproc))) bindeb-pkg \
- LOCALVERSION=-spw \
- KDEB_PKGVERSION=$ver-$date \
- "$@"
- echo "sudo apt-get install \
-../linux-{image,headers}-$ver-spw_$ver-${date}_$arch.deb"
-}
-
# --- host-specific aliases/functions
# ftp-master.debian.org
@@ -221,24 +103,3 @@ if [ -d "/srv/ftp-master.debian.org" ]; then
fi
}
fi
-
-# not ftp-master.debian.org
-
-# this is useful for processing removal requests
-# (credits to Mark Wooding)
-#
-# alternative, by me, but involves spawning another process or two:
-#
-# command -v dak >/dev/null \
-# || alias dak="perl -MString::ShellQuote \
-# -we'system qw(ssh -t ftp-master.debian.org dak), shell_quote @ARGV'"
-if ! command -v dak >/dev/null; then
- dak () {
- local i
- local c=
- for i; do # implicit "in $@"
- c="$c '${i/\'/\'\\\'\'}'"
- done
- ssh -t ftp-master.debian.org dak "$c"
- }
-fi