From f6b14e1efea065c60dd9aec40381d9f6476efd8a Mon Sep 17 00:00:00 2001
From: Luca Bilke <luca@bil.ke>
Date: Thu, 26 Sep 2024 15:27:09 +0200
Subject: [PATCH] zsh: cleanup

---
 .config/shell/aliasrc | 97 +++++++++++++++++++++++--------------------
 .config/shell/profile | 25 +++++++----
 2 files changed, 69 insertions(+), 53 deletions(-)

diff --git a/.config/shell/aliasrc b/.config/shell/aliasrc
index 693c21d..eafdc26 100644
--- a/.config/shell/aliasrc
+++ b/.config/shell/aliasrc
@@ -1,62 +1,71 @@
 #!/bin/sh
-# shellcheck disable=SC2142
+# shellcheck disable=SC2139
 
-for command in apt su ; do
-	alias $command="sudo $command"
-done; unset command
+for command in apt su; do
+    alias $command="sudo $command"
+done
+unset command
 
 # Verbosity and settings that you pretty much just always are going to want.
 alias \
-    cp="cp -iv" \
-    mv="mv -iv" \
-    rm="rm -vI" \
-    bc="bc -ql" \
-    mkd="mkdir -pv" \
-    ffmpeg="ffmpeg -hide_banner" \
-    exa="exa -abghHliS" \
-    duf="duf -all" \
-    ls="ls -hN --color=auto --group-directories-first" \
-    grep="grep --color=auto" \
-    diff="diff --color=auto" \
+    cp='cp -iv' \
+    mv='mv -iv' \
+    rm='rm -vI' \
+    bc='bc -ql' \
+    mkd='mkdir -pv' \
+    ffmpeg='ffmpeg -hide_banner' \
+    exa='exa -abghHliS' \
+    duf='duf -all' \
+    ls='ls -hN --color=auto --group-directories-first' \
+    grep='grep --color=auto' \
+    diff='diff --color=auto'
 
 # Colorize commands when possible.
 alias \
-    ls="ls -hN --color=auto --group-directories-first" \
-    grep="grep --color=auto" \
-    diff="diff --color=auto" \
-    ccat="highlight --out-format=ansi" \
-    ip="ip -color=auto"
+    ls='ls -hN --color=auto --group-directories-first' \
+    grep='grep --color=auto' \
+    diff='diff --color=auto' \
+    ccat='highlight --out-format=ansi' \
+    ip='ip -color=auto'
 
 # These common commands are just too long! Abbreviate them.
 alias \
-    ka="killall" \
-    e="$EDITOR" \
-    are="apt remove" \
-    arein="apt reinstall" \
-    ain="apt install" \
-    aur="apt autoremove" \
-    aup="apt upgrade" \
-    ase="apt search" \
-    ash="apt show"
-
-# Misc.
-alias \
-    ll="ls -lhpAN --color=auto --group-directories-first" \
-    vim="nvim" \
+    ka='killall' \
+    ll='ls -lhpAN --color=auto --group-directories-first' \
+    e='$EDITOR' \
+    are='apt remove' \
+    arein='apt reinstall' \
+    ain='apt install' \
+    aur='apt autoremove' \
+    aup='apt upgrade' \
+    ase='apt search' \
+    ash='apt show'
 
 # Docker
+# shellcheck disable=SC2142
 alias \
+    di='docker images' \
+    drmi='docker rmi' \
+    dbu='docker build' \
+    drmi_all='docker rmi $(docker images -a -q)' \
+    drmi_dang='docker rmi $(docker images -q -f "dangling=true")' \
+    dhi='docker history' \
     dps="docker ps --format 'table {{.Image}}\t{{.Names}}\t{{.Status}}'" \
     dpt="docker ps --format 'table {{.Names}}\t{{.Ports}}'" \
     dmn="docker ps --format 'table {{.Names}}\t{{.Mounts}}'" \
-    dex="docker exec -it" \
-    dlg="docker logs" \
-    dsr="docker start" \
-    drs="docker restart" \
-    drm="docker rm" \
-    dsp="docker stop" \
-    din="docker inspect" \
-    dcp="docker cp" \
-    dprune="docker system prune" \
+    drit='docker run -it' \
+    deit='docker exec -it' \
+    dlog='docker logs' \
+    din='docker inspect' \
+    dip='docker inspect --format "{{ .NetworkSettings.IPAddress }}"' \
+    dstop_all='docker stop $(docker ps -q -f "status=running")' \
+    drm='docker rm' \
+    drm_stopped='docker rm $(docker ps -q -f "status=running")' \
+    drmv_stopped='docker rm -v $* $(docker ps -q -f "status=exited")' \
+    drm_all='docker rm $(docker ps -a -q)' \
+    drmv_all='docker rm -v $(docker ps -a -q)' \
+    dvls='docker volume ls' \
+    dvrm_all='docker volume rm $(docker volume ls -q)' \
+    dvrm_dang='docker volume rm $(docker volume ls -q -f "dangling=true")' \
     dbash=' () { docker exec -it $1 /bin/bash }' \
-    dsh=' () { docker exec -it $1 /bin/sh }' \
+    dsh=' () { docker exec -it $1 /bin/sh }'
diff --git a/.config/shell/profile b/.config/shell/profile
index 0c101ba..457e3e2 100644
--- a/.config/shell/profile
+++ b/.config/shell/profile
@@ -30,15 +30,22 @@ export GOPATH="${XDG_DATA_HOME:-$HOME/.local/share}/go"
 export HISTFILE="${XDG_DATA_HOME:-$HOME/.local/share}/history"
 
 # Other program settings:
-export FZF_DEFAULT_OPTS="--layout=reverse --height 40%"
-export LESS=-R
-export LESS_TERMCAP_mb="$(printf '%b' '')"
-export LESS_TERMCAP_md="$(printf '%b' '')"
-export LESS_TERMCAP_me="$(printf '%b' '')"
-export LESS_TERMCAP_so="$(printf '%b' '')"
-export LESS_TERMCAP_se="$(printf '%b' '')"
-export LESS_TERMCAP_us="$(printf '%b' '')"
-export LESS_TERMCAP_ue="$(printf '%b' '')"
+export FZF_DEFAULT_OPTS="\
+    --preview-window nowrap \
+    --layout=reverse --cycle \
+    --color=fg:#c0caf5,bg:,hl:#ff9e64 \
+    --color=fg+:#c0caf5,bg+:,hl+:#ff9e64 \
+    --color=info:#7aa2f7,prompt:#7dcfff,pointer:#7dcfff \
+    --color=marker:#9ece6a,spinner:#9ece6a,header:#9ece6a \
+"
+export LESS="-R"
+export LESS_TERMCAP_md=$(tput bold; tput setaf 4)
+export LESS_TERMCAP_me=$(tput sgr0)
+export LESS_TERMCAP_mb=$(tput blink)
+export LESS_TERMCAP_us=$(tput setaf 2)
+export LESS_TERMCAP_ue=$(tput sgr0)
+export LESS_TERMCAP_so=$(tput smso)
+export LESS_TERMCAP_se=$(tput rmso)
 export LESSOPEN="| /usr/bin/highlight -O ansi %s 2>/dev/null"
 # export VIRTUAL_ENV_DISABLE_PROMPT=1
 export PYENV_PROMPT=" %F{yellow\}%F{reset\} "