diff --git a/dot_config/beets/config.yaml b/dot_config/beets/config.yaml index 08837261950835cb85b3c9551b01248df76f8b25..58bd981e2ae3ad66b656deaca50ace409a2c8d7d 100644 --- a/dot_config/beets/config.yaml +++ b/dot_config/beets/config.yaml @@ -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: diff --git a/dot_config/zsh/init/atuin.zsh b/dot_config/zsh/init/atuin.zsh new file mode 100644 index 0000000000000000000000000000000000000000..39b57b5db277bd5f8399255b8a0b018dcd4ac967 --- /dev/null +++ b/dot_config/zsh/init/atuin.zsh @@ -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 diff --git a/dot_config/zsh/private_dot_zshrc.tmpl b/dot_config/zsh/private_dot_zshrc.tmpl index b5e02201952f506adda00f8ebea7aac48926bbfc..064376e16473e4a6fbc05cba9d77f5f15f583de6 100644 --- a/dot_config/zsh/private_dot_zshrc.tmpl +++ b/dot_config/zsh/private_dot_zshrc.tmpl @@ -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 diff --git a/private_dot_ssh/encrypted_config.asc b/private_dot_ssh/encrypted_config.asc index fa6fb5e1591167300a9ceb6bd63f66b29aed35d6..abf9265fd8669598e4f99783fff0dc0d1ff605b1 100644 --- a/private_dot_ssh/encrypted_config.asc +++ b/private_dot_ssh/encrypted_config.asc @@ -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-----