Change summary
dot_config/beets/config.yaml | 2
dot_config/zsh/init/atuin.zsh | 61 +++++++++++++++++++++++++++++
dot_config/zsh/private_dot_zshrc.tmpl | 8 ++
private_dot_ssh/encrypted_config.asc | 52 ++++++++++++------------
4 files changed, 94 insertions(+), 29 deletions(-)
Detailed changes
@@ -3,7 +3,6 @@ library: ~/.config/beets/library.db
plugins:
- acousticbrainz
- alternatives
- - badfiles
- bandcamp
- convert
#- discogs
@@ -18,6 +17,7 @@ plugins:
- missing
- scrub
- thumbnails
+ - web
ui:
color: yes
paths:
@@ -0,0 +1,61 @@
+# shellcheck disable=SC2034,SC2153,SC2086,SC2155
+
+# Above line is because shellcheck doesn't support zsh, per
+# https://github.com/koalaman/shellcheck/wiki/SC1071, and the ignore: param in
+# ludeeus/action-shellcheck only supports _directories_, not _files_. So
+# instead, we manually add any error the shellcheck step finds in the file to
+# the above line ...
+
+# Source this in your ~/.zshrc
+autoload -U add-zsh-hook
+
+export ATUIN_SESSION=$(atuin uuid)
+export ATUIN_HISTORY="atuin history list"
+
+_atuin_preexec() {
+ local id
+ id=$(atuin history start -- "$1")
+ export ATUIN_HISTORY_ID="$id"
+}
+
+_atuin_precmd() {
+ local EXIT="$?"
+
+ [[ -z "${ATUIN_HISTORY_ID}" ]] && return
+
+ (RUST_LOG=error atuin history end --exit $EXIT -- $ATUIN_HISTORY_ID &) >/dev/null 2>&1
+}
+
+_atuin_search() {
+ emulate -L zsh
+ zle -I
+
+ # Switch to cursor mode, then back to application
+ echoti rmkx
+ # swap stderr and stdout, so that the tui stuff works
+ # TODO: not this
+ # shellcheck disable=SC2048
+ output=$(RUST_LOG=error atuin search $* -i -- $BUFFER 3>&1 1>&2 2>&3)
+ echoti smkx
+
+ if [[ -n $output ]]; then
+ RBUFFER=""
+ LBUFFER=$output
+ fi
+
+ zle reset-prompt
+}
+
+_atuin_up_search() {
+ _atuin_search --shell-up-key-binding
+}
+
+add-zsh-hook preexec _atuin_preexec
+add-zsh-hook precmd _atuin_precmd
+
+zle -N _atuin_search_widget _atuin_search
+zle -N _atuin_up_search_widget _atuin_up_search
+
+bindkey '^r' _atuin_search_widget
+bindkey '^[[A' _atuin_up_search_widget
+bindkey '^[OA' _atuin_up_search_widget
@@ -154,8 +154,11 @@ export OPENAI_API_KEY="{{- .openai_api_key -}}"
source /usr/share/z/z.sh
# Integrate FZF
-source /usr/share/fzf/key-bindings.zsh
-source /usr/share/fzf/completion.zsh
+#source /usr/share/fzf/key-bindings.zsh
+#source /usr/share/fzf/completion.zsh
+
+# Use atuin instead of FZF
+source "$XDG_CONFIG_HOME/zsh/init/atuin.zsh"
# Conda crap
[ -f /opt/miniconda3/etc/profile.d/conda.sh ] && source /opt/miniconda3/etc/profile.d/conda.sh
@@ -228,6 +231,7 @@ zstyle :compinstall filename '/home/amolith/.config/zsh/.zshrc'
source $XDG_CONFIG_HOME/zsh/completions/charm.zsh
source $XDG_CONFIG_HOME/zsh/completions/starship.zsh
source $XDG_CONFIG_HOME/zsh/completions/antidot.zsh
+source $XDG_CONFIG_HOME/zsh/completions/atuin.zsh
fpath=($XDG_CONFIG_HOME/zsh/completions/ $fpath)
autoload -Uz compinit && compinit
@@ -1,29 +1,29 @@
-----BEGIN PGP MESSAGE-----
-hQIMAwAAAAAAAAAAAQ/6AqoBsyFad6ARKZgcZkGw/nidC8YEfm/sOGqUpjkRCaO1
-pL3esetQoxORifwxk8IfvL701bziGc8Max+L5GIx3T8AnLGe1gulmpC2dgC1GDKf
-LVVtDIhFIvQujr/Jw/fJ7nODDRjOdFcM+FIxcvyFMvyzvoofimpTLDfnqMXmxF9Q
-ojORel9EwIatM01taYyVf4KoWKd0c4wyTGw3Uv/dOvdKeAUZ+QxGSmZA3eEfY9oC
-1u3NjY9we6IAv88njfIQUkdqcdltP78ibUKbMtFay2HB4O1lga9zklXBHVna6dxm
-uoAxza+wAuHbUNxkaV5syo+VYUOWwNI+hWslRo9Jl8kLRTSwa4Xl/8nTZ21TkqoJ
-/18Vg8i8M0GdeLhVixCzHP3MhlrV1cMpK2UbsfOSo4gNw1nsvvouGBXYAR7XIcmF
-JjVEn4UDcwl7YONBrTmvwdl3sdSv253ZiinGU7yZmIifqFK5BZ4WmkpeC7eAbQ2F
-7EHuelKKk2fEvjCWTUq73/0QhaK+Hl4KrCH9rcLFNnh4QrXaaQ2tmqu+YNRJavs3
-ghE73LrEJ+NExrI5aSSq9XvpAG6ebZQ1O/NW4SunI5D08yKSEdrzYe4pQgKZerpD
-VD2G75IuNkHeaOM+CMtBrSV1EDNZ44BAU22bx72ro14bdxu0Ut2gYoYOco67UbHS
-6QELRQT1QXAdAyIQI+J+ufl2xHbigCyu4OV52mcucisrEpSG/3Gi3ypixAVnp8z5
-LOnXAqru5GO7MsonBv49f75lis/3gB9T1gYKNVGxNvd97hvNrnE2Qtg/dECm2eWc
-z8gqZ/eEM7KyNLtVRlIVLARncRsiUHh2DEwltItI/MMAOi7cWF/y3hP9ZAnpLxR6
-jOGLeqlQIUoHy14xtEdSayPwDXYE3XxWJxg+8cGoB8xiTlfOEh/cPvvszjGrtUls
-cWpRsYEWEtbEwKu7gE+VFei619FIdwAsNxPkrRgdIF3EhlCcOhNsYuf+F/9NF3Yk
-vcbqT0n3cW8fI/opH0tutQlhf0lCHRGwqurTVue0tqQouacJDT86W9DMZptp79jW
-UlJB8hc79BdDXSILo5z1HUSW0G+QQhzs4hWCFuRaqHay+QbAr+1OBH8xIdtvgvJI
-VYJOlhVtGSkEfBSYSzpA1yi+qIDMoGuTnL4eLgSLoWAPRswV79/8M8GFIAC9EqE5
-IlXvXDbIzt1jE5dCASQ3QzFHQida4YGu5PPoW+QjkCg3IK9MeSDNdXWG/LMQUcI9
-GM1SohzrEbFciOPyBZLyQUibdHL8UPJvhFdYuc8f0GCLZcogAK4PJNF+CYnzZzvc
-lSVE3VP2l1EeCeAdLPg7q20Vzmn4hZ2xaP28YbJYES/4eb/sykLOVsRNqLw0bHbW
-bdhpSGSG14q63IlXD1DqFWZkUekvo9XBeOFe/qIIQ+odeqEWpczzVek2NJPWp0//
-yLTN4BMTl6kZz4JRkUTOeXGJ8fMq9jO0mJwB5Oeh/Acd1GBIwFad4KjXT/9RcyeM
-BT0VX/vkvUptI4I=
-=K+ne
+hQIMAwAAAAAAAAAAARAAjGMuVmu8YD7eOnPTJQG9Gyil0F9OIJjWjOCTud05HU65
+TzOm+o94KkKWI7ZOa0hjUz5tqw15UH5vmo5DiFvm0RAbChy4E8dI4tUDLJPD66MX
+Khbs0xbR7LLzkOjQy9Z4MPIZS/2FpYKviRDhngmOANalm+0oiF6rYKDYx37/e6Dx
+R9RXr8i09Qc57oVms2ZyPixvsTuh9czBkWd/QFpegII3cYeqLTEA0Y8NBMs0+An4
+xNb7ggvxAK2cLrfOn+WnOtfBclvwyCn0lrjBw9u47TpEL6adkRS8FCGypRQHYmwl
+dZsWKN9NRP/UD5Q/aXK0LCqGxxbROjZTGAFkI8udFnYbFnEIntFHso2DU2EIRjoy
+V/ubOKvNBvFV7COt08Vrz5pT3pdI5Gr2Yox/mxhm38tXt+Oerjzg4GzAeGIrRI52
+mYi90qnUbVCQbYwtTwmmn4ecqk9AorvbalsSyrwLNfMQxZ0wDCkCEn1sB3miAPIQ
+OtcLypcN5vrqSNlC469B4KhTnsEdeKq8KxrtDADCfHASuY6VcSPRGDFOc+IyTX3K
+6QTs/kj6NzvFNV7XkjNDFbju2cdDdsawb+4W7V6UmLVBR2ywcNBQpDDSmkbaas8i
+2+FsputmVQMGRdJRLwlfhhF8Db94m6YpXcBHnnsE/dtgcSt0hT3CGXZces1p6rDS
+6QFQO21wVHzazNkP07vhvZCkXCJONdgOauKUJLcwUI/WMD4Nykm5ChhvjQVKvLzN
+wscwDXePPDDn/ULQ7PFo/auEciltSXOAkyAN++6dZux9Xo4pjzVHtd4g2tqb2BQ4
+RG+1MYhH2/QVClIVDd6dtuPhCkFLdZAlGLN+4WJHLCfv5y+QGjFkutZQtHyLQvxi
+hyWexafrgb4SddbMs9XWr2HPwcAQlQO1zytOdyrhTXGpFXBhFvGNijzZ+Hv3jWeJ
+nhYrQeRRo6KNuAMFMBP609b+Xu86YPktRmDp7E4Ma4RA+IWzgUw6dZwYU8gtPCy3
++8lmdMNSA9jIL1LZ4KoZGPo2YW2QjKaeyavJUD5JU7dDfVspsa8/WLDhcXR67J1Y
+ssnDrXoW5LGJS4qktweRfIMeMj/Y94OfrNgGLn3DlT6wGeFaXH9UPB1iWJ0KfIwx
+HX6vgY7vDeLsCux7r2/v8Ce649vbr7/ljiTlNbaSKIJq+i2l+sw0NdC+NCfv/c1W
+8DDBfLsvkeIwBeUZY9cESjhFTI3MywCMFGiXt8JlDWOxq4wJisSj+D0KKPbUkTDS
+YnQWrmYvfqXS7B52xuh0o+2KWyT1x/cXwXOD4mUfTJYj+zHj5fydMSfTk4+Ku9jT
+d4qLKvGoJkcNxPaG7CHJIx02lYcZWY6PgFC9heK1s5TujpWQcHNKd4ScRJewbsHJ
+MSz6GwIONhog42CyECrKAxOpi5FLiL6S0DOY5gXLtp1vSJPkG1mfH27C3w6l6WNT
+TkWB4jEkvkm/lLzeeVK2gPASiqRDtDQvRokCnmfaCVqP8Sif3B/YxGh3HrwAZSSJ
+vGZ8B5luqZMizY2+M4QT14G96d2pKAhOA0MnKDBOAks=
+=HLGB
-----END PGP MESSAGE-----