diff options
author | Sean Whitton <spwhitton@spwhitton.name> | 2021-02-04 21:51:21 -0700 |
---|---|---|
committer | Sean Whitton <spwhitton@spwhitton.name> | 2021-02-04 22:28:42 -0700 |
commit | f30024a8740f612db60133085016ef89403f5c8e (patch) | |
tree | f65d01ce9e804756801d45103df2596abbb2c9d3 /.bashrc | |
parent | f88ddaa5234970ec54c1f208d520ba4b6e740e37 (diff) | |
download | dotfiles-f30024a8740f612db60133085016ef89403f5c8e.tar.gz |
enable shell aliases in M-! and M-&
Diffstat (limited to '.bashrc')
-rw-r--r-- | .bashrc | 145 |
1 files changed, 3 insertions, 142 deletions
@@ -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 |