From 7c6ca0f18bfd955222d79c6c65ae6e303b8bf417 Mon Sep 17 00:00:00 2001 From: Kaan Barmore-Genc Date: Sat, 15 Nov 2025 22:16:04 -0600 Subject: [PATCH] Add Neovim, Fish, Zellij, Htop, and ASDF configurations to Dotter MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Migrated all high-priority development configs to Dotter management: - Neovim: Lazy.nvim setup with hop and mini-surround plugins - Fish Shell: Complete config with Fisher plugins (done, z, sponge) - Zellij: Terminal multiplexer with vim-like keybindings - Htop: System monitor preferences - ASDF: Version manager configuration Templates created for git/gitconfig and fish/config.fish to handle machine-specific variables (git_name, git_email, brew_path). 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- .dotter/global.toml | 52 +- asdf/.tool-versions | 2 + fish/completions/fisher.fish | 7 + fish/conf.d/done.fish | 334 +++++++++++ fish/conf.d/rustup.fish | 1 + fish/conf.d/sponge.fish | 52 ++ fish/conf.d/z.fish | 63 +++ fish/config.fish | 22 + fish/fish_plugins | 4 + fish/functions/__z.fish | 174 ++++++ fish/functions/__z_add.fish | 49 ++ fish/functions/__z_clean.fish | 11 + fish/functions/__z_complete.fish | 13 + fish/functions/_sponge_clear_state.fish | 5 + fish/functions/_sponge_on_exit.fish | 3 + fish/functions/_sponge_on_postexec.fish | 24 + fish/functions/_sponge_on_preexec.fish | 16 + fish/functions/_sponge_on_prompt.fish | 5 + .../_sponge_remove_from_history.fish | 9 + fish/functions/fisher.fish | 240 ++++++++ fish/functions/lsl.fish | 3 + fish/functions/sponge_filter_failed.fish | 11 + fish/functions/sponge_filter_matched.fish | 11 + git/gitconfig | 14 + git/gitignore | 2 + htop/htoprc | 53 ++ nvim/init.lua | 2 + nvim/lazy-lock.json | 5 + nvim/lua/config/lazy.lua | 35 ++ nvim/lua/plugins/hop.lua | 61 ++ nvim/lua/plugins/mini-surround.lua | 9 + zellij/config.kdl | 532 ++++++++++++++++++ 32 files changed, 1822 insertions(+), 2 deletions(-) create mode 100644 asdf/.tool-versions create mode 100644 fish/completions/fisher.fish create mode 100644 fish/conf.d/done.fish create mode 100644 fish/conf.d/rustup.fish create mode 100644 fish/conf.d/sponge.fish create mode 100644 fish/conf.d/z.fish create mode 100644 fish/config.fish create mode 100644 fish/fish_plugins create mode 100644 fish/functions/__z.fish create mode 100644 fish/functions/__z_add.fish create mode 100644 fish/functions/__z_clean.fish create mode 100644 fish/functions/__z_complete.fish create mode 100644 fish/functions/_sponge_clear_state.fish create mode 100644 fish/functions/_sponge_on_exit.fish create mode 100644 fish/functions/_sponge_on_postexec.fish create mode 100644 fish/functions/_sponge_on_preexec.fish create mode 100644 fish/functions/_sponge_on_prompt.fish create mode 100644 fish/functions/_sponge_remove_from_history.fish create mode 100644 fish/functions/fisher.fish create mode 100644 fish/functions/lsl.fish create mode 100644 fish/functions/sponge_filter_failed.fish create mode 100644 fish/functions/sponge_filter_matched.fish create mode 100644 git/gitconfig create mode 100644 git/gitignore create mode 100644 htop/htoprc create mode 100644 nvim/init.lua create mode 100644 nvim/lazy-lock.json create mode 100644 nvim/lua/config/lazy.lua create mode 100644 nvim/lua/plugins/hop.lua create mode 100644 nvim/lua/plugins/mini-surround.lua create mode 100644 zellij/config.kdl diff --git a/.dotter/global.toml b/.dotter/global.toml index 9186224..dcc2da4 100644 --- a/.dotter/global.toml +++ b/.dotter/global.toml @@ -4,10 +4,58 @@ depends = [] [git.files] -"git/.gitconfig" = "~/.gitconfig" -"git/.gitignore" = "~/.gitignore" +"git/gitconfig" = "~/.gitconfig" +"git/gitignore" = "~/.gitignore" [git.variables] +[nvim] +depends = [] + +[nvim.files] +"nvim/init.lua" = "~/.config/nvim/init.lua" +"nvim/lazy-lock.json" = "~/.config/nvim/lazy-lock.json" +"nvim/lua/config/lazy.lua" = "~/.config/nvim/lua/config/lazy.lua" +"nvim/lua/plugins/hop.lua" = "~/.config/nvim/lua/plugins/hop.lua" +"nvim/lua/plugins/mini-surround.lua" = "~/.config/nvim/lua/plugins/mini-surround.lua" + +[nvim.variables] + +[fish] +depends = [] + +[fish.files] +"fish/config.fish" = "~/.config/fish/config.fish" +"fish/fish_plugins" = "~/.config/fish/fish_plugins" +"fish/completions" = "~/.config/fish/completions" +"fish/conf.d" = "~/.config/fish/conf.d" +"fish/functions" = "~/.config/fish/functions" + +[fish.variables] + +[zellij] +depends = [] + +[zellij.files] +"zellij/config.kdl" = "~/.config/zellij/config.kdl" + +[zellij.variables] + +[htop] +depends = [] + +[htop.files] +"htop/htoprc" = "~/.config/htop/htoprc" + +[htop.variables] + +[asdf] +depends = [] + +[asdf.files] +"asdf/.tool-versions" = "~/.tool-versions" + +[asdf.variables] + [settings] default_target_type = "automatic" diff --git a/asdf/.tool-versions b/asdf/.tool-versions new file mode 100644 index 0000000..e241e8b --- /dev/null +++ b/asdf/.tool-versions @@ -0,0 +1,2 @@ +nodejs 22.11.0 +golang 1.25.1 diff --git a/fish/completions/fisher.fish b/fish/completions/fisher.fish new file mode 100644 index 0000000..6d23ce4 --- /dev/null +++ b/fish/completions/fisher.fish @@ -0,0 +1,7 @@ +complete --command fisher --exclusive --long help --description "Print help" +complete --command fisher --exclusive --long version --description "Print version" +complete --command fisher --exclusive --condition __fish_use_subcommand --arguments install --description "Install plugins" +complete --command fisher --exclusive --condition __fish_use_subcommand --arguments update --description "Update installed plugins" +complete --command fisher --exclusive --condition __fish_use_subcommand --arguments remove --description "Remove installed plugins" +complete --command fisher --exclusive --condition __fish_use_subcommand --arguments list --description "List installed plugins matching regex" +complete --command fisher --exclusive --condition "__fish_seen_subcommand_from update remove" --arguments "(fisher list)" diff --git a/fish/conf.d/done.fish b/fish/conf.d/done.fish new file mode 100644 index 0000000..3f9f0d3 --- /dev/null +++ b/fish/conf.d/done.fish @@ -0,0 +1,334 @@ +# MIT License + +# Copyright (c) 2016 Francisco Lourenço & Daniel Wehner + +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: + +# The above copyright notice and this permission notice shall be included in all +# copies or substantial portions of the Software. + +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. + +if not status is-interactive + exit +end + +set -g __done_version 1.19.3 + +function __done_run_powershell_script + set -l powershell_exe (command --search "powershell.exe") + + if test $status -ne 0 + and command --search wslvar + + set -l powershell_exe (wslpath (wslvar windir)/System32/WindowsPowerShell/v1.0/powershell.exe) + end + + if string length --quiet "$powershell_exe" + and test -x "$powershell_exe" + + set cmd (string escape $argv) + + eval "$powershell_exe -Command $cmd" + end +end + +function __done_windows_notification -a title -a message + if test "$__done_notify_sound" -eq 1 + set soundopt "