From 42e6595b606f2bd316be510bb0d45837842e87c4 Mon Sep 17 00:00:00 2001 From: Alexander Navarro Date: Fri, 8 Nov 2024 22:53:56 +0000 Subject: [PATCH 01/31] add base setup with dotter --- .chezmoiroot | 1 - .dotter/devbox.toml | 6 + .dotter/global.toml | 46 + .gitignore | 3 + .php-cs-fixer.cache | 1 - chezmoi/.chezmoidata/packages.yaml | 41 - .../nvim/symlink_lazy-lock.json.tmpl | 2 - .../dot_config/yazi/symlink_package.toml.tmpl | 2 - .../alacritty/alacritty.toml | 0 .../alacritty/alacritty.yml | 0 .../alacritty/themes/.keep | 0 {chezmoi/dot_config => config}/bat/config | 0 {chezmoi/dot_config => config}/foot/foot.ini | 0 .../foot/themes/catppuccin/LICENSE | 0 .../foot/themes/catppuccin/README.md | 0 .../catppuccin/assets/empty_dot_gitkeep | 0 .../foot/themes/catppuccin/assets/foot.png | Bin .../themes/catppuccin/catppuccin-frappe.conf | 0 .../themes/catppuccin/catppuccin-latte.conf | 0 .../catppuccin/catppuccin-macchiato.conf | 0 .../themes/catppuccin/catppuccin-mocha.conf | 0 .../foot/themes/catppuccin/dot_editorconfig | 0 .../foot/themes/catppuccin/dot_git | 0 {chezmoi/dot_config => config}/fzf/forgitrc | 0 {chezmoi/dot_config => config}/fzf/fzfrc | 0 .../fzf/widgets/alias_widget.zsh | 0 .../fzf/widgets/atuin-history_widget.zsh | 0 .../fzf/widgets/cd-recent-dir_widget.zsh | 0 .../fzf/widgets/cd_widget.zsh | 0 .../fzf/widgets/dictionary_widget.zsh | 0 .../fzf/widgets/fzf-rg-launcher.zsh | 0 .../fzf/widgets/locate_widget.zsh | 0 .../fzf/widgets/man_widget.zsh | 0 {chezmoi/dot_config => config}/git/config | 0 {chezmoi/dot_config => config}/git/ignore | 0 .../hypr/executable_gdm-wrapper.sh | 0 .../dot_config => config}/hypr/hyprland.conf | 0 .../dot_config => config}/hypr/hyprpaper.conf | 0 .../kitty/current-theme.conf | 0 .../dot_config => config}/kitty/kitty.conf | 0 .../kitty/private_kitty.conf.bak | 0 .../dot_config => config}/lazygit/config.yml | 0 {chezmoi/dot_config => config}/mako/config | 0 .../dot_config => config}/mise/config.toml | 0 .../dot_config => config}/mpv/encoding.rst | 0 {chezmoi/dot_config => config}/mpv/input.conf | 0 .../mpv/mplayer-input.conf | 0 {chezmoi/dot_config => config}/mpv/mpv.conf | 0 .../mpv/restore-old-bindings.conf | 0 .../mpv/script-opts/mpv_thumbnail_script.conf | 0 .../mpv/scripts/mpv-i3-floating-centered.lua | 0 .../mpv_thumbnail_script_client_osc.lua | 0 .../scripts/mpv_thumbnail_script_server-1.lua | 0 .../scripts/mpv_thumbnail_script_server-2.lua | 0 .../scripts/mpv_thumbnail_script_server.lua | 0 .../mpv/scripts/pause-indicator.lua | 0 .../mpv/tech-overview.txt | 0 config/nushell/config.nu | 898 ++++++++++++++++++ config/nushell/env.nu | 101 ++ .../nvim/after/queries/blade/highlights.scm | 0 .../nvim/after/queries/blade/injections.scm | 0 {chezmoi/dot_config => config}/nvim/init.lua | 0 .../nvim/lazy-lock.json | 4 +- .../nvim/lua/aleidk/autocmds.lua | 0 .../nvim/lua/aleidk/constants.lua | 0 .../nvim/lua/aleidk/keymaps.lua | 0 .../nvim/lua/aleidk/options.lua | 0 .../nvim/lua/aleidk/plugins/ai.lua | 0 .../nvim/lua/aleidk/plugins/auto-pairs.lua | 0 .../nvim/lua/aleidk/plugins/bookmarks.lua | 0 .../nvim/lua/aleidk/plugins/colorscheme.lua | 0 .../nvim/lua/aleidk/plugins/comments.lua | 0 .../nvim/lua/aleidk/plugins/completion.lua | 0 .../nvim/lua/aleidk/plugins/dashboard.lua | 0 .../nvim/lua/aleidk/plugins/database.lua | 0 .../nvim/lua/aleidk/plugins/debugprint.lua | 0 .../nvim/lua/aleidk/plugins/dressing.lua | 0 .../nvim/lua/aleidk/plugins/file-browser.lua | 0 .../nvim/lua/aleidk/plugins/file-explorer.lua | 0 .../nvim/lua/aleidk/plugins/formatter.lua | 0 .../nvim/lua/aleidk/plugins/git.lua | 0 .../nvim/lua/aleidk/plugins/http.lua | 0 .../lua/aleidk/plugins/indent-blankline.lua | 0 .../nvim/lua/aleidk/plugins/init.lua | 0 .../nvim/lua/aleidk/plugins/key-help.lua | 0 .../nvim/lua/aleidk/plugins/linters.lua | 0 .../nvim/lua/aleidk/plugins/lsp.lua | 0 .../nvim/lua/aleidk/plugins/lualine.lua | 0 .../nvim/lua/aleidk/plugins/luasnip.lua | 0 .../nvim/lua/aleidk/plugins/markdown.lua | 0 .../nvim/lua/aleidk/plugins/mason.lua | 0 .../nvim/lua/aleidk/plugins/noice.lua | 0 .../nvim/lua/aleidk/plugins/pretty-fold.lua | 0 .../nvim/lua/aleidk/plugins/quickfix.lua | 0 .../nvim/lua/aleidk/plugins/remote-sshfs.lua | 0 .../nvim/lua/aleidk/plugins/sessions.lua | 0 .../nvim/lua/aleidk/plugins/smart-splits.lua | 0 .../nvim/lua/aleidk/plugins/surround.lua | 0 .../nvim/lua/aleidk/plugins/task-runner.lua | 0 .../nvim/lua/aleidk/plugins/telescope.lua | 0 .../nvim/lua/aleidk/plugins/todo-comments.lua | 0 .../nvim/lua/aleidk/plugins/treesitter.lua | 20 +- .../nvim/lua/aleidk/plugins/trouble.lua | 0 .../lua/aleidk/plugins/ts-node-action.lua | 0 .../nvim/lua/aleidk/plugins/zen.lua | 0 .../php-cs-fixer-conf.php | 0 {chezmoi/dot_config => config}/pycodestyle | 0 .../river/executable_init | 0 {chezmoi/dot_config => config}/river/init.lua | 0 .../dot_config => config}/river/logger.lua | 0 .../dot_config => config}/river/river.lua | 0 {chezmoi/dot_config => config}/sesh/sesh.toml | 0 {chezmoi/dot_config => config}/starship.toml | 0 {chezmoi/dot_config => config}/swappy/config | 0 {chezmoi/dot_config => config}/sway/config | 0 .../sway/executable_autorotate | 0 .../sway/executable_lock.sh | 0 .../sway/executable_sway-bar.sh | 0 .../sway/themes/catppuccin/.keep | 0 {chezmoi/dot_config => config}/tmux/tmux.conf | 0 .../dot_config => config}/vimiv/keys.conf | 0 .../vimiv/styles/default | 0 .../vimiv/styles/material-darker | 0 .../dot_config => config}/vimiv/vimiv.conf | 0 {chezmoi/dot_config => config}/waybar/config | 0 .../dot_config => config}/waybar/style.css | 0 .../waybar/themes/catppuccin/LICENSE | 0 .../waybar/themes/catppuccin/README.md | 0 .../catppuccin/assets/empty_dot_gitkeep | 0 .../themes/catppuccin/assets/frappe.webp | Bin .../themes/catppuccin/assets/latte.webp | Bin .../themes/catppuccin/assets/macchiato.webp | Bin .../themes/catppuccin/assets/mocha.webp | Bin .../themes/catppuccin/assets/preview.webp | Bin .../themes/catppuccin/dot_catppuccin.yaml | 0 .../waybar/themes/catppuccin/dot_editorconfig | 0 .../waybar/themes/catppuccin/dot_git | 0 .../themes/catppuccin/themes/frappe.css | 0 .../waybar/themes/catppuccin/themes/latte.css | 0 .../themes/catppuccin/themes/macchiato.css | 0 .../waybar/themes/catppuccin/themes/mocha.css | 0 .../dot_config => config}/wezterm/wezterm.lua | 0 {chezmoi/dot_config => config}/yazi/init.lua | 0 .../dot_config => config}/yazi/keymap.toml | 0 .../yazi/package.toml | 0 .../dot_config => config}/yazi/plugins/.keep | 0 .../dot_config => config}/yazi/theme.toml | 0 {chezmoi/dot_config => config}/yazi/yazi.toml | 0 .../dot_config => config}/zed/keymap.json | 0 .../zed/private_settings.json | 0 .../dot_config => config}/zed/themes/.keep | 0 .../dot_config => config}/zellij/config.kdl | 0 .../zellij/themes/catppuccin.kdl | 0 {chezmoi/dot_config => config}/zk/config.toml | 0 .../zsh/aliases/aliases.zsh | 0 .../zsh/aliases/configs.zsh | 0 .../dot_config => config}/zsh/aliases/fzf.zsh | 0 .../zsh/aliases/nvim.zsh | 0 .../zsh/aliases/pnpm.zsh | 0 .../zsh/completions/_alacritty | 0 .../zsh/completions/_cargo | 0 .../zsh/completions/_chezmoi | 0 .../zsh/completions/_cht | 0 .../zsh/completions/_globdots | 0 .../zsh/completions/_lsd | 0 .../dot_config => config}/zsh/completions/_rg | 0 .../zsh/completions/_rtx | 0 .../zsh/completions/_rye | 0 .../zsh/completions/_starship | 0 .../zsh/completions/_tea | 0 .../zsh/completions/_tldr | 0 .../zsh/completions/_zellij | 0 .../zsh/functions/fedora.zsh | 0 .../zsh/functions/flatpak.zsh | 0 .../zsh/functions/functions.zsh | 0 .../zsh/zprofile | 1 - .../executable_dot_zshrc => config/zsh/zshrc | 6 +- 177 files changed, 1062 insertions(+), 70 deletions(-) delete mode 100644 .chezmoiroot create mode 100644 .dotter/devbox.toml create mode 100644 .dotter/global.toml delete mode 100644 .php-cs-fixer.cache delete mode 100644 chezmoi/.chezmoidata/packages.yaml delete mode 100644 chezmoi/dot_config/nvim/symlink_lazy-lock.json.tmpl delete mode 100644 chezmoi/dot_config/yazi/symlink_package.toml.tmpl rename {chezmoi/dot_config => config}/alacritty/alacritty.toml (100%) rename {chezmoi/dot_config => config}/alacritty/alacritty.yml (100%) rename {chezmoi/dot_config => config}/alacritty/themes/.keep (100%) rename {chezmoi/dot_config => config}/bat/config (100%) rename {chezmoi/dot_config => config}/foot/foot.ini (100%) rename {chezmoi/dot_config => config}/foot/themes/catppuccin/LICENSE (100%) rename {chezmoi/dot_config => config}/foot/themes/catppuccin/README.md (100%) rename {chezmoi/dot_config => config}/foot/themes/catppuccin/assets/empty_dot_gitkeep (100%) rename {chezmoi/dot_config => config}/foot/themes/catppuccin/assets/foot.png (100%) rename {chezmoi/dot_config => config}/foot/themes/catppuccin/catppuccin-frappe.conf (100%) rename {chezmoi/dot_config => config}/foot/themes/catppuccin/catppuccin-latte.conf (100%) rename {chezmoi/dot_config => config}/foot/themes/catppuccin/catppuccin-macchiato.conf (100%) rename {chezmoi/dot_config => config}/foot/themes/catppuccin/catppuccin-mocha.conf (100%) rename {chezmoi/dot_config => config}/foot/themes/catppuccin/dot_editorconfig (100%) rename {chezmoi/dot_config => config}/foot/themes/catppuccin/dot_git (100%) rename {chezmoi/dot_config => config}/fzf/forgitrc (100%) rename {chezmoi/dot_config => config}/fzf/fzfrc (100%) rename {chezmoi/dot_config => config}/fzf/widgets/alias_widget.zsh (100%) rename {chezmoi/dot_config => config}/fzf/widgets/atuin-history_widget.zsh (100%) rename {chezmoi/dot_config => config}/fzf/widgets/cd-recent-dir_widget.zsh (100%) rename {chezmoi/dot_config => config}/fzf/widgets/cd_widget.zsh (100%) rename {chezmoi/dot_config => config}/fzf/widgets/dictionary_widget.zsh (100%) rename {chezmoi/dot_config => config}/fzf/widgets/fzf-rg-launcher.zsh (100%) rename {chezmoi/dot_config => config}/fzf/widgets/locate_widget.zsh (100%) rename {chezmoi/dot_config => config}/fzf/widgets/man_widget.zsh (100%) rename {chezmoi/dot_config => config}/git/config (100%) rename {chezmoi/dot_config => config}/git/ignore (100%) rename {chezmoi/dot_config => config}/hypr/executable_gdm-wrapper.sh (100%) rename {chezmoi/dot_config => config}/hypr/hyprland.conf (100%) rename {chezmoi/dot_config => config}/hypr/hyprpaper.conf (100%) rename {chezmoi/dot_config => config}/kitty/current-theme.conf (100%) rename {chezmoi/dot_config => config}/kitty/kitty.conf (100%) rename {chezmoi/dot_config => config}/kitty/private_kitty.conf.bak (100%) rename {chezmoi/dot_config => config}/lazygit/config.yml (100%) rename {chezmoi/dot_config => config}/mako/config (100%) rename {chezmoi/dot_config => config}/mise/config.toml (100%) rename {chezmoi/dot_config => config}/mpv/encoding.rst (100%) rename {chezmoi/dot_config => config}/mpv/input.conf (100%) rename {chezmoi/dot_config => config}/mpv/mplayer-input.conf (100%) rename {chezmoi/dot_config => config}/mpv/mpv.conf (100%) rename {chezmoi/dot_config => config}/mpv/restore-old-bindings.conf (100%) rename {chezmoi/dot_config => config}/mpv/script-opts/mpv_thumbnail_script.conf (100%) rename {chezmoi/dot_config => config}/mpv/scripts/mpv-i3-floating-centered.lua (100%) rename {chezmoi/dot_config => config}/mpv/scripts/mpv_thumbnail_script_client_osc.lua (100%) rename {chezmoi/dot_config => config}/mpv/scripts/mpv_thumbnail_script_server-1.lua (100%) rename {chezmoi/dot_config => config}/mpv/scripts/mpv_thumbnail_script_server-2.lua (100%) rename {chezmoi/dot_config => config}/mpv/scripts/mpv_thumbnail_script_server.lua (100%) rename {chezmoi/dot_config => config}/mpv/scripts/pause-indicator.lua (100%) rename {chezmoi/dot_config => config}/mpv/tech-overview.txt (100%) create mode 100644 config/nushell/config.nu create mode 100644 config/nushell/env.nu rename {chezmoi/dot_config => config}/nvim/after/queries/blade/highlights.scm (100%) rename {chezmoi/dot_config => config}/nvim/after/queries/blade/injections.scm (100%) rename {chezmoi/dot_config => config}/nvim/init.lua (100%) rename chezmoi/dot_config/nvim/original_lazy-lock.json => config/nvim/lazy-lock.json (97%) rename {chezmoi/dot_config => config}/nvim/lua/aleidk/autocmds.lua (100%) rename {chezmoi/dot_config => config}/nvim/lua/aleidk/constants.lua (100%) rename {chezmoi/dot_config => config}/nvim/lua/aleidk/keymaps.lua (100%) rename {chezmoi/dot_config => config}/nvim/lua/aleidk/options.lua (100%) rename {chezmoi/dot_config => config}/nvim/lua/aleidk/plugins/ai.lua (100%) rename {chezmoi/dot_config => config}/nvim/lua/aleidk/plugins/auto-pairs.lua (100%) rename {chezmoi/dot_config => config}/nvim/lua/aleidk/plugins/bookmarks.lua (100%) rename {chezmoi/dot_config => config}/nvim/lua/aleidk/plugins/colorscheme.lua (100%) rename {chezmoi/dot_config => config}/nvim/lua/aleidk/plugins/comments.lua (100%) rename {chezmoi/dot_config => config}/nvim/lua/aleidk/plugins/completion.lua (100%) rename {chezmoi/dot_config => config}/nvim/lua/aleidk/plugins/dashboard.lua (100%) rename {chezmoi/dot_config => config}/nvim/lua/aleidk/plugins/database.lua (100%) rename {chezmoi/dot_config => config}/nvim/lua/aleidk/plugins/debugprint.lua (100%) rename {chezmoi/dot_config => config}/nvim/lua/aleidk/plugins/dressing.lua (100%) rename {chezmoi/dot_config => config}/nvim/lua/aleidk/plugins/file-browser.lua (100%) rename {chezmoi/dot_config => config}/nvim/lua/aleidk/plugins/file-explorer.lua (100%) rename {chezmoi/dot_config => config}/nvim/lua/aleidk/plugins/formatter.lua (100%) rename {chezmoi/dot_config => config}/nvim/lua/aleidk/plugins/git.lua (100%) rename {chezmoi/dot_config => config}/nvim/lua/aleidk/plugins/http.lua (100%) rename {chezmoi/dot_config => config}/nvim/lua/aleidk/plugins/indent-blankline.lua (100%) rename {chezmoi/dot_config => config}/nvim/lua/aleidk/plugins/init.lua (100%) rename {chezmoi/dot_config => config}/nvim/lua/aleidk/plugins/key-help.lua (100%) rename {chezmoi/dot_config => config}/nvim/lua/aleidk/plugins/linters.lua (100%) rename {chezmoi/dot_config => config}/nvim/lua/aleidk/plugins/lsp.lua (100%) rename {chezmoi/dot_config => config}/nvim/lua/aleidk/plugins/lualine.lua (100%) rename {chezmoi/dot_config => config}/nvim/lua/aleidk/plugins/luasnip.lua (100%) rename {chezmoi/dot_config => config}/nvim/lua/aleidk/plugins/markdown.lua (100%) rename {chezmoi/dot_config => config}/nvim/lua/aleidk/plugins/mason.lua (100%) rename {chezmoi/dot_config => config}/nvim/lua/aleidk/plugins/noice.lua (100%) rename {chezmoi/dot_config => config}/nvim/lua/aleidk/plugins/pretty-fold.lua (100%) rename {chezmoi/dot_config => config}/nvim/lua/aleidk/plugins/quickfix.lua (100%) rename {chezmoi/dot_config => config}/nvim/lua/aleidk/plugins/remote-sshfs.lua (100%) rename {chezmoi/dot_config => config}/nvim/lua/aleidk/plugins/sessions.lua (100%) rename {chezmoi/dot_config => config}/nvim/lua/aleidk/plugins/smart-splits.lua (100%) rename {chezmoi/dot_config => config}/nvim/lua/aleidk/plugins/surround.lua (100%) rename {chezmoi/dot_config => config}/nvim/lua/aleidk/plugins/task-runner.lua (100%) rename {chezmoi/dot_config => config}/nvim/lua/aleidk/plugins/telescope.lua (100%) rename {chezmoi/dot_config => config}/nvim/lua/aleidk/plugins/todo-comments.lua (100%) rename {chezmoi/dot_config => config}/nvim/lua/aleidk/plugins/treesitter.lua (88%) rename {chezmoi/dot_config => config}/nvim/lua/aleidk/plugins/trouble.lua (100%) rename {chezmoi/dot_config => config}/nvim/lua/aleidk/plugins/ts-node-action.lua (100%) rename {chezmoi/dot_config => config}/nvim/lua/aleidk/plugins/zen.lua (100%) rename {chezmoi/dot_config => config}/php-cs-fixer-conf.php (100%) rename {chezmoi/dot_config => config}/pycodestyle (100%) rename {chezmoi/dot_config => config}/river/executable_init (100%) rename {chezmoi/dot_config => config}/river/init.lua (100%) rename {chezmoi/dot_config => config}/river/logger.lua (100%) rename {chezmoi/dot_config => config}/river/river.lua (100%) rename {chezmoi/dot_config => config}/sesh/sesh.toml (100%) rename {chezmoi/dot_config => config}/starship.toml (100%) rename {chezmoi/dot_config => config}/swappy/config (100%) rename {chezmoi/dot_config => config}/sway/config (100%) rename {chezmoi/dot_config => config}/sway/executable_autorotate (100%) rename {chezmoi/dot_config => config}/sway/executable_lock.sh (100%) rename {chezmoi/dot_config => config}/sway/executable_sway-bar.sh (100%) rename {chezmoi/dot_config => config}/sway/themes/catppuccin/.keep (100%) rename {chezmoi/dot_config => config}/tmux/tmux.conf (100%) rename {chezmoi/dot_config => config}/vimiv/keys.conf (100%) rename {chezmoi/dot_config => config}/vimiv/styles/default (100%) rename {chezmoi/dot_config => config}/vimiv/styles/material-darker (100%) rename {chezmoi/dot_config => config}/vimiv/vimiv.conf (100%) rename {chezmoi/dot_config => config}/waybar/config (100%) rename {chezmoi/dot_config => config}/waybar/style.css (100%) rename {chezmoi/dot_config => config}/waybar/themes/catppuccin/LICENSE (100%) rename {chezmoi/dot_config => config}/waybar/themes/catppuccin/README.md (100%) rename {chezmoi/dot_config => config}/waybar/themes/catppuccin/assets/empty_dot_gitkeep (100%) rename {chezmoi/dot_config => config}/waybar/themes/catppuccin/assets/frappe.webp (100%) rename {chezmoi/dot_config => config}/waybar/themes/catppuccin/assets/latte.webp (100%) rename {chezmoi/dot_config => config}/waybar/themes/catppuccin/assets/macchiato.webp (100%) rename {chezmoi/dot_config => config}/waybar/themes/catppuccin/assets/mocha.webp (100%) rename {chezmoi/dot_config => config}/waybar/themes/catppuccin/assets/preview.webp (100%) rename {chezmoi/dot_config => config}/waybar/themes/catppuccin/dot_catppuccin.yaml (100%) rename {chezmoi/dot_config => config}/waybar/themes/catppuccin/dot_editorconfig (100%) rename {chezmoi/dot_config => config}/waybar/themes/catppuccin/dot_git (100%) rename {chezmoi/dot_config => config}/waybar/themes/catppuccin/themes/frappe.css (100%) rename {chezmoi/dot_config => config}/waybar/themes/catppuccin/themes/latte.css (100%) rename {chezmoi/dot_config => config}/waybar/themes/catppuccin/themes/macchiato.css (100%) rename {chezmoi/dot_config => config}/waybar/themes/catppuccin/themes/mocha.css (100%) rename {chezmoi/dot_config => config}/wezterm/wezterm.lua (100%) rename {chezmoi/dot_config => config}/yazi/init.lua (100%) rename {chezmoi/dot_config => config}/yazi/keymap.toml (100%) rename chezmoi/dot_config/yazi/original_package.toml => config/yazi/package.toml (100%) rename {chezmoi/dot_config => config}/yazi/plugins/.keep (100%) rename {chezmoi/dot_config => config}/yazi/theme.toml (100%) rename {chezmoi/dot_config => config}/yazi/yazi.toml (100%) rename {chezmoi/dot_config => config}/zed/keymap.json (100%) rename {chezmoi/dot_config => config}/zed/private_settings.json (100%) rename {chezmoi/dot_config => config}/zed/themes/.keep (100%) rename {chezmoi/dot_config => config}/zellij/config.kdl (100%) rename {chezmoi/dot_config => config}/zellij/themes/catppuccin.kdl (100%) rename {chezmoi/dot_config => config}/zk/config.toml (100%) rename {chezmoi/dot_config => config}/zsh/aliases/aliases.zsh (100%) rename {chezmoi/dot_config => config}/zsh/aliases/configs.zsh (100%) rename {chezmoi/dot_config => config}/zsh/aliases/fzf.zsh (100%) rename {chezmoi/dot_config => config}/zsh/aliases/nvim.zsh (100%) rename {chezmoi/dot_config => config}/zsh/aliases/pnpm.zsh (100%) rename {chezmoi/dot_config => config}/zsh/completions/_alacritty (100%) rename {chezmoi/dot_config => config}/zsh/completions/_cargo (100%) rename {chezmoi/dot_config => config}/zsh/completions/_chezmoi (100%) rename {chezmoi/dot_config => config}/zsh/completions/_cht (100%) rename {chezmoi/dot_config => config}/zsh/completions/_globdots (100%) rename {chezmoi/dot_config => config}/zsh/completions/_lsd (100%) rename {chezmoi/dot_config => config}/zsh/completions/_rg (100%) rename {chezmoi/dot_config => config}/zsh/completions/_rtx (100%) rename {chezmoi/dot_config => config}/zsh/completions/_rye (100%) rename {chezmoi/dot_config => config}/zsh/completions/_starship (100%) rename {chezmoi/dot_config => config}/zsh/completions/_tea (100%) rename {chezmoi/dot_config => config}/zsh/completions/_tldr (100%) rename {chezmoi/dot_config => config}/zsh/completions/_zellij (100%) rename {chezmoi/dot_config => config}/zsh/functions/fedora.zsh (100%) rename {chezmoi/dot_config => config}/zsh/functions/flatpak.zsh (100%) rename {chezmoi/dot_config => config}/zsh/functions/functions.zsh (100%) rename chezmoi/executable_dot_zprofile.tmpl => config/zsh/zprofile (96%) rename chezmoi/executable_dot_zshrc => config/zsh/zshrc (97%) diff --git a/.chezmoiroot b/.chezmoiroot deleted file mode 100644 index 73d74c2..0000000 --- a/.chezmoiroot +++ /dev/null @@ -1 +0,0 @@ -chezmoi diff --git a/.dotter/devbox.toml b/.dotter/devbox.toml new file mode 100644 index 0000000..7709e32 --- /dev/null +++ b/.dotter/devbox.toml @@ -0,0 +1,6 @@ +includes = [] +packages = ["default", "cli", "dev"] + +[files] + +[variables] diff --git a/.dotter/global.toml b/.dotter/global.toml new file mode 100644 index 0000000..d929b92 --- /dev/null +++ b/.dotter/global.toml @@ -0,0 +1,46 @@ +[helpers] + +[default] +depends = ["nvim"] + +[default.files] +"README.md" = "" +chezmoi = "" +config = "" +exports = "" +scripts = "" + +[default.variables] + +# CLI package +[cli] +depends = ["nvim", "nushell", "zsh"] + +[cli.files] +"config/yazi" = "~/.config/yazi" +"config/tmux" = "~/.config/tmux" +"config/sesh" = "~/.config/sesh" +"config/zellij" = "~/.config/zellij" +"config/starship.toml" = "~/.config/starship.toml" + +[dev.files] +"config/git" = "~/.config/git" +"config/lazygit" = { target = "~/.config/lazygit", type = "symbolic"} +"config/zed" = "~/.config/zed" + +[zsh.files] +"config/zsh/zshrc" = "~/.zshrc" +"config/zsh/zprofile" = "~/.zprofile" +"config/zsh/aliases" = {target = "~/.config/zsh/aliases", type="symbolic"} +"config/zsh/completions" = {target = "~/.config/zsh/completions", type = "symbolic"} +"config/zsh/functions" = "~/.config/zsh/functions" +"config/fzf" = "~/.config/fzf" + +[nushell.files] +"config/nushell" = "~/.config/nushell" + +[settings] +default_target_type = "automatic" + +[nvim.files] +"config/nvim" = "~/.config/nvim" diff --git a/.gitignore b/.gitignore index 218484e..dcbf75b 100644 --- a/.gitignore +++ b/.gitignore @@ -16,3 +16,6 @@ config/ncspot/userstate.cbor config/zsh/zprofile.local config/spicetify/CustomApps/* chezmoi/dot_config/zsh/aliases/work.zsh +.dotter/cache.toml +.dotter/cache +.dotter/local.toml diff --git a/.php-cs-fixer.cache b/.php-cs-fixer.cache deleted file mode 100644 index c737580..0000000 --- a/.php-cs-fixer.cache +++ /dev/null @@ -1 +0,0 @@ -{"php":"8.1.16","version":"3.14.4","indent":" ","lineEnding":"\n","rules":{"blank_line_after_opening_tag":true,"blank_line_between_import_groups":true,"braces":{"allow_single_line_anonymous_class_with_empty_body":true},"class_definition":{"inline_constructor_arguments":false,"space_before_parenthesis":true},"compact_nullable_typehint":true,"declare_equal_normalize":true,"lowercase_cast":true,"lowercase_static_reference":true,"new_with_braces":true,"no_blank_lines_after_class_opening":true,"no_leading_import_slash":true,"no_whitespace_in_blank_line":true,"ordered_class_elements":{"order":["use_trait"]},"ordered_imports":{"imports_order":["class","function","const"],"sort_algorithm":"none"},"return_type_declaration":true,"short_scalar_cast":true,"single_blank_line_before_namespace":true,"single_import_per_statement":{"group_to_single_imports":false},"single_trait_insert_per_statement":true,"ternary_operator_spaces":true,"visibility_required":true,"blank_line_after_namespace":true,"constant_case":true,"elseif":true,"function_declaration":true,"indentation_type":true,"line_ending":true,"lowercase_keywords":true,"method_argument_space":{"on_multiline":"ensure_fully_multiline"},"no_break_comment":true,"no_closing_tag":true,"no_space_around_double_colon":true,"no_spaces_after_function_name":true,"no_spaces_inside_parenthesis":true,"no_trailing_whitespace":true,"no_trailing_whitespace_in_comment":true,"single_blank_line_at_eof":true,"single_class_element_per_statement":{"elements":["property"]},"single_line_after_imports":true,"switch_case_semicolon_to_colon":true,"switch_case_space":true,"encoding":true,"full_opening_tag":true},"hashes":{"config\/.null-ls_409243_php-cs-fixer-conf.php":"fb71792ed72df5b2976115b4380ef622","config\/.null-ls_800261_php-cs-fixer-conf.php":"1a554594a4eaa31e7bf231c0a93ad00e","config\/.null-ls_450233_php-cs-fixer-conf.php":"1a554594a4eaa31e7bf231c0a93ad00e","config\/.null-ls_536351_php-cs-fixer-conf.php":"5bfcd97c4bfff433fa6da9d289fd7ef9","config\/.null-ls_121074_php-cs-fixer-conf.php":"c116993e570fd1fd0d8e5ff29103a452"}} \ No newline at end of file diff --git a/chezmoi/.chezmoidata/packages.yaml b/chezmoi/.chezmoidata/packages.yaml deleted file mode 100644 index 3512bc7..0000000 --- a/chezmoi/.chezmoidata/packages.yaml +++ /dev/null @@ -1,41 +0,0 @@ -packages: - cargo: - - du-dust - - mise - - rbw - # - yazi-fm - # - yazi-cli - dnf: - copr: - - atim/lazygit - - atim/starship - - the4runner/firefox-dev - packages: - - bat - - dnf-plugin-system-upgrade - - duf - - eza - - fd-find - - firefox-dev - - flatpak - - fzf - - gcc - - gcc-c++ - - git - - gitlint - - gnome-software - - lazygit - - neovim - - nodejs - - openssl - - openssl-devel - - papirus-icon-theme - - remove-retired-packages - - ripgrep - - sd - - starship - - tealdeer - - tmux - - tree-sitter-cli - - zoxide - - zsh diff --git a/chezmoi/dot_config/nvim/symlink_lazy-lock.json.tmpl b/chezmoi/dot_config/nvim/symlink_lazy-lock.json.tmpl deleted file mode 100644 index efac3ee..0000000 --- a/chezmoi/dot_config/nvim/symlink_lazy-lock.json.tmpl +++ /dev/null @@ -1,2 +0,0 @@ -{{ .chezmoi.sourceDir }}/dot_config/nvim/original_lazy-lock.json - diff --git a/chezmoi/dot_config/yazi/symlink_package.toml.tmpl b/chezmoi/dot_config/yazi/symlink_package.toml.tmpl deleted file mode 100644 index 716b5a9..0000000 --- a/chezmoi/dot_config/yazi/symlink_package.toml.tmpl +++ /dev/null @@ -1,2 +0,0 @@ -{{ .chezmoi.sourceDir }}/dot_config/yazi/original_package.toml - diff --git a/chezmoi/dot_config/alacritty/alacritty.toml b/config/alacritty/alacritty.toml similarity index 100% rename from chezmoi/dot_config/alacritty/alacritty.toml rename to config/alacritty/alacritty.toml diff --git a/chezmoi/dot_config/alacritty/alacritty.yml b/config/alacritty/alacritty.yml similarity index 100% rename from chezmoi/dot_config/alacritty/alacritty.yml rename to config/alacritty/alacritty.yml diff --git a/chezmoi/dot_config/alacritty/themes/.keep b/config/alacritty/themes/.keep similarity index 100% rename from chezmoi/dot_config/alacritty/themes/.keep rename to config/alacritty/themes/.keep diff --git a/chezmoi/dot_config/bat/config b/config/bat/config similarity index 100% rename from chezmoi/dot_config/bat/config rename to config/bat/config diff --git a/chezmoi/dot_config/foot/foot.ini b/config/foot/foot.ini similarity index 100% rename from chezmoi/dot_config/foot/foot.ini rename to config/foot/foot.ini diff --git a/chezmoi/dot_config/foot/themes/catppuccin/LICENSE b/config/foot/themes/catppuccin/LICENSE similarity index 100% rename from chezmoi/dot_config/foot/themes/catppuccin/LICENSE rename to config/foot/themes/catppuccin/LICENSE diff --git a/chezmoi/dot_config/foot/themes/catppuccin/README.md b/config/foot/themes/catppuccin/README.md similarity index 100% rename from chezmoi/dot_config/foot/themes/catppuccin/README.md rename to config/foot/themes/catppuccin/README.md diff --git a/chezmoi/dot_config/foot/themes/catppuccin/assets/empty_dot_gitkeep b/config/foot/themes/catppuccin/assets/empty_dot_gitkeep similarity index 100% rename from chezmoi/dot_config/foot/themes/catppuccin/assets/empty_dot_gitkeep rename to config/foot/themes/catppuccin/assets/empty_dot_gitkeep diff --git a/chezmoi/dot_config/foot/themes/catppuccin/assets/foot.png b/config/foot/themes/catppuccin/assets/foot.png similarity index 100% rename from chezmoi/dot_config/foot/themes/catppuccin/assets/foot.png rename to config/foot/themes/catppuccin/assets/foot.png diff --git a/chezmoi/dot_config/foot/themes/catppuccin/catppuccin-frappe.conf b/config/foot/themes/catppuccin/catppuccin-frappe.conf similarity index 100% rename from chezmoi/dot_config/foot/themes/catppuccin/catppuccin-frappe.conf rename to config/foot/themes/catppuccin/catppuccin-frappe.conf diff --git a/chezmoi/dot_config/foot/themes/catppuccin/catppuccin-latte.conf b/config/foot/themes/catppuccin/catppuccin-latte.conf similarity index 100% rename from chezmoi/dot_config/foot/themes/catppuccin/catppuccin-latte.conf rename to config/foot/themes/catppuccin/catppuccin-latte.conf diff --git a/chezmoi/dot_config/foot/themes/catppuccin/catppuccin-macchiato.conf b/config/foot/themes/catppuccin/catppuccin-macchiato.conf similarity index 100% rename from chezmoi/dot_config/foot/themes/catppuccin/catppuccin-macchiato.conf rename to config/foot/themes/catppuccin/catppuccin-macchiato.conf diff --git a/chezmoi/dot_config/foot/themes/catppuccin/catppuccin-mocha.conf b/config/foot/themes/catppuccin/catppuccin-mocha.conf similarity index 100% rename from chezmoi/dot_config/foot/themes/catppuccin/catppuccin-mocha.conf rename to config/foot/themes/catppuccin/catppuccin-mocha.conf diff --git a/chezmoi/dot_config/foot/themes/catppuccin/dot_editorconfig b/config/foot/themes/catppuccin/dot_editorconfig similarity index 100% rename from chezmoi/dot_config/foot/themes/catppuccin/dot_editorconfig rename to config/foot/themes/catppuccin/dot_editorconfig diff --git a/chezmoi/dot_config/foot/themes/catppuccin/dot_git b/config/foot/themes/catppuccin/dot_git similarity index 100% rename from chezmoi/dot_config/foot/themes/catppuccin/dot_git rename to config/foot/themes/catppuccin/dot_git diff --git a/chezmoi/dot_config/fzf/forgitrc b/config/fzf/forgitrc similarity index 100% rename from chezmoi/dot_config/fzf/forgitrc rename to config/fzf/forgitrc diff --git a/chezmoi/dot_config/fzf/fzfrc b/config/fzf/fzfrc similarity index 100% rename from chezmoi/dot_config/fzf/fzfrc rename to config/fzf/fzfrc diff --git a/chezmoi/dot_config/fzf/widgets/alias_widget.zsh b/config/fzf/widgets/alias_widget.zsh similarity index 100% rename from chezmoi/dot_config/fzf/widgets/alias_widget.zsh rename to config/fzf/widgets/alias_widget.zsh diff --git a/chezmoi/dot_config/fzf/widgets/atuin-history_widget.zsh b/config/fzf/widgets/atuin-history_widget.zsh similarity index 100% rename from chezmoi/dot_config/fzf/widgets/atuin-history_widget.zsh rename to config/fzf/widgets/atuin-history_widget.zsh diff --git a/chezmoi/dot_config/fzf/widgets/cd-recent-dir_widget.zsh b/config/fzf/widgets/cd-recent-dir_widget.zsh similarity index 100% rename from chezmoi/dot_config/fzf/widgets/cd-recent-dir_widget.zsh rename to config/fzf/widgets/cd-recent-dir_widget.zsh diff --git a/chezmoi/dot_config/fzf/widgets/cd_widget.zsh b/config/fzf/widgets/cd_widget.zsh similarity index 100% rename from chezmoi/dot_config/fzf/widgets/cd_widget.zsh rename to config/fzf/widgets/cd_widget.zsh diff --git a/chezmoi/dot_config/fzf/widgets/dictionary_widget.zsh b/config/fzf/widgets/dictionary_widget.zsh similarity index 100% rename from chezmoi/dot_config/fzf/widgets/dictionary_widget.zsh rename to config/fzf/widgets/dictionary_widget.zsh diff --git a/chezmoi/dot_config/fzf/widgets/fzf-rg-launcher.zsh b/config/fzf/widgets/fzf-rg-launcher.zsh similarity index 100% rename from chezmoi/dot_config/fzf/widgets/fzf-rg-launcher.zsh rename to config/fzf/widgets/fzf-rg-launcher.zsh diff --git a/chezmoi/dot_config/fzf/widgets/locate_widget.zsh b/config/fzf/widgets/locate_widget.zsh similarity index 100% rename from chezmoi/dot_config/fzf/widgets/locate_widget.zsh rename to config/fzf/widgets/locate_widget.zsh diff --git a/chezmoi/dot_config/fzf/widgets/man_widget.zsh b/config/fzf/widgets/man_widget.zsh similarity index 100% rename from chezmoi/dot_config/fzf/widgets/man_widget.zsh rename to config/fzf/widgets/man_widget.zsh diff --git a/chezmoi/dot_config/git/config b/config/git/config similarity index 100% rename from chezmoi/dot_config/git/config rename to config/git/config diff --git a/chezmoi/dot_config/git/ignore b/config/git/ignore similarity index 100% rename from chezmoi/dot_config/git/ignore rename to config/git/ignore diff --git a/chezmoi/dot_config/hypr/executable_gdm-wrapper.sh b/config/hypr/executable_gdm-wrapper.sh similarity index 100% rename from chezmoi/dot_config/hypr/executable_gdm-wrapper.sh rename to config/hypr/executable_gdm-wrapper.sh diff --git a/chezmoi/dot_config/hypr/hyprland.conf b/config/hypr/hyprland.conf similarity index 100% rename from chezmoi/dot_config/hypr/hyprland.conf rename to config/hypr/hyprland.conf diff --git a/chezmoi/dot_config/hypr/hyprpaper.conf b/config/hypr/hyprpaper.conf similarity index 100% rename from chezmoi/dot_config/hypr/hyprpaper.conf rename to config/hypr/hyprpaper.conf diff --git a/chezmoi/dot_config/kitty/current-theme.conf b/config/kitty/current-theme.conf similarity index 100% rename from chezmoi/dot_config/kitty/current-theme.conf rename to config/kitty/current-theme.conf diff --git a/chezmoi/dot_config/kitty/kitty.conf b/config/kitty/kitty.conf similarity index 100% rename from chezmoi/dot_config/kitty/kitty.conf rename to config/kitty/kitty.conf diff --git a/chezmoi/dot_config/kitty/private_kitty.conf.bak b/config/kitty/private_kitty.conf.bak similarity index 100% rename from chezmoi/dot_config/kitty/private_kitty.conf.bak rename to config/kitty/private_kitty.conf.bak diff --git a/chezmoi/dot_config/lazygit/config.yml b/config/lazygit/config.yml similarity index 100% rename from chezmoi/dot_config/lazygit/config.yml rename to config/lazygit/config.yml diff --git a/chezmoi/dot_config/mako/config b/config/mako/config similarity index 100% rename from chezmoi/dot_config/mako/config rename to config/mako/config diff --git a/chezmoi/dot_config/mise/config.toml b/config/mise/config.toml similarity index 100% rename from chezmoi/dot_config/mise/config.toml rename to config/mise/config.toml diff --git a/chezmoi/dot_config/mpv/encoding.rst b/config/mpv/encoding.rst similarity index 100% rename from chezmoi/dot_config/mpv/encoding.rst rename to config/mpv/encoding.rst diff --git a/chezmoi/dot_config/mpv/input.conf b/config/mpv/input.conf similarity index 100% rename from chezmoi/dot_config/mpv/input.conf rename to config/mpv/input.conf diff --git a/chezmoi/dot_config/mpv/mplayer-input.conf b/config/mpv/mplayer-input.conf similarity index 100% rename from chezmoi/dot_config/mpv/mplayer-input.conf rename to config/mpv/mplayer-input.conf diff --git a/chezmoi/dot_config/mpv/mpv.conf b/config/mpv/mpv.conf similarity index 100% rename from chezmoi/dot_config/mpv/mpv.conf rename to config/mpv/mpv.conf diff --git a/chezmoi/dot_config/mpv/restore-old-bindings.conf b/config/mpv/restore-old-bindings.conf similarity index 100% rename from chezmoi/dot_config/mpv/restore-old-bindings.conf rename to config/mpv/restore-old-bindings.conf diff --git a/chezmoi/dot_config/mpv/script-opts/mpv_thumbnail_script.conf b/config/mpv/script-opts/mpv_thumbnail_script.conf similarity index 100% rename from chezmoi/dot_config/mpv/script-opts/mpv_thumbnail_script.conf rename to config/mpv/script-opts/mpv_thumbnail_script.conf diff --git a/chezmoi/dot_config/mpv/scripts/mpv-i3-floating-centered.lua b/config/mpv/scripts/mpv-i3-floating-centered.lua similarity index 100% rename from chezmoi/dot_config/mpv/scripts/mpv-i3-floating-centered.lua rename to config/mpv/scripts/mpv-i3-floating-centered.lua diff --git a/chezmoi/dot_config/mpv/scripts/mpv_thumbnail_script_client_osc.lua b/config/mpv/scripts/mpv_thumbnail_script_client_osc.lua similarity index 100% rename from chezmoi/dot_config/mpv/scripts/mpv_thumbnail_script_client_osc.lua rename to config/mpv/scripts/mpv_thumbnail_script_client_osc.lua diff --git a/chezmoi/dot_config/mpv/scripts/mpv_thumbnail_script_server-1.lua b/config/mpv/scripts/mpv_thumbnail_script_server-1.lua similarity index 100% rename from chezmoi/dot_config/mpv/scripts/mpv_thumbnail_script_server-1.lua rename to config/mpv/scripts/mpv_thumbnail_script_server-1.lua diff --git a/chezmoi/dot_config/mpv/scripts/mpv_thumbnail_script_server-2.lua b/config/mpv/scripts/mpv_thumbnail_script_server-2.lua similarity index 100% rename from chezmoi/dot_config/mpv/scripts/mpv_thumbnail_script_server-2.lua rename to config/mpv/scripts/mpv_thumbnail_script_server-2.lua diff --git a/chezmoi/dot_config/mpv/scripts/mpv_thumbnail_script_server.lua b/config/mpv/scripts/mpv_thumbnail_script_server.lua similarity index 100% rename from chezmoi/dot_config/mpv/scripts/mpv_thumbnail_script_server.lua rename to config/mpv/scripts/mpv_thumbnail_script_server.lua diff --git a/chezmoi/dot_config/mpv/scripts/pause-indicator.lua b/config/mpv/scripts/pause-indicator.lua similarity index 100% rename from chezmoi/dot_config/mpv/scripts/pause-indicator.lua rename to config/mpv/scripts/pause-indicator.lua diff --git a/chezmoi/dot_config/mpv/tech-overview.txt b/config/mpv/tech-overview.txt similarity index 100% rename from chezmoi/dot_config/mpv/tech-overview.txt rename to config/mpv/tech-overview.txt diff --git a/config/nushell/config.nu b/config/nushell/config.nu new file mode 100644 index 0000000..2917e52 --- /dev/null +++ b/config/nushell/config.nu @@ -0,0 +1,898 @@ +# Nushell Config File +# +# version = "0.99.1" + +# For more information on defining custom themes, see +# https://www.nushell.sh/book/coloring_and_theming.html +# And here is the theme collection +# https://github.com/nushell/nu_scripts/tree/main/themes +let dark_theme = { + # color for nushell primitives + separator: white + leading_trailing_space_bg: { attr: n } # no fg, no bg, attr none effectively turns this off + header: green_bold + empty: blue + # Closures can be used to choose colors for specific values. + # The value (in this case, a bool) is piped into the closure. + # eg) {|| if $in { 'light_cyan' } else { 'light_gray' } } + bool: light_cyan + int: white + filesize: cyan + duration: white + date: purple + range: white + float: white + string: white + nothing: white + binary: white + cell-path: white + row_index: green_bold + record: white + list: white + block: white + hints: dark_gray + search_result: { bg: red fg: white } + shape_and: purple_bold + shape_binary: purple_bold + shape_block: blue_bold + shape_bool: light_cyan + shape_closure: green_bold + shape_custom: green + shape_datetime: cyan_bold + shape_directory: cyan + shape_external: cyan + shape_externalarg: green_bold + shape_external_resolved: light_yellow_bold + shape_filepath: cyan + shape_flag: blue_bold + shape_float: purple_bold + # shapes are used to change the cli syntax highlighting + shape_garbage: { fg: white bg: red attr: b } + shape_glob_interpolation: cyan_bold + shape_globpattern: cyan_bold + shape_int: purple_bold + shape_internalcall: cyan_bold + shape_keyword: cyan_bold + shape_list: cyan_bold + shape_literal: blue + shape_match_pattern: green + shape_matching_brackets: { attr: u } + shape_nothing: light_cyan + shape_operator: yellow + shape_or: purple_bold + shape_pipe: purple_bold + shape_range: yellow_bold + shape_record: cyan_bold + shape_redirection: purple_bold + shape_signature: green_bold + shape_string: green + shape_string_interpolation: cyan_bold + shape_table: blue_bold + shape_variable: purple + shape_vardecl: purple + shape_raw_string: light_purple +} + +let light_theme = { + # color for nushell primitives + separator: dark_gray + leading_trailing_space_bg: { attr: n } # no fg, no bg, attr none effectively turns this off + header: green_bold + empty: blue + # Closures can be used to choose colors for specific values. + # The value (in this case, a bool) is piped into the closure. + # eg) {|| if $in { 'dark_cyan' } else { 'dark_gray' } } + bool: dark_cyan + int: dark_gray + filesize: cyan_bold + duration: dark_gray + date: purple + range: dark_gray + float: dark_gray + string: dark_gray + nothing: dark_gray + binary: dark_gray + cell-path: dark_gray + row_index: green_bold + record: dark_gray + list: dark_gray + block: dark_gray + hints: dark_gray + search_result: { fg: white bg: red } + shape_and: purple_bold + shape_binary: purple_bold + shape_block: blue_bold + shape_bool: light_cyan + shape_closure: green_bold + shape_custom: green + shape_datetime: cyan_bold + shape_directory: cyan + shape_external: cyan + shape_externalarg: green_bold + shape_external_resolved: light_purple_bold + shape_filepath: cyan + shape_flag: blue_bold + shape_float: purple_bold + # shapes are used to change the cli syntax highlighting + shape_garbage: { fg: white bg: red attr: b } + shape_glob_interpolation: cyan_bold + shape_globpattern: cyan_bold + shape_int: purple_bold + shape_internalcall: cyan_bold + shape_keyword: cyan_bold + shape_list: cyan_bold + shape_literal: blue + shape_match_pattern: green + shape_matching_brackets: { attr: u } + shape_nothing: light_cyan + shape_operator: yellow + shape_or: purple_bold + shape_pipe: purple_bold + shape_range: yellow_bold + shape_record: cyan_bold + shape_redirection: purple_bold + shape_signature: green_bold + shape_string: green + shape_string_interpolation: cyan_bold + shape_table: blue_bold + shape_variable: purple + shape_vardecl: purple + shape_raw_string: light_purple +} + +# External completer example +# let carapace_completer = {|spans| +# carapace $spans.0 nushell ...$spans | from json +# } + +# The default config record. This is where much of your global configuration is setup. +$env.config = { + show_banner: false # true or false to enable or disable the welcome banner at startup + + ls: { + use_ls_colors: true # use the LS_COLORS environment variable to colorize output + clickable_links: true # enable or disable clickable links. Your terminal has to support links. + } + + rm: { + always_trash: true # always act as if -t was given. Can be overridden with -p + } + + table: { + mode: compact # basic, compact, compact_double, light, thin, with_love, rounded, reinforced, heavy, none, other + index_mode: auto # "always" show indexes, "never" show indexes, "auto" = show indexes when a table has "index" column + show_empty: true # show 'empty list' and 'empty record' placeholders for command output + padding: { left: 1, right: 1 } # a left right padding of each column in a table + trim: { + methodology: wrapping # wrapping or truncating + wrapping_try_keep_words: true # A strategy used by the 'wrapping' methodology + truncating_suffix: "..." # A suffix used by the 'truncating' methodology + } + header_on_separator: false # show header text on separator/border line + # abbreviated_row_count: 10 # limit data rows from top and bottom after reaching a set point + } + + error_style: "fancy" # "fancy" or "plain" for screen reader-friendly error messages + + # Whether an error message should be printed if an error of a certain kind is triggered. + display_errors: { + exit_code: false # assume the external command prints an error message + # Core dump errors are always printed, and SIGPIPE never triggers an error. + # The setting below controls message printing for termination by all other signals. + termination_signal: true + } + + # datetime_format determines what a datetime rendered in the shell would look like. + # Behavior without this configuration point will be to "humanize" the datetime display, + # showing something like "a day ago." + datetime_format: { + # normal: '%a, %d %b %Y %H:%M:%S %z' # shows up in displays of variables or other datetime's outside of tables + # table: '%m/%d/%y %I:%M:%S%p' # generally shows up in tabular outputs such as ls. commenting this out will change it to the default human readable datetime format + } + + explore: { + status_bar_background: { fg: "#1D1F21", bg: "#C4C9C6" }, + command_bar_text: { fg: "#C4C9C6" }, + highlight: { fg: "black", bg: "yellow" }, + status: { + error: { fg: "white", bg: "red" }, + warn: {} + info: {} + }, + selected_cell: { bg: light_blue }, + } + + history: { + max_size: 100_000 # Session has to be reloaded for this to take effect + sync_on_enter: true # Enable to share history between multiple sessions, else you have to close the session to write history to file + file_format: "sqlite" # "sqlite" or "plaintext" + isolation: true # only available with sqlite file_format. true enables history isolation, false disables it. true will allow the history to be isolated to the current session using up/down arrows. false will allow the history to be shared across all sessions. + } + + completions: { + case_sensitive: false # set to true to enable case-sensitive completions + quick: true # set this to false to prevent auto-selecting completions when only one remains + partial: true # set this to false to prevent partial filling of the prompt + algorithm: "prefix" # prefix or fuzzy + sort: "smart" # "smart" (alphabetical for prefix matching, fuzzy score for fuzzy matching) or "alphabetical" + external: { + enable: true # set to false to prevent nushell looking into $env.PATH to find more suggestions, `false` recommended for WSL users as this look up may be very slow + max_results: 100 # setting it lower can improve completion performance at the cost of omitting some options + completer: null # check 'carapace_completer' above as an example + } + use_ls_colors: true # set this to true to enable file/path/directory completions using LS_COLORS + } + + filesize: { + metric: true # true => KB, MB, GB (ISO standard), false => KiB, MiB, GiB (Windows standard) + format: "auto" # b, kb, kib, mb, mib, gb, gib, tb, tib, pb, pib, eb, eib, auto + } + + cursor_shape: { + emacs: line # block, underscore, line, blink_block, blink_underscore, blink_line, inherit to skip setting cursor shape (line is the default) + vi_insert: line # block, underscore, line, blink_block, blink_underscore, blink_line, inherit to skip setting cursor shape (block is the default) + vi_normal: block # block, underscore, line, blink_block, blink_underscore, blink_line, inherit to skip setting cursor shape (underscore is the default) + } + + color_config: $dark_theme # if you want a more interesting theme, you can replace the empty record with `$dark_theme`, `$light_theme` or another custom record + footer_mode: 25 # always, never, number_of_rows, auto + float_precision: 2 # the precision for displaying floats in tables + buffer_editor: null # command that will be used to edit the current line buffer with ctrl+o, if unset fallback to $env.EDITOR and $env.VISUAL + use_ansi_coloring: true + bracketed_paste: true # enable bracketed paste, currently useless on windows + edit_mode: vi # emacs, vi + shell_integration: { + # osc2 abbreviates the path if in the home_dir, sets the tab/window title, shows the running command in the tab/window title + osc2: true + # osc7 is a way to communicate the path to the terminal, this is helpful for spawning new tabs in the same directory + osc7: true + # osc8 is also implemented as the deprecated setting ls.show_clickable_links, it shows clickable links in ls output if your terminal supports it. show_clickable_links is deprecated in favor of osc8 + osc8: true + # osc9_9 is from ConEmu and is starting to get wider support. It's similar to osc7 in that it communicates the path to the terminal + osc9_9: false + # osc133 is several escapes invented by Final Term which include the supported ones below. + # 133;A - Mark prompt start + # 133;B - Mark prompt end + # 133;C - Mark pre-execution + # 133;D;exit - Mark execution finished with exit code + # This is used to enable terminals to know where the prompt is, the command is, where the command finishes, and where the output of the command is + osc133: true + # osc633 is closely related to osc133 but only exists in visual studio code (vscode) and supports their shell integration features + # 633;A - Mark prompt start + # 633;B - Mark prompt end + # 633;C - Mark pre-execution + # 633;D;exit - Mark execution finished with exit code + # 633;E - Explicitly set the command line with an optional nonce + # 633;P;Cwd= - Mark the current working directory and communicate it to the terminal + # and also helps with the run recent menu in vscode + osc633: true + # reset_application_mode is escape \x1b[?1l and was added to help ssh work better + reset_application_mode: true + } + render_right_prompt_on_last_line: false # true or false to enable or disable right prompt to be rendered on last line of the prompt. + use_kitty_protocol: false # enables keyboard enhancement protocol implemented by kitty console, only if your terminal support this. + highlight_resolved_externals: true # true enables highlighting of external commands in the repl resolved by which. + recursion_limit: 50 # the maximum number of times nushell allows recursion before stopping it + + plugins: {} # Per-plugin configuration. See https://www.nushell.sh/contributor-book/plugins.html#configuration. + + plugin_gc: { + # Configuration for plugin garbage collection + default: { + enabled: true # true to enable stopping of inactive plugins + stop_after: 10sec # how long to wait after a plugin is inactive to stop it + } + plugins: { + # alternate configuration for specific plugins, by name, for example: + # + # gstat: { + # enabled: false + # } + } + } + + hooks: { + pre_prompt: [{ null }] # run before the prompt is shown + pre_execution: [{ null }] # run before the repl input is run + env_change: { + PWD: [{|before, after| null }] # run if the PWD environment is different since the last repl input + } + display_output: "if (term size).columns >= 100 { table -e } else { table }" # run to display the output of a pipeline + command_not_found: { null } # return an error message when a command is not found + } + + menus: [ + # Configuration for default nushell menus + # Note the lack of source parameter + { + name: completion_menu + only_buffer_difference: false + marker: "| " + type: { + layout: columnar + columns: 4 + col_width: 20 # Optional value. If missing all the screen width is used to calculate column width + col_padding: 2 + } + style: { + text: green + selected_text: { attr: r } + description_text: yellow + match_text: { attr: u } + selected_match_text: { attr: ur } + } + } + { + name: ide_completion_menu + only_buffer_difference: false + marker: "| " + type: { + layout: ide + min_completion_width: 0, + max_completion_width: 50, + max_completion_height: 10, # will be limited by the available lines in the terminal + padding: 0, + border: true, + cursor_offset: 0, + description_mode: "prefer_right" + min_description_width: 0 + max_description_width: 50 + max_description_height: 10 + description_offset: 1 + # If true, the cursor pos will be corrected, so the suggestions match up with the typed text + # + # C:\> str + # str join + # str trim + # str split + correct_cursor_pos: false + } + style: { + text: green + selected_text: { attr: r } + description_text: yellow + match_text: { attr: u } + selected_match_text: { attr: ur } + } + } + { + name: history_menu + only_buffer_difference: true + marker: "? " + type: { + layout: list + page_size: 10 + } + style: { + text: green + selected_text: green_reverse + description_text: yellow + } + } + { + name: help_menu + only_buffer_difference: true + marker: "? " + type: { + layout: description + columns: 4 + col_width: 20 # Optional value. If missing all the screen width is used to calculate column width + col_padding: 2 + selection_rows: 4 + description_rows: 10 + } + style: { + text: green + selected_text: green_reverse + description_text: yellow + } + } + ] + + keybindings: [ + { + name: completion_menu + modifier: none + keycode: tab + mode: [emacs vi_normal vi_insert] + event: { + until: [ + { send: menu name: completion_menu } + { send: menunext } + { edit: complete } + ] + } + } + { + name: completion_previous_menu + modifier: shift + keycode: backtab + mode: [emacs, vi_normal, vi_insert] + event: { send: menuprevious } + } + { + name: ide_completion_menu + modifier: control + keycode: space + mode: [emacs vi_normal vi_insert] + event: { + until: [ + { send: menu name: ide_completion_menu } + { send: menunext } + { edit: complete } + ] + } + } + { + name: history_menu + modifier: control + keycode: char_r + mode: [emacs, vi_insert, vi_normal] + event: { send: menu name: history_menu } + } + { + name: help_menu + modifier: none + keycode: f1 + mode: [emacs, vi_insert, vi_normal] + event: { send: menu name: help_menu } + } + { + name: next_page_menu + modifier: control + keycode: char_x + mode: emacs + event: { send: menupagenext } + } + { + name: undo_or_previous_page_menu + modifier: control + keycode: char_z + mode: emacs + event: { + until: [ + { send: menupageprevious } + { edit: undo } + ] + } + } + { + name: escape + modifier: none + keycode: escape + mode: [emacs, vi_normal, vi_insert] + event: { send: esc } # NOTE: does not appear to work + } + { + name: cancel_command + modifier: control + keycode: char_c + mode: [emacs, vi_normal, vi_insert] + event: { send: ctrlc } + } + { + name: quit_shell + modifier: control + keycode: char_d + mode: [emacs, vi_normal, vi_insert] + event: { send: ctrld } + } + { + name: clear_screen + modifier: control + keycode: char_l + mode: [emacs, vi_normal, vi_insert] + event: { send: clearscreen } + } + { + name: search_history + modifier: control + keycode: char_q + mode: [emacs, vi_normal, vi_insert] + event: { send: searchhistory } + } + { + name: open_command_editor + modifier: control + keycode: char_o + mode: [emacs, vi_normal, vi_insert] + event: { send: openeditor } + } + { + name: move_up + modifier: none + keycode: up + mode: [emacs, vi_normal, vi_insert] + event: { + until: [ + { send: menuup } + { send: up } + ] + } + } + { + name: move_down + modifier: none + keycode: down + mode: [emacs, vi_normal, vi_insert] + event: { + until: [ + { send: menudown } + { send: down } + ] + } + } + { + name: move_left + modifier: none + keycode: left + mode: [emacs, vi_normal, vi_insert] + event: { + until: [ + { send: menuleft } + { send: left } + ] + } + } + { + name: move_right_or_take_history_hint + modifier: none + keycode: right + mode: [emacs, vi_normal, vi_insert] + event: { + until: [ + { send: historyhintcomplete } + { send: menuright } + { send: right } + ] + } + } + { + name: move_one_word_left + modifier: control + keycode: left + mode: [emacs, vi_normal, vi_insert] + event: { edit: movewordleft } + } + { + name: move_one_word_right_or_take_history_hint + modifier: control + keycode: right + mode: [emacs, vi_normal, vi_insert] + event: { + until: [ + { send: historyhintwordcomplete } + { edit: movewordright } + ] + } + } + { + name: move_to_line_start + modifier: none + keycode: home + mode: [emacs, vi_normal, vi_insert] + event: { edit: movetolinestart } + } + { + name: move_to_line_start + modifier: control + keycode: char_a + mode: [emacs, vi_normal, vi_insert] + event: { edit: movetolinestart } + } + { + name: move_to_line_end_or_take_history_hint + modifier: none + keycode: end + mode: [emacs, vi_normal, vi_insert] + event: { + until: [ + { send: historyhintcomplete } + { edit: movetolineend } + ] + } + } + { + name: move_to_line_end_or_take_history_hint + modifier: control + keycode: char_e + mode: [emacs, vi_normal, vi_insert] + event: { + until: [ + { send: historyhintcomplete } + { edit: movetolineend } + ] + } + } + { + name: move_to_line_start + modifier: control + keycode: home + mode: [emacs, vi_normal, vi_insert] + event: { edit: movetolinestart } + } + { + name: move_to_line_end + modifier: control + keycode: end + mode: [emacs, vi_normal, vi_insert] + event: { edit: movetolineend } + } + { + name: move_down + modifier: control + keycode: char_n + mode: [emacs, vi_normal, vi_insert] + event: { + until: [ + { send: menudown } + { send: down } + ] + } + } + { + name: move_up + modifier: control + keycode: char_p + mode: [emacs, vi_normal, vi_insert] + event: { + until: [ + { send: menuup } + { send: up } + ] + } + } + { + name: delete_one_character_backward + modifier: none + keycode: backspace + mode: [emacs, vi_insert] + event: { edit: backspace } + } + { + name: delete_one_word_backward + modifier: control + keycode: backspace + mode: [emacs, vi_insert] + event: { edit: backspaceword } + } + { + name: delete_one_character_forward + modifier: none + keycode: delete + mode: [emacs, vi_insert] + event: { edit: delete } + } + { + name: delete_one_character_forward + modifier: control + keycode: delete + mode: [emacs, vi_insert] + event: { edit: delete } + } + { + name: delete_one_character_backward + modifier: control + keycode: char_h + mode: [emacs, vi_insert] + event: { edit: backspace } + } + { + name: delete_one_word_backward + modifier: control + keycode: char_w + mode: [emacs, vi_insert] + event: { edit: backspaceword } + } + { + name: move_left + modifier: none + keycode: backspace + mode: vi_normal + event: { edit: moveleft } + } + { + name: newline_or_run_command + modifier: none + keycode: enter + mode: emacs + event: { send: enter } + } + { + name: move_left + modifier: control + keycode: char_b + mode: emacs + event: { + until: [ + { send: menuleft } + { send: left } + ] + } + } + { + name: move_right_or_take_history_hint + modifier: control + keycode: char_f + mode: emacs + event: { + until: [ + { send: historyhintcomplete } + { send: menuright } + { send: right } + ] + } + } + { + name: redo_change + modifier: control + keycode: char_g + mode: emacs + event: { edit: redo } + } + { + name: undo_change + modifier: control + keycode: char_z + mode: emacs + event: { edit: undo } + } + { + name: paste_before + modifier: control + keycode: char_y + mode: emacs + event: { edit: pastecutbufferbefore } + } + { + name: cut_word_left + modifier: control + keycode: char_w + mode: emacs + event: { edit: cutwordleft } + } + { + name: cut_line_to_end + modifier: control + keycode: char_k + mode: emacs + event: { edit: cuttolineend } + } + { + name: cut_line_from_start + modifier: control + keycode: char_u + mode: emacs + event: { edit: cutfromstart } + } + { + name: swap_graphemes + modifier: control + keycode: char_t + mode: emacs + event: { edit: swapgraphemes } + } + { + name: move_one_word_left + modifier: alt + keycode: left + mode: emacs + event: { edit: movewordleft } + } + { + name: move_one_word_right_or_take_history_hint + modifier: alt + keycode: right + mode: emacs + event: { + until: [ + { send: historyhintwordcomplete } + { edit: movewordright } + ] + } + } + { + name: move_one_word_left + modifier: alt + keycode: char_b + mode: emacs + event: { edit: movewordleft } + } + { + name: move_one_word_right_or_take_history_hint + modifier: alt + keycode: char_f + mode: emacs + event: { + until: [ + { send: historyhintwordcomplete } + { edit: movewordright } + ] + } + } + { + name: delete_one_word_forward + modifier: alt + keycode: delete + mode: emacs + event: { edit: deleteword } + } + { + name: delete_one_word_backward + modifier: alt + keycode: backspace + mode: emacs + event: { edit: backspaceword } + } + { + name: delete_one_word_backward + modifier: alt + keycode: char_m + mode: emacs + event: { edit: backspaceword } + } + { + name: cut_word_to_right + modifier: alt + keycode: char_d + mode: emacs + event: { edit: cutwordright } + } + { + name: upper_case_word + modifier: alt + keycode: char_u + mode: emacs + event: { edit: uppercaseword } + } + { + name: lower_case_word + modifier: alt + keycode: char_l + mode: emacs + event: { edit: lowercaseword } + } + { + name: capitalize_char + modifier: alt + keycode: char_c + mode: emacs + event: { edit: capitalizechar } + } + # The following bindings with `*system` events require that Nushell has + # been compiled with the `system-clipboard` feature. + # If you want to use the system clipboard for visual selection or to + # paste directly, uncomment the respective lines and replace the version + # using the internal clipboard. + { + name: copy_selection + modifier: control_shift + keycode: char_c + mode: emacs + event: { edit: copyselection } + # event: { edit: copyselectionsystem } + } + { + name: cut_selection + modifier: control_shift + keycode: char_x + mode: emacs + event: { edit: cutselection } + # event: { edit: cutselectionsystem } + } + # { + # name: paste_system + # modifier: control_shift + # keycode: char_v + # mode: emacs + # event: { edit: pastesystem } + # } + { + name: select_all + modifier: control_shift + keycode: char_a + mode: emacs + event: { edit: selectall } + } + ] +} diff --git a/config/nushell/env.nu b/config/nushell/env.nu new file mode 100644 index 0000000..0ed67b1 --- /dev/null +++ b/config/nushell/env.nu @@ -0,0 +1,101 @@ +# Nushell Environment Config File +# +# version = "0.99.1" + +def create_left_prompt [] { + let dir = match (do --ignore-shell-errors { $env.PWD | path relative-to $nu.home-path }) { + null => $env.PWD + '' => '~' + $relative_pwd => ([~ $relative_pwd] | path join) + } + + let path_color = (if (is-admin) { ansi red_bold } else { ansi green_bold }) + let separator_color = (if (is-admin) { ansi light_red_bold } else { ansi light_green_bold }) + let path_segment = $"($path_color)($dir)(ansi reset)" + + $path_segment | str replace --all (char path_sep) $"($separator_color)(char path_sep)($path_color)" +} + +def create_right_prompt [] { + # create a right prompt in magenta with green separators and am/pm underlined + let time_segment = ([ + (ansi reset) + (ansi magenta) + (date now | format date '%x %X') # try to respect user's locale + ] | str join | str replace --regex --all "([/:])" $"(ansi green)${1}(ansi magenta)" | + str replace --regex --all "([AP]M)" $"(ansi magenta_underline)${1}") + + let last_exit_code = if ($env.LAST_EXIT_CODE != 0) {([ + (ansi rb) + ($env.LAST_EXIT_CODE) + ] | str join) + } else { "" } + + ([$last_exit_code, (char space), $time_segment] | str join) +} + +# Use nushell functions to define your right and left prompt +$env.PROMPT_COMMAND = {|| create_left_prompt } +# FIXME: This default is not implemented in rust code as of 2023-09-08. +$env.PROMPT_COMMAND_RIGHT = {|| create_right_prompt } + +# The prompt indicators are environmental variables that represent +# the state of the prompt +$env.PROMPT_INDICATOR = {|| "> " } +$env.PROMPT_INDICATOR_VI_INSERT = {|| ": " } +$env.PROMPT_INDICATOR_VI_NORMAL = {|| "> " } +$env.PROMPT_MULTILINE_INDICATOR = {|| "::: " } + +# If you want previously entered commands to have a different prompt from the usual one, +# you can uncomment one or more of the following lines. +# This can be useful if you have a 2-line prompt and it's taking up a lot of space +# because every command entered takes up 2 lines instead of 1. You can then uncomment +# the line below so that previously entered commands show with a single `🚀`. +# $env.TRANSIENT_PROMPT_COMMAND = {|| "🚀 " } +# $env.TRANSIENT_PROMPT_INDICATOR = {|| "" } +# $env.TRANSIENT_PROMPT_INDICATOR_VI_INSERT = {|| "" } +# $env.TRANSIENT_PROMPT_INDICATOR_VI_NORMAL = {|| "" } +# $env.TRANSIENT_PROMPT_MULTILINE_INDICATOR = {|| "" } +# $env.TRANSIENT_PROMPT_COMMAND_RIGHT = {|| "" } + +# Specifies how environment variables are: +# - converted from a string to a value on Nushell startup (from_string) +# - converted from a value back to a string when running external commands (to_string) +# Note: The conversions happen *after* config.nu is loaded +$env.ENV_CONVERSIONS = { + "PATH": { + from_string: { |s| $s | split row (char esep) | path expand --no-symlink } + to_string: { |v| $v | path expand --no-symlink | str join (char esep) } + } + "Path": { + from_string: { |s| $s | split row (char esep) | path expand --no-symlink } + to_string: { |v| $v | path expand --no-symlink | str join (char esep) } + } +} + +# Directories to search for scripts when calling source or use +# The default for this is $nu.default-config-dir/scripts +$env.NU_LIB_DIRS = [ + ($nu.default-config-dir | path join 'scripts') # add /scripts + ($nu.data-dir | path join 'completions') # default home for nushell completions +] + +# Directories to search for plugin binaries when calling register +# The default for this is $nu.default-config-dir/plugins +$env.NU_PLUGIN_DIRS = [ + ($nu.default-config-dir | path join 'plugins') # add /plugins +] + +# To add entries to PATH (on Windows you might use Path), you can use the following pattern: +# $env.PATH = ($env.PATH | split row (char esep) | prepend '/some/path') +# An alternate way to add entries to $env.PATH is to use the custom command `path add` +# which is built into the nushell stdlib: +# use std "path add" +# $env.PATH = ($env.PATH | split row (char esep)) +# path add /some/path +# path add ($env.CARGO_HOME | path join "bin") +# path add ($env.HOME | path join ".local" "bin") +# $env.PATH = ($env.PATH | uniq) + +# To load from a custom file you can use: +# source ($nu.default-config-dir | path join 'custom.nu') \ No newline at end of file diff --git a/chezmoi/dot_config/nvim/after/queries/blade/highlights.scm b/config/nvim/after/queries/blade/highlights.scm similarity index 100% rename from chezmoi/dot_config/nvim/after/queries/blade/highlights.scm rename to config/nvim/after/queries/blade/highlights.scm diff --git a/chezmoi/dot_config/nvim/after/queries/blade/injections.scm b/config/nvim/after/queries/blade/injections.scm similarity index 100% rename from chezmoi/dot_config/nvim/after/queries/blade/injections.scm rename to config/nvim/after/queries/blade/injections.scm diff --git a/chezmoi/dot_config/nvim/init.lua b/config/nvim/init.lua similarity index 100% rename from chezmoi/dot_config/nvim/init.lua rename to config/nvim/init.lua diff --git a/chezmoi/dot_config/nvim/original_lazy-lock.json b/config/nvim/lazy-lock.json similarity index 97% rename from chezmoi/dot_config/nvim/original_lazy-lock.json rename to config/nvim/lazy-lock.json index 11840da..8b6a601 100644 --- a/chezmoi/dot_config/nvim/original_lazy-lock.json +++ b/config/nvim/lazy-lock.json @@ -21,14 +21,13 @@ "debugprint.nvim": { "branch": "main", "commit": "8f2a335fb0e6ebf0291a3551e0198363437e3a38" }, "diffview.nvim": { "branch": "main", "commit": "4516612fe98ff56ae0415a259ff6361a89419b0a" }, "dressing.nvim": { "branch": "master", "commit": "6741f1062d3dc6e4755367a7e9b347b553623f04" }, - "flash.nvim": { "branch": "main", "commit": "d0799ae43a581d9f190e182e2a1f389d2887c42a" }, "friendly-snippets": { "branch": "main", "commit": "45a1b96e46efe5fce8af325d4bed45feb9d29d0f" }, "gitsigns.nvim": { "branch": "main", "commit": "e9c4187c3774a46df2d086a66cf3a7e6bea4c432" }, "gopher.nvim": { "branch": "main", "commit": "f55c15ada8e02398000c04a96ef44d986cd01051" }, "grapple.nvim": { "branch": "main", "commit": "7aedc261b05a6c030397c4bc26416efbe746ebf1" }, "hurl.nvim": { "branch": "main", "commit": "d708158dda9a175c0f83cd106ea232301f4317cb" }, "indent-blankline.nvim": { "branch": "master", "commit": "65e20ab94a26d0e14acac5049b8641336819dfc7" }, - "lazy.nvim": { "branch": "main", "commit": "b02c9eae6a250f98908c146d1dc1a891f5019f0a" }, + "lazy.nvim": { "branch": "main", "commit": "7967abe55752aa90532e6bb4bd4663fe27a264cb" }, "lazygit.nvim": { "branch": "main", "commit": "dc56df433bfbf107fee0139e187eb9750878fa84" }, "lualine.nvim": { "branch": "master", "commit": "6a40b530539d2209f7dc0492f3681c8c126647ad" }, "mason-lspconfig.nvim": { "branch": "main", "commit": "37a336b653f8594df75c827ed589f1c91d91ff6c" }, @@ -64,6 +63,7 @@ "telescope.nvim": { "branch": "master", "commit": "a0bbec21143c7bc5f8bb02e0005fa0b982edc026" }, "tfm.nvim": { "branch": "main", "commit": "fb0de2c96bf303216ac5d91ce9bdb7f430030f8b" }, "todo-comments.nvim": { "branch": "main", "commit": "d61567557e2ff5c548c74e96b2d9f8d33e5fcb34" }, + "tree-sitter-nu": { "branch": "main", "commit": "7e0f16f608a9e804fae61430ade734f9f849fb80" }, "treesj": { "branch": "main", "commit": "6e8bd008bacd5ad001c3953017c1dca20709e915" }, "trouble.nvim": { "branch": "main", "commit": "03c1fbf518bef683422a3be9643c3da190903488" }, "ts-node-action": { "branch": "master", "commit": "6d3b60754fd87963d70eadaa2f77873b447eac26" }, diff --git a/chezmoi/dot_config/nvim/lua/aleidk/autocmds.lua b/config/nvim/lua/aleidk/autocmds.lua similarity index 100% rename from chezmoi/dot_config/nvim/lua/aleidk/autocmds.lua rename to config/nvim/lua/aleidk/autocmds.lua diff --git a/chezmoi/dot_config/nvim/lua/aleidk/constants.lua b/config/nvim/lua/aleidk/constants.lua similarity index 100% rename from chezmoi/dot_config/nvim/lua/aleidk/constants.lua rename to config/nvim/lua/aleidk/constants.lua diff --git a/chezmoi/dot_config/nvim/lua/aleidk/keymaps.lua b/config/nvim/lua/aleidk/keymaps.lua similarity index 100% rename from chezmoi/dot_config/nvim/lua/aleidk/keymaps.lua rename to config/nvim/lua/aleidk/keymaps.lua diff --git a/chezmoi/dot_config/nvim/lua/aleidk/options.lua b/config/nvim/lua/aleidk/options.lua similarity index 100% rename from chezmoi/dot_config/nvim/lua/aleidk/options.lua rename to config/nvim/lua/aleidk/options.lua diff --git a/chezmoi/dot_config/nvim/lua/aleidk/plugins/ai.lua b/config/nvim/lua/aleidk/plugins/ai.lua similarity index 100% rename from chezmoi/dot_config/nvim/lua/aleidk/plugins/ai.lua rename to config/nvim/lua/aleidk/plugins/ai.lua diff --git a/chezmoi/dot_config/nvim/lua/aleidk/plugins/auto-pairs.lua b/config/nvim/lua/aleidk/plugins/auto-pairs.lua similarity index 100% rename from chezmoi/dot_config/nvim/lua/aleidk/plugins/auto-pairs.lua rename to config/nvim/lua/aleidk/plugins/auto-pairs.lua diff --git a/chezmoi/dot_config/nvim/lua/aleidk/plugins/bookmarks.lua b/config/nvim/lua/aleidk/plugins/bookmarks.lua similarity index 100% rename from chezmoi/dot_config/nvim/lua/aleidk/plugins/bookmarks.lua rename to config/nvim/lua/aleidk/plugins/bookmarks.lua diff --git a/chezmoi/dot_config/nvim/lua/aleidk/plugins/colorscheme.lua b/config/nvim/lua/aleidk/plugins/colorscheme.lua similarity index 100% rename from chezmoi/dot_config/nvim/lua/aleidk/plugins/colorscheme.lua rename to config/nvim/lua/aleidk/plugins/colorscheme.lua diff --git a/chezmoi/dot_config/nvim/lua/aleidk/plugins/comments.lua b/config/nvim/lua/aleidk/plugins/comments.lua similarity index 100% rename from chezmoi/dot_config/nvim/lua/aleidk/plugins/comments.lua rename to config/nvim/lua/aleidk/plugins/comments.lua diff --git a/chezmoi/dot_config/nvim/lua/aleidk/plugins/completion.lua b/config/nvim/lua/aleidk/plugins/completion.lua similarity index 100% rename from chezmoi/dot_config/nvim/lua/aleidk/plugins/completion.lua rename to config/nvim/lua/aleidk/plugins/completion.lua diff --git a/chezmoi/dot_config/nvim/lua/aleidk/plugins/dashboard.lua b/config/nvim/lua/aleidk/plugins/dashboard.lua similarity index 100% rename from chezmoi/dot_config/nvim/lua/aleidk/plugins/dashboard.lua rename to config/nvim/lua/aleidk/plugins/dashboard.lua diff --git a/chezmoi/dot_config/nvim/lua/aleidk/plugins/database.lua b/config/nvim/lua/aleidk/plugins/database.lua similarity index 100% rename from chezmoi/dot_config/nvim/lua/aleidk/plugins/database.lua rename to config/nvim/lua/aleidk/plugins/database.lua diff --git a/chezmoi/dot_config/nvim/lua/aleidk/plugins/debugprint.lua b/config/nvim/lua/aleidk/plugins/debugprint.lua similarity index 100% rename from chezmoi/dot_config/nvim/lua/aleidk/plugins/debugprint.lua rename to config/nvim/lua/aleidk/plugins/debugprint.lua diff --git a/chezmoi/dot_config/nvim/lua/aleidk/plugins/dressing.lua b/config/nvim/lua/aleidk/plugins/dressing.lua similarity index 100% rename from chezmoi/dot_config/nvim/lua/aleidk/plugins/dressing.lua rename to config/nvim/lua/aleidk/plugins/dressing.lua diff --git a/chezmoi/dot_config/nvim/lua/aleidk/plugins/file-browser.lua b/config/nvim/lua/aleidk/plugins/file-browser.lua similarity index 100% rename from chezmoi/dot_config/nvim/lua/aleidk/plugins/file-browser.lua rename to config/nvim/lua/aleidk/plugins/file-browser.lua diff --git a/chezmoi/dot_config/nvim/lua/aleidk/plugins/file-explorer.lua b/config/nvim/lua/aleidk/plugins/file-explorer.lua similarity index 100% rename from chezmoi/dot_config/nvim/lua/aleidk/plugins/file-explorer.lua rename to config/nvim/lua/aleidk/plugins/file-explorer.lua diff --git a/chezmoi/dot_config/nvim/lua/aleidk/plugins/formatter.lua b/config/nvim/lua/aleidk/plugins/formatter.lua similarity index 100% rename from chezmoi/dot_config/nvim/lua/aleidk/plugins/formatter.lua rename to config/nvim/lua/aleidk/plugins/formatter.lua diff --git a/chezmoi/dot_config/nvim/lua/aleidk/plugins/git.lua b/config/nvim/lua/aleidk/plugins/git.lua similarity index 100% rename from chezmoi/dot_config/nvim/lua/aleidk/plugins/git.lua rename to config/nvim/lua/aleidk/plugins/git.lua diff --git a/chezmoi/dot_config/nvim/lua/aleidk/plugins/http.lua b/config/nvim/lua/aleidk/plugins/http.lua similarity index 100% rename from chezmoi/dot_config/nvim/lua/aleidk/plugins/http.lua rename to config/nvim/lua/aleidk/plugins/http.lua diff --git a/chezmoi/dot_config/nvim/lua/aleidk/plugins/indent-blankline.lua b/config/nvim/lua/aleidk/plugins/indent-blankline.lua similarity index 100% rename from chezmoi/dot_config/nvim/lua/aleidk/plugins/indent-blankline.lua rename to config/nvim/lua/aleidk/plugins/indent-blankline.lua diff --git a/chezmoi/dot_config/nvim/lua/aleidk/plugins/init.lua b/config/nvim/lua/aleidk/plugins/init.lua similarity index 100% rename from chezmoi/dot_config/nvim/lua/aleidk/plugins/init.lua rename to config/nvim/lua/aleidk/plugins/init.lua diff --git a/chezmoi/dot_config/nvim/lua/aleidk/plugins/key-help.lua b/config/nvim/lua/aleidk/plugins/key-help.lua similarity index 100% rename from chezmoi/dot_config/nvim/lua/aleidk/plugins/key-help.lua rename to config/nvim/lua/aleidk/plugins/key-help.lua diff --git a/chezmoi/dot_config/nvim/lua/aleidk/plugins/linters.lua b/config/nvim/lua/aleidk/plugins/linters.lua similarity index 100% rename from chezmoi/dot_config/nvim/lua/aleidk/plugins/linters.lua rename to config/nvim/lua/aleidk/plugins/linters.lua diff --git a/chezmoi/dot_config/nvim/lua/aleidk/plugins/lsp.lua b/config/nvim/lua/aleidk/plugins/lsp.lua similarity index 100% rename from chezmoi/dot_config/nvim/lua/aleidk/plugins/lsp.lua rename to config/nvim/lua/aleidk/plugins/lsp.lua diff --git a/chezmoi/dot_config/nvim/lua/aleidk/plugins/lualine.lua b/config/nvim/lua/aleidk/plugins/lualine.lua similarity index 100% rename from chezmoi/dot_config/nvim/lua/aleidk/plugins/lualine.lua rename to config/nvim/lua/aleidk/plugins/lualine.lua diff --git a/chezmoi/dot_config/nvim/lua/aleidk/plugins/luasnip.lua b/config/nvim/lua/aleidk/plugins/luasnip.lua similarity index 100% rename from chezmoi/dot_config/nvim/lua/aleidk/plugins/luasnip.lua rename to config/nvim/lua/aleidk/plugins/luasnip.lua diff --git a/chezmoi/dot_config/nvim/lua/aleidk/plugins/markdown.lua b/config/nvim/lua/aleidk/plugins/markdown.lua similarity index 100% rename from chezmoi/dot_config/nvim/lua/aleidk/plugins/markdown.lua rename to config/nvim/lua/aleidk/plugins/markdown.lua diff --git a/chezmoi/dot_config/nvim/lua/aleidk/plugins/mason.lua b/config/nvim/lua/aleidk/plugins/mason.lua similarity index 100% rename from chezmoi/dot_config/nvim/lua/aleidk/plugins/mason.lua rename to config/nvim/lua/aleidk/plugins/mason.lua diff --git a/chezmoi/dot_config/nvim/lua/aleidk/plugins/noice.lua b/config/nvim/lua/aleidk/plugins/noice.lua similarity index 100% rename from chezmoi/dot_config/nvim/lua/aleidk/plugins/noice.lua rename to config/nvim/lua/aleidk/plugins/noice.lua diff --git a/chezmoi/dot_config/nvim/lua/aleidk/plugins/pretty-fold.lua b/config/nvim/lua/aleidk/plugins/pretty-fold.lua similarity index 100% rename from chezmoi/dot_config/nvim/lua/aleidk/plugins/pretty-fold.lua rename to config/nvim/lua/aleidk/plugins/pretty-fold.lua diff --git a/chezmoi/dot_config/nvim/lua/aleidk/plugins/quickfix.lua b/config/nvim/lua/aleidk/plugins/quickfix.lua similarity index 100% rename from chezmoi/dot_config/nvim/lua/aleidk/plugins/quickfix.lua rename to config/nvim/lua/aleidk/plugins/quickfix.lua diff --git a/chezmoi/dot_config/nvim/lua/aleidk/plugins/remote-sshfs.lua b/config/nvim/lua/aleidk/plugins/remote-sshfs.lua similarity index 100% rename from chezmoi/dot_config/nvim/lua/aleidk/plugins/remote-sshfs.lua rename to config/nvim/lua/aleidk/plugins/remote-sshfs.lua diff --git a/chezmoi/dot_config/nvim/lua/aleidk/plugins/sessions.lua b/config/nvim/lua/aleidk/plugins/sessions.lua similarity index 100% rename from chezmoi/dot_config/nvim/lua/aleidk/plugins/sessions.lua rename to config/nvim/lua/aleidk/plugins/sessions.lua diff --git a/chezmoi/dot_config/nvim/lua/aleidk/plugins/smart-splits.lua b/config/nvim/lua/aleidk/plugins/smart-splits.lua similarity index 100% rename from chezmoi/dot_config/nvim/lua/aleidk/plugins/smart-splits.lua rename to config/nvim/lua/aleidk/plugins/smart-splits.lua diff --git a/chezmoi/dot_config/nvim/lua/aleidk/plugins/surround.lua b/config/nvim/lua/aleidk/plugins/surround.lua similarity index 100% rename from chezmoi/dot_config/nvim/lua/aleidk/plugins/surround.lua rename to config/nvim/lua/aleidk/plugins/surround.lua diff --git a/chezmoi/dot_config/nvim/lua/aleidk/plugins/task-runner.lua b/config/nvim/lua/aleidk/plugins/task-runner.lua similarity index 100% rename from chezmoi/dot_config/nvim/lua/aleidk/plugins/task-runner.lua rename to config/nvim/lua/aleidk/plugins/task-runner.lua diff --git a/chezmoi/dot_config/nvim/lua/aleidk/plugins/telescope.lua b/config/nvim/lua/aleidk/plugins/telescope.lua similarity index 100% rename from chezmoi/dot_config/nvim/lua/aleidk/plugins/telescope.lua rename to config/nvim/lua/aleidk/plugins/telescope.lua diff --git a/chezmoi/dot_config/nvim/lua/aleidk/plugins/todo-comments.lua b/config/nvim/lua/aleidk/plugins/todo-comments.lua similarity index 100% rename from chezmoi/dot_config/nvim/lua/aleidk/plugins/todo-comments.lua rename to config/nvim/lua/aleidk/plugins/todo-comments.lua diff --git a/chezmoi/dot_config/nvim/lua/aleidk/plugins/treesitter.lua b/config/nvim/lua/aleidk/plugins/treesitter.lua similarity index 88% rename from chezmoi/dot_config/nvim/lua/aleidk/plugins/treesitter.lua rename to config/nvim/lua/aleidk/plugins/treesitter.lua index 6246d99..73616e1 100644 --- a/chezmoi/dot_config/nvim/lua/aleidk/plugins/treesitter.lua +++ b/config/nvim/lua/aleidk/plugins/treesitter.lua @@ -7,30 +7,12 @@ return { "JoosepAlviste/nvim-ts-context-commentstring", "nvim-treesitter/nvim-treesitter-context", { "windwp/nvim-ts-autotag", opts = {} }, + { "nushell/tree-sitter-nu", build = ":TSUpdate nu" }, }, build = ":TSUpdate", config = function() ---@diagnostic disable-next-line: missing-fields require("nvim-treesitter.configs").setup({ - -- Add languages to be installed here that you want installed for treesitter - ensure_installed = { - "bash", - "c", - "cpp", - "go", - "lua", - "markdown", - "markdown_inline", - "python", - "regex", - "rust", - "sql", - "tsx", - "javascript", - "typescript", - "vim", - "vimdoc", - }, -- Autoinstall languages that are not installed. Defaults to false (but you can change for yourself!) auto_install = true, highlight = { enable = true }, diff --git a/chezmoi/dot_config/nvim/lua/aleidk/plugins/trouble.lua b/config/nvim/lua/aleidk/plugins/trouble.lua similarity index 100% rename from chezmoi/dot_config/nvim/lua/aleidk/plugins/trouble.lua rename to config/nvim/lua/aleidk/plugins/trouble.lua diff --git a/chezmoi/dot_config/nvim/lua/aleidk/plugins/ts-node-action.lua b/config/nvim/lua/aleidk/plugins/ts-node-action.lua similarity index 100% rename from chezmoi/dot_config/nvim/lua/aleidk/plugins/ts-node-action.lua rename to config/nvim/lua/aleidk/plugins/ts-node-action.lua diff --git a/chezmoi/dot_config/nvim/lua/aleidk/plugins/zen.lua b/config/nvim/lua/aleidk/plugins/zen.lua similarity index 100% rename from chezmoi/dot_config/nvim/lua/aleidk/plugins/zen.lua rename to config/nvim/lua/aleidk/plugins/zen.lua diff --git a/chezmoi/dot_config/php-cs-fixer-conf.php b/config/php-cs-fixer-conf.php similarity index 100% rename from chezmoi/dot_config/php-cs-fixer-conf.php rename to config/php-cs-fixer-conf.php diff --git a/chezmoi/dot_config/pycodestyle b/config/pycodestyle similarity index 100% rename from chezmoi/dot_config/pycodestyle rename to config/pycodestyle diff --git a/chezmoi/dot_config/river/executable_init b/config/river/executable_init similarity index 100% rename from chezmoi/dot_config/river/executable_init rename to config/river/executable_init diff --git a/chezmoi/dot_config/river/init.lua b/config/river/init.lua similarity index 100% rename from chezmoi/dot_config/river/init.lua rename to config/river/init.lua diff --git a/chezmoi/dot_config/river/logger.lua b/config/river/logger.lua similarity index 100% rename from chezmoi/dot_config/river/logger.lua rename to config/river/logger.lua diff --git a/chezmoi/dot_config/river/river.lua b/config/river/river.lua similarity index 100% rename from chezmoi/dot_config/river/river.lua rename to config/river/river.lua diff --git a/chezmoi/dot_config/sesh/sesh.toml b/config/sesh/sesh.toml similarity index 100% rename from chezmoi/dot_config/sesh/sesh.toml rename to config/sesh/sesh.toml diff --git a/chezmoi/dot_config/starship.toml b/config/starship.toml similarity index 100% rename from chezmoi/dot_config/starship.toml rename to config/starship.toml diff --git a/chezmoi/dot_config/swappy/config b/config/swappy/config similarity index 100% rename from chezmoi/dot_config/swappy/config rename to config/swappy/config diff --git a/chezmoi/dot_config/sway/config b/config/sway/config similarity index 100% rename from chezmoi/dot_config/sway/config rename to config/sway/config diff --git a/chezmoi/dot_config/sway/executable_autorotate b/config/sway/executable_autorotate similarity index 100% rename from chezmoi/dot_config/sway/executable_autorotate rename to config/sway/executable_autorotate diff --git a/chezmoi/dot_config/sway/executable_lock.sh b/config/sway/executable_lock.sh similarity index 100% rename from chezmoi/dot_config/sway/executable_lock.sh rename to config/sway/executable_lock.sh diff --git a/chezmoi/dot_config/sway/executable_sway-bar.sh b/config/sway/executable_sway-bar.sh similarity index 100% rename from chezmoi/dot_config/sway/executable_sway-bar.sh rename to config/sway/executable_sway-bar.sh diff --git a/chezmoi/dot_config/sway/themes/catppuccin/.keep b/config/sway/themes/catppuccin/.keep similarity index 100% rename from chezmoi/dot_config/sway/themes/catppuccin/.keep rename to config/sway/themes/catppuccin/.keep diff --git a/chezmoi/dot_config/tmux/tmux.conf b/config/tmux/tmux.conf similarity index 100% rename from chezmoi/dot_config/tmux/tmux.conf rename to config/tmux/tmux.conf diff --git a/chezmoi/dot_config/vimiv/keys.conf b/config/vimiv/keys.conf similarity index 100% rename from chezmoi/dot_config/vimiv/keys.conf rename to config/vimiv/keys.conf diff --git a/chezmoi/dot_config/vimiv/styles/default b/config/vimiv/styles/default similarity index 100% rename from chezmoi/dot_config/vimiv/styles/default rename to config/vimiv/styles/default diff --git a/chezmoi/dot_config/vimiv/styles/material-darker b/config/vimiv/styles/material-darker similarity index 100% rename from chezmoi/dot_config/vimiv/styles/material-darker rename to config/vimiv/styles/material-darker diff --git a/chezmoi/dot_config/vimiv/vimiv.conf b/config/vimiv/vimiv.conf similarity index 100% rename from chezmoi/dot_config/vimiv/vimiv.conf rename to config/vimiv/vimiv.conf diff --git a/chezmoi/dot_config/waybar/config b/config/waybar/config similarity index 100% rename from chezmoi/dot_config/waybar/config rename to config/waybar/config diff --git a/chezmoi/dot_config/waybar/style.css b/config/waybar/style.css similarity index 100% rename from chezmoi/dot_config/waybar/style.css rename to config/waybar/style.css diff --git a/chezmoi/dot_config/waybar/themes/catppuccin/LICENSE b/config/waybar/themes/catppuccin/LICENSE similarity index 100% rename from chezmoi/dot_config/waybar/themes/catppuccin/LICENSE rename to config/waybar/themes/catppuccin/LICENSE diff --git a/chezmoi/dot_config/waybar/themes/catppuccin/README.md b/config/waybar/themes/catppuccin/README.md similarity index 100% rename from chezmoi/dot_config/waybar/themes/catppuccin/README.md rename to config/waybar/themes/catppuccin/README.md diff --git a/chezmoi/dot_config/waybar/themes/catppuccin/assets/empty_dot_gitkeep b/config/waybar/themes/catppuccin/assets/empty_dot_gitkeep similarity index 100% rename from chezmoi/dot_config/waybar/themes/catppuccin/assets/empty_dot_gitkeep rename to config/waybar/themes/catppuccin/assets/empty_dot_gitkeep diff --git a/chezmoi/dot_config/waybar/themes/catppuccin/assets/frappe.webp b/config/waybar/themes/catppuccin/assets/frappe.webp similarity index 100% rename from chezmoi/dot_config/waybar/themes/catppuccin/assets/frappe.webp rename to config/waybar/themes/catppuccin/assets/frappe.webp diff --git a/chezmoi/dot_config/waybar/themes/catppuccin/assets/latte.webp b/config/waybar/themes/catppuccin/assets/latte.webp similarity index 100% rename from chezmoi/dot_config/waybar/themes/catppuccin/assets/latte.webp rename to config/waybar/themes/catppuccin/assets/latte.webp diff --git a/chezmoi/dot_config/waybar/themes/catppuccin/assets/macchiato.webp b/config/waybar/themes/catppuccin/assets/macchiato.webp similarity index 100% rename from chezmoi/dot_config/waybar/themes/catppuccin/assets/macchiato.webp rename to config/waybar/themes/catppuccin/assets/macchiato.webp diff --git a/chezmoi/dot_config/waybar/themes/catppuccin/assets/mocha.webp b/config/waybar/themes/catppuccin/assets/mocha.webp similarity index 100% rename from chezmoi/dot_config/waybar/themes/catppuccin/assets/mocha.webp rename to config/waybar/themes/catppuccin/assets/mocha.webp diff --git a/chezmoi/dot_config/waybar/themes/catppuccin/assets/preview.webp b/config/waybar/themes/catppuccin/assets/preview.webp similarity index 100% rename from chezmoi/dot_config/waybar/themes/catppuccin/assets/preview.webp rename to config/waybar/themes/catppuccin/assets/preview.webp diff --git a/chezmoi/dot_config/waybar/themes/catppuccin/dot_catppuccin.yaml b/config/waybar/themes/catppuccin/dot_catppuccin.yaml similarity index 100% rename from chezmoi/dot_config/waybar/themes/catppuccin/dot_catppuccin.yaml rename to config/waybar/themes/catppuccin/dot_catppuccin.yaml diff --git a/chezmoi/dot_config/waybar/themes/catppuccin/dot_editorconfig b/config/waybar/themes/catppuccin/dot_editorconfig similarity index 100% rename from chezmoi/dot_config/waybar/themes/catppuccin/dot_editorconfig rename to config/waybar/themes/catppuccin/dot_editorconfig diff --git a/chezmoi/dot_config/waybar/themes/catppuccin/dot_git b/config/waybar/themes/catppuccin/dot_git similarity index 100% rename from chezmoi/dot_config/waybar/themes/catppuccin/dot_git rename to config/waybar/themes/catppuccin/dot_git diff --git a/chezmoi/dot_config/waybar/themes/catppuccin/themes/frappe.css b/config/waybar/themes/catppuccin/themes/frappe.css similarity index 100% rename from chezmoi/dot_config/waybar/themes/catppuccin/themes/frappe.css rename to config/waybar/themes/catppuccin/themes/frappe.css diff --git a/chezmoi/dot_config/waybar/themes/catppuccin/themes/latte.css b/config/waybar/themes/catppuccin/themes/latte.css similarity index 100% rename from chezmoi/dot_config/waybar/themes/catppuccin/themes/latte.css rename to config/waybar/themes/catppuccin/themes/latte.css diff --git a/chezmoi/dot_config/waybar/themes/catppuccin/themes/macchiato.css b/config/waybar/themes/catppuccin/themes/macchiato.css similarity index 100% rename from chezmoi/dot_config/waybar/themes/catppuccin/themes/macchiato.css rename to config/waybar/themes/catppuccin/themes/macchiato.css diff --git a/chezmoi/dot_config/waybar/themes/catppuccin/themes/mocha.css b/config/waybar/themes/catppuccin/themes/mocha.css similarity index 100% rename from chezmoi/dot_config/waybar/themes/catppuccin/themes/mocha.css rename to config/waybar/themes/catppuccin/themes/mocha.css diff --git a/chezmoi/dot_config/wezterm/wezterm.lua b/config/wezterm/wezterm.lua similarity index 100% rename from chezmoi/dot_config/wezterm/wezterm.lua rename to config/wezterm/wezterm.lua diff --git a/chezmoi/dot_config/yazi/init.lua b/config/yazi/init.lua similarity index 100% rename from chezmoi/dot_config/yazi/init.lua rename to config/yazi/init.lua diff --git a/chezmoi/dot_config/yazi/keymap.toml b/config/yazi/keymap.toml similarity index 100% rename from chezmoi/dot_config/yazi/keymap.toml rename to config/yazi/keymap.toml diff --git a/chezmoi/dot_config/yazi/original_package.toml b/config/yazi/package.toml similarity index 100% rename from chezmoi/dot_config/yazi/original_package.toml rename to config/yazi/package.toml diff --git a/chezmoi/dot_config/yazi/plugins/.keep b/config/yazi/plugins/.keep similarity index 100% rename from chezmoi/dot_config/yazi/plugins/.keep rename to config/yazi/plugins/.keep diff --git a/chezmoi/dot_config/yazi/theme.toml b/config/yazi/theme.toml similarity index 100% rename from chezmoi/dot_config/yazi/theme.toml rename to config/yazi/theme.toml diff --git a/chezmoi/dot_config/yazi/yazi.toml b/config/yazi/yazi.toml similarity index 100% rename from chezmoi/dot_config/yazi/yazi.toml rename to config/yazi/yazi.toml diff --git a/chezmoi/dot_config/zed/keymap.json b/config/zed/keymap.json similarity index 100% rename from chezmoi/dot_config/zed/keymap.json rename to config/zed/keymap.json diff --git a/chezmoi/dot_config/zed/private_settings.json b/config/zed/private_settings.json similarity index 100% rename from chezmoi/dot_config/zed/private_settings.json rename to config/zed/private_settings.json diff --git a/chezmoi/dot_config/zed/themes/.keep b/config/zed/themes/.keep similarity index 100% rename from chezmoi/dot_config/zed/themes/.keep rename to config/zed/themes/.keep diff --git a/chezmoi/dot_config/zellij/config.kdl b/config/zellij/config.kdl similarity index 100% rename from chezmoi/dot_config/zellij/config.kdl rename to config/zellij/config.kdl diff --git a/chezmoi/dot_config/zellij/themes/catppuccin.kdl b/config/zellij/themes/catppuccin.kdl similarity index 100% rename from chezmoi/dot_config/zellij/themes/catppuccin.kdl rename to config/zellij/themes/catppuccin.kdl diff --git a/chezmoi/dot_config/zk/config.toml b/config/zk/config.toml similarity index 100% rename from chezmoi/dot_config/zk/config.toml rename to config/zk/config.toml diff --git a/chezmoi/dot_config/zsh/aliases/aliases.zsh b/config/zsh/aliases/aliases.zsh similarity index 100% rename from chezmoi/dot_config/zsh/aliases/aliases.zsh rename to config/zsh/aliases/aliases.zsh diff --git a/chezmoi/dot_config/zsh/aliases/configs.zsh b/config/zsh/aliases/configs.zsh similarity index 100% rename from chezmoi/dot_config/zsh/aliases/configs.zsh rename to config/zsh/aliases/configs.zsh diff --git a/chezmoi/dot_config/zsh/aliases/fzf.zsh b/config/zsh/aliases/fzf.zsh similarity index 100% rename from chezmoi/dot_config/zsh/aliases/fzf.zsh rename to config/zsh/aliases/fzf.zsh diff --git a/chezmoi/dot_config/zsh/aliases/nvim.zsh b/config/zsh/aliases/nvim.zsh similarity index 100% rename from chezmoi/dot_config/zsh/aliases/nvim.zsh rename to config/zsh/aliases/nvim.zsh diff --git a/chezmoi/dot_config/zsh/aliases/pnpm.zsh b/config/zsh/aliases/pnpm.zsh similarity index 100% rename from chezmoi/dot_config/zsh/aliases/pnpm.zsh rename to config/zsh/aliases/pnpm.zsh diff --git a/chezmoi/dot_config/zsh/completions/_alacritty b/config/zsh/completions/_alacritty similarity index 100% rename from chezmoi/dot_config/zsh/completions/_alacritty rename to config/zsh/completions/_alacritty diff --git a/chezmoi/dot_config/zsh/completions/_cargo b/config/zsh/completions/_cargo similarity index 100% rename from chezmoi/dot_config/zsh/completions/_cargo rename to config/zsh/completions/_cargo diff --git a/chezmoi/dot_config/zsh/completions/_chezmoi b/config/zsh/completions/_chezmoi similarity index 100% rename from chezmoi/dot_config/zsh/completions/_chezmoi rename to config/zsh/completions/_chezmoi diff --git a/chezmoi/dot_config/zsh/completions/_cht b/config/zsh/completions/_cht similarity index 100% rename from chezmoi/dot_config/zsh/completions/_cht rename to config/zsh/completions/_cht diff --git a/chezmoi/dot_config/zsh/completions/_globdots b/config/zsh/completions/_globdots similarity index 100% rename from chezmoi/dot_config/zsh/completions/_globdots rename to config/zsh/completions/_globdots diff --git a/chezmoi/dot_config/zsh/completions/_lsd b/config/zsh/completions/_lsd similarity index 100% rename from chezmoi/dot_config/zsh/completions/_lsd rename to config/zsh/completions/_lsd diff --git a/chezmoi/dot_config/zsh/completions/_rg b/config/zsh/completions/_rg similarity index 100% rename from chezmoi/dot_config/zsh/completions/_rg rename to config/zsh/completions/_rg diff --git a/chezmoi/dot_config/zsh/completions/_rtx b/config/zsh/completions/_rtx similarity index 100% rename from chezmoi/dot_config/zsh/completions/_rtx rename to config/zsh/completions/_rtx diff --git a/chezmoi/dot_config/zsh/completions/_rye b/config/zsh/completions/_rye similarity index 100% rename from chezmoi/dot_config/zsh/completions/_rye rename to config/zsh/completions/_rye diff --git a/chezmoi/dot_config/zsh/completions/_starship b/config/zsh/completions/_starship similarity index 100% rename from chezmoi/dot_config/zsh/completions/_starship rename to config/zsh/completions/_starship diff --git a/chezmoi/dot_config/zsh/completions/_tea b/config/zsh/completions/_tea similarity index 100% rename from chezmoi/dot_config/zsh/completions/_tea rename to config/zsh/completions/_tea diff --git a/chezmoi/dot_config/zsh/completions/_tldr b/config/zsh/completions/_tldr similarity index 100% rename from chezmoi/dot_config/zsh/completions/_tldr rename to config/zsh/completions/_tldr diff --git a/chezmoi/dot_config/zsh/completions/_zellij b/config/zsh/completions/_zellij similarity index 100% rename from chezmoi/dot_config/zsh/completions/_zellij rename to config/zsh/completions/_zellij diff --git a/chezmoi/dot_config/zsh/functions/fedora.zsh b/config/zsh/functions/fedora.zsh similarity index 100% rename from chezmoi/dot_config/zsh/functions/fedora.zsh rename to config/zsh/functions/fedora.zsh diff --git a/chezmoi/dot_config/zsh/functions/flatpak.zsh b/config/zsh/functions/flatpak.zsh similarity index 100% rename from chezmoi/dot_config/zsh/functions/flatpak.zsh rename to config/zsh/functions/flatpak.zsh diff --git a/chezmoi/dot_config/zsh/functions/functions.zsh b/config/zsh/functions/functions.zsh similarity index 100% rename from chezmoi/dot_config/zsh/functions/functions.zsh rename to config/zsh/functions/functions.zsh diff --git a/chezmoi/executable_dot_zprofile.tmpl b/config/zsh/zprofile similarity index 96% rename from chezmoi/executable_dot_zprofile.tmpl rename to config/zsh/zprofile index c4db92a..cf0977d 100644 --- a/chezmoi/executable_dot_zprofile.tmpl +++ b/config/zsh/zprofile @@ -10,7 +10,6 @@ export EDITOR=nvim export VISUAL="$EDITOR" export QT_STYLE_OVERRIDE=kvantum export MOZ_ENABLE_WAYLAND=1 -export OPENAI_API_KEY="{{ .openAIKey }}" # Dev Stuff export NPM_PACKAGES="$HOME/.npm-packages" diff --git a/chezmoi/executable_dot_zshrc b/config/zsh/zshrc similarity index 97% rename from chezmoi/executable_dot_zshrc rename to config/zsh/zshrc index 75a2f88..158a105 100644 --- a/chezmoi/executable_dot_zshrc +++ b/config/zsh/zshrc @@ -9,6 +9,10 @@ # Set the directory we want to store zinit and plugins ZINIT_HOME="${XDG_DATA_HOME:-${HOME}/.local/share}/zinit" +# Auto install zinit +[ ! -d $ZINIT_HOME ] && mkdir -p "$(dirname $ZINIT_HOME)" +[ ! -d $ZINIT_HOME/.git ] && git clone https://github.com/zdharma-continuum/zinit.git "$ZINIT_HOME" + # Source/Load zinit, installation is handle by chezmoi external script source "${ZINIT_HOME}/zinit.zsh" @@ -139,4 +143,4 @@ done eval "$(fzf --zsh)" eval "$(zoxide init --cmd cd zsh)" eval "$(starship init zsh)" -eval "$(mise activate zsh)" +# eval "$(mise activate zsh)" From 6df1940eb8634c2fe89aa20a1729028d0019115f Mon Sep 17 00:00:00 2001 From: aleidk Date: Wed, 13 Nov 2024 13:06:15 -0300 Subject: [PATCH 02/31] fix nvim-tmux navigation inside distrobox --- config/nvim/lua/aleidk/plugins/lsp.lua | 3 +- config/nvim/lua/aleidk/plugins/mason.lua | 11 +- config/starship.toml | 193 +++++++---------------- config/tmux/tmux.conf | 2 +- config/zsh/aliases/aliases.zsh | 1 + config/zsh/zprofile | 4 +- 6 files changed, 64 insertions(+), 150 deletions(-) diff --git a/config/nvim/lua/aleidk/plugins/lsp.lua b/config/nvim/lua/aleidk/plugins/lsp.lua index 8512c8d..4a4c40d 100644 --- a/config/nvim/lua/aleidk/plugins/lsp.lua +++ b/config/nvim/lua/aleidk/plugins/lsp.lua @@ -158,7 +158,8 @@ return { mason_lspconfig.setup({ ensure_installed = vim.tbl_keys(servers), - automatic_installation = { exclude = { "astro", "phpactor", "gopls", "rust_analyzer", "sqlls" } }, + -- automatic_installation = { exclude = { "astro", "phpactor", "rust_analyzer", "sqlls" } }, + automatic_installation = false, }) mason_lspconfig.setup_handlers({ diff --git a/config/nvim/lua/aleidk/plugins/mason.lua b/config/nvim/lua/aleidk/plugins/mason.lua index cee4bfd..6353e53 100644 --- a/config/nvim/lua/aleidk/plugins/mason.lua +++ b/config/nvim/lua/aleidk/plugins/mason.lua @@ -4,15 +4,6 @@ return { keys = { { "um", "Mason", desc = "Mason" } }, build = ":MasonUpdate", opts = { - ensure_installed = { - "blue", - "ruff", - "eslint_d", - "markdownlint", - "nimlsp", - "prettierd", - "shellcheck", - "stylua", - }, + ensure_installed = {}, }, } diff --git a/config/starship.toml b/config/starship.toml index 8b3da4d..cf03107 100644 --- a/config/starship.toml +++ b/config/starship.toml @@ -1,149 +1,70 @@ # Get editor completions based on the config schema "$schema" = 'https://starship.rs/config-schema.json' +palette = "catppuccin_macchiato" + +format = "$directory\n$container$character" +right_format = "$all" + # Inserts a blank line between shell prompts -add_newline = true +add_newline = false -# Replace the '❯' symbol in the prompt with '➜' [character] # The name of the module we are configuring is 'character' -success_symbol = '[➜](bold green)' # The 'success_symbol' segment is being set to '➜' with the color 'bold green' +success_symbol = '[➜](bold green)' +error_symbol = '[➜](bold red)' -[aws] -symbol = " " - -[buf] -symbol = " " - -[c] -symbol = " " - -[conda] -symbol = " " - -[dart] -symbol = " " - -[directory] -read_only = " " - -[docker_context] -symbol = " " - -[elixir] -symbol = " " - -[elm] -symbol = " " - -[fossil_branch] -symbol = " " +[container] +symbol = "󰆧" +style = 'mauve' +format = '[$symbol \[$name\]]($style) ' [git_branch] -symbol = " " +symbol = "󰘬 " +format = '[$symbol$branch(:$remote_branch)]($style) ' + +[git_status] +style = '' +format = '([\[${all_status}${ahead_behind}\]]($style))' + +conflicted = ' ' +ahead = ' ' +behind = ' ' +diverged = ' ' +up_to_date = '[ ](green)' +untracked = ' ' +stashed = '󰮄 ' +modified = '[ \($count\)](peach) ' +staged = '[ \($count\)](green) ' +renamed = ' ' +deleted = '[ \($count\)](red) ' [golang] symbol = " " -[guix_shell] -symbol = " " - -[haskell] -symbol = " " - -[haxe] -symbol = "⌘ " - -[hg_branch] -symbol = " " - -[hostname] -ssh_symbol = " " - -[java] -symbol = " " - -[julia] -symbol = " " - -[lua] -symbol = " " - -[memory_usage] -symbol = " " - -[meson] -symbol = "喝 " - -[nim] -symbol = " " - -[nix_shell] -symbol = " " - -[nodejs] -symbol = " " - -[os.symbols] -Alpaquita = " " -Alpine = " " -Amazon = " " -Android = " " -Arch = " " -Artix = " " -CentOS = " " -Debian = " " -DragonFly = " " -Emscripten = " " -EndeavourOS = " " -Fedora = " " -FreeBSD = " " -Garuda = "﯑ " -Gentoo = " " -HardenedBSD = "ﲊ " -Illumos = " " -Linux = " " -Mabox = " " -Macos = " " -Manjaro = " " -Mariner = " " -MidnightBSD = " " -Mint = " " -NetBSD = " " -NixOS = " " -OpenBSD = " " -openSUSE = " " -OracleLinux = " " -Pop = " " -Raspbian = " " -Redhat = " " -RedHatEnterprise = " " -Redox = " " -Solus = "ﴱ " -SUSE = " " -Ubuntu = " " -Unknown = " " -Windows = " " - -[package] -symbol = " " - -[pijul_channel] -symbol = "🪺 " - -[python] -symbol = " " - -[rlang] -symbol = "ﳒ " - -[ruby] -symbol = " " - -[rust] -symbol = " " - -[scala] -symbol = " " - -[spack] -symbol = "🅢 " +[palettes.catppuccin_macchiato] +rosewater = "#f4dbd6" +flamingo = "#f0c6c6" +pink = "#f5bde6" +mauve = "#c6a0f6" +red = "#ed8796" +maroon = "#ee99a0" +peach = "#f5a97f" +yellow = "#eed49f" +green = "#a6da95" +teal = "#8bd5ca" +sky = "#91d7e3" +sapphire = "#7dc4e4" +blue = "#8aadf4" +lavender = "#b7bdf8" +text = "#cad3f5" +subtext1 = "#b8c0e0" +subtext0 = "#a5adcb" +overlay2 = "#939ab7" +overlay1 = "#8087a2" +overlay0 = "#6e738d" +surface2 = "#5b6078" +surface1 = "#494d64" +surface0 = "#363a4f" +base = "#24273a" +mantle = "#1e2030" +crust = "#181926" diff --git a/config/tmux/tmux.conf b/config/tmux/tmux.conf index c24df25..b65e8b1 100644 --- a/config/tmux/tmux.conf +++ b/config/tmux/tmux.conf @@ -188,7 +188,7 @@ TMUX_FZF_LAUNCH_KEY="w" TMUX_FZF_OPTIONS="-p -w 80% -h 60% -m" # Tmux Management -bind-key "f" run-shell "~/.local/share/chezmoi/scripts/fzf-tmux-sessions" +bind-key "f" run-shell "~/Repos/Private/dots/scripts/fzf-tmux-sessions" bind-key "F" run-shell -b "$HOME/.config/tmux/plugins/tmux-fzf/scripts/session.sh switch" # bind-key "F" run-shell -b "$HOME/.config/tmux/plugins/tmux-fzf/scripts/window.sh switch" diff --git a/config/zsh/aliases/aliases.zsh b/config/zsh/aliases/aliases.zsh index d0b7088..4f0a39a 100644 --- a/config/zsh/aliases/aliases.zsh +++ b/config/zsh/aliases/aliases.zsh @@ -45,6 +45,7 @@ alias \ pps="podman ps --format 'table {{.ID}}\t{{.Names}}\t{{.State}}\t{{.Status}}\t{{.RunningFor}}'" alias tm="fzf-tmux-sessions" +alias tmux="tmux -L $(hostname)" # allow to seamlessly create new servers inside containers # Misc alias \ diff --git a/config/zsh/zprofile b/config/zsh/zprofile index cf0977d..cd1614c 100644 --- a/config/zsh/zprofile +++ b/config/zsh/zprofile @@ -16,8 +16,8 @@ export NPM_PACKAGES="$HOME/.npm-packages" export NODE_PATH="$NPM_PACKAGES/lib/node_modules${NODE_PATH:+:$NODE_PATH}" export PNPM_HOME="$HOME/.local/share/pnpm" export ESLINT_USE_FLAT_CONFIG=true -. "$HOME/.cargo/env" -source "$HOME/.rye/env" +# . "$HOME/.cargo/env" +# source "$HOME/.rye/env" # Unset manpath so we can inherit from /etc/manpath via the `manpath` # command From c93597390077d7f105a8ed74d953863b78fc5e7f Mon Sep 17 00:00:00 2001 From: aleidk Date: Wed, 13 Nov 2024 13:06:38 -0300 Subject: [PATCH 03/31] remove nushell config --- config/nushell/config.nu | 898 --------------------------------------- config/nushell/env.nu | 101 ----- 2 files changed, 999 deletions(-) delete mode 100644 config/nushell/config.nu delete mode 100644 config/nushell/env.nu diff --git a/config/nushell/config.nu b/config/nushell/config.nu deleted file mode 100644 index 2917e52..0000000 --- a/config/nushell/config.nu +++ /dev/null @@ -1,898 +0,0 @@ -# Nushell Config File -# -# version = "0.99.1" - -# For more information on defining custom themes, see -# https://www.nushell.sh/book/coloring_and_theming.html -# And here is the theme collection -# https://github.com/nushell/nu_scripts/tree/main/themes -let dark_theme = { - # color for nushell primitives - separator: white - leading_trailing_space_bg: { attr: n } # no fg, no bg, attr none effectively turns this off - header: green_bold - empty: blue - # Closures can be used to choose colors for specific values. - # The value (in this case, a bool) is piped into the closure. - # eg) {|| if $in { 'light_cyan' } else { 'light_gray' } } - bool: light_cyan - int: white - filesize: cyan - duration: white - date: purple - range: white - float: white - string: white - nothing: white - binary: white - cell-path: white - row_index: green_bold - record: white - list: white - block: white - hints: dark_gray - search_result: { bg: red fg: white } - shape_and: purple_bold - shape_binary: purple_bold - shape_block: blue_bold - shape_bool: light_cyan - shape_closure: green_bold - shape_custom: green - shape_datetime: cyan_bold - shape_directory: cyan - shape_external: cyan - shape_externalarg: green_bold - shape_external_resolved: light_yellow_bold - shape_filepath: cyan - shape_flag: blue_bold - shape_float: purple_bold - # shapes are used to change the cli syntax highlighting - shape_garbage: { fg: white bg: red attr: b } - shape_glob_interpolation: cyan_bold - shape_globpattern: cyan_bold - shape_int: purple_bold - shape_internalcall: cyan_bold - shape_keyword: cyan_bold - shape_list: cyan_bold - shape_literal: blue - shape_match_pattern: green - shape_matching_brackets: { attr: u } - shape_nothing: light_cyan - shape_operator: yellow - shape_or: purple_bold - shape_pipe: purple_bold - shape_range: yellow_bold - shape_record: cyan_bold - shape_redirection: purple_bold - shape_signature: green_bold - shape_string: green - shape_string_interpolation: cyan_bold - shape_table: blue_bold - shape_variable: purple - shape_vardecl: purple - shape_raw_string: light_purple -} - -let light_theme = { - # color for nushell primitives - separator: dark_gray - leading_trailing_space_bg: { attr: n } # no fg, no bg, attr none effectively turns this off - header: green_bold - empty: blue - # Closures can be used to choose colors for specific values. - # The value (in this case, a bool) is piped into the closure. - # eg) {|| if $in { 'dark_cyan' } else { 'dark_gray' } } - bool: dark_cyan - int: dark_gray - filesize: cyan_bold - duration: dark_gray - date: purple - range: dark_gray - float: dark_gray - string: dark_gray - nothing: dark_gray - binary: dark_gray - cell-path: dark_gray - row_index: green_bold - record: dark_gray - list: dark_gray - block: dark_gray - hints: dark_gray - search_result: { fg: white bg: red } - shape_and: purple_bold - shape_binary: purple_bold - shape_block: blue_bold - shape_bool: light_cyan - shape_closure: green_bold - shape_custom: green - shape_datetime: cyan_bold - shape_directory: cyan - shape_external: cyan - shape_externalarg: green_bold - shape_external_resolved: light_purple_bold - shape_filepath: cyan - shape_flag: blue_bold - shape_float: purple_bold - # shapes are used to change the cli syntax highlighting - shape_garbage: { fg: white bg: red attr: b } - shape_glob_interpolation: cyan_bold - shape_globpattern: cyan_bold - shape_int: purple_bold - shape_internalcall: cyan_bold - shape_keyword: cyan_bold - shape_list: cyan_bold - shape_literal: blue - shape_match_pattern: green - shape_matching_brackets: { attr: u } - shape_nothing: light_cyan - shape_operator: yellow - shape_or: purple_bold - shape_pipe: purple_bold - shape_range: yellow_bold - shape_record: cyan_bold - shape_redirection: purple_bold - shape_signature: green_bold - shape_string: green - shape_string_interpolation: cyan_bold - shape_table: blue_bold - shape_variable: purple - shape_vardecl: purple - shape_raw_string: light_purple -} - -# External completer example -# let carapace_completer = {|spans| -# carapace $spans.0 nushell ...$spans | from json -# } - -# The default config record. This is where much of your global configuration is setup. -$env.config = { - show_banner: false # true or false to enable or disable the welcome banner at startup - - ls: { - use_ls_colors: true # use the LS_COLORS environment variable to colorize output - clickable_links: true # enable or disable clickable links. Your terminal has to support links. - } - - rm: { - always_trash: true # always act as if -t was given. Can be overridden with -p - } - - table: { - mode: compact # basic, compact, compact_double, light, thin, with_love, rounded, reinforced, heavy, none, other - index_mode: auto # "always" show indexes, "never" show indexes, "auto" = show indexes when a table has "index" column - show_empty: true # show 'empty list' and 'empty record' placeholders for command output - padding: { left: 1, right: 1 } # a left right padding of each column in a table - trim: { - methodology: wrapping # wrapping or truncating - wrapping_try_keep_words: true # A strategy used by the 'wrapping' methodology - truncating_suffix: "..." # A suffix used by the 'truncating' methodology - } - header_on_separator: false # show header text on separator/border line - # abbreviated_row_count: 10 # limit data rows from top and bottom after reaching a set point - } - - error_style: "fancy" # "fancy" or "plain" for screen reader-friendly error messages - - # Whether an error message should be printed if an error of a certain kind is triggered. - display_errors: { - exit_code: false # assume the external command prints an error message - # Core dump errors are always printed, and SIGPIPE never triggers an error. - # The setting below controls message printing for termination by all other signals. - termination_signal: true - } - - # datetime_format determines what a datetime rendered in the shell would look like. - # Behavior without this configuration point will be to "humanize" the datetime display, - # showing something like "a day ago." - datetime_format: { - # normal: '%a, %d %b %Y %H:%M:%S %z' # shows up in displays of variables or other datetime's outside of tables - # table: '%m/%d/%y %I:%M:%S%p' # generally shows up in tabular outputs such as ls. commenting this out will change it to the default human readable datetime format - } - - explore: { - status_bar_background: { fg: "#1D1F21", bg: "#C4C9C6" }, - command_bar_text: { fg: "#C4C9C6" }, - highlight: { fg: "black", bg: "yellow" }, - status: { - error: { fg: "white", bg: "red" }, - warn: {} - info: {} - }, - selected_cell: { bg: light_blue }, - } - - history: { - max_size: 100_000 # Session has to be reloaded for this to take effect - sync_on_enter: true # Enable to share history between multiple sessions, else you have to close the session to write history to file - file_format: "sqlite" # "sqlite" or "plaintext" - isolation: true # only available with sqlite file_format. true enables history isolation, false disables it. true will allow the history to be isolated to the current session using up/down arrows. false will allow the history to be shared across all sessions. - } - - completions: { - case_sensitive: false # set to true to enable case-sensitive completions - quick: true # set this to false to prevent auto-selecting completions when only one remains - partial: true # set this to false to prevent partial filling of the prompt - algorithm: "prefix" # prefix or fuzzy - sort: "smart" # "smart" (alphabetical for prefix matching, fuzzy score for fuzzy matching) or "alphabetical" - external: { - enable: true # set to false to prevent nushell looking into $env.PATH to find more suggestions, `false` recommended for WSL users as this look up may be very slow - max_results: 100 # setting it lower can improve completion performance at the cost of omitting some options - completer: null # check 'carapace_completer' above as an example - } - use_ls_colors: true # set this to true to enable file/path/directory completions using LS_COLORS - } - - filesize: { - metric: true # true => KB, MB, GB (ISO standard), false => KiB, MiB, GiB (Windows standard) - format: "auto" # b, kb, kib, mb, mib, gb, gib, tb, tib, pb, pib, eb, eib, auto - } - - cursor_shape: { - emacs: line # block, underscore, line, blink_block, blink_underscore, blink_line, inherit to skip setting cursor shape (line is the default) - vi_insert: line # block, underscore, line, blink_block, blink_underscore, blink_line, inherit to skip setting cursor shape (block is the default) - vi_normal: block # block, underscore, line, blink_block, blink_underscore, blink_line, inherit to skip setting cursor shape (underscore is the default) - } - - color_config: $dark_theme # if you want a more interesting theme, you can replace the empty record with `$dark_theme`, `$light_theme` or another custom record - footer_mode: 25 # always, never, number_of_rows, auto - float_precision: 2 # the precision for displaying floats in tables - buffer_editor: null # command that will be used to edit the current line buffer with ctrl+o, if unset fallback to $env.EDITOR and $env.VISUAL - use_ansi_coloring: true - bracketed_paste: true # enable bracketed paste, currently useless on windows - edit_mode: vi # emacs, vi - shell_integration: { - # osc2 abbreviates the path if in the home_dir, sets the tab/window title, shows the running command in the tab/window title - osc2: true - # osc7 is a way to communicate the path to the terminal, this is helpful for spawning new tabs in the same directory - osc7: true - # osc8 is also implemented as the deprecated setting ls.show_clickable_links, it shows clickable links in ls output if your terminal supports it. show_clickable_links is deprecated in favor of osc8 - osc8: true - # osc9_9 is from ConEmu and is starting to get wider support. It's similar to osc7 in that it communicates the path to the terminal - osc9_9: false - # osc133 is several escapes invented by Final Term which include the supported ones below. - # 133;A - Mark prompt start - # 133;B - Mark prompt end - # 133;C - Mark pre-execution - # 133;D;exit - Mark execution finished with exit code - # This is used to enable terminals to know where the prompt is, the command is, where the command finishes, and where the output of the command is - osc133: true - # osc633 is closely related to osc133 but only exists in visual studio code (vscode) and supports their shell integration features - # 633;A - Mark prompt start - # 633;B - Mark prompt end - # 633;C - Mark pre-execution - # 633;D;exit - Mark execution finished with exit code - # 633;E - Explicitly set the command line with an optional nonce - # 633;P;Cwd= - Mark the current working directory and communicate it to the terminal - # and also helps with the run recent menu in vscode - osc633: true - # reset_application_mode is escape \x1b[?1l and was added to help ssh work better - reset_application_mode: true - } - render_right_prompt_on_last_line: false # true or false to enable or disable right prompt to be rendered on last line of the prompt. - use_kitty_protocol: false # enables keyboard enhancement protocol implemented by kitty console, only if your terminal support this. - highlight_resolved_externals: true # true enables highlighting of external commands in the repl resolved by which. - recursion_limit: 50 # the maximum number of times nushell allows recursion before stopping it - - plugins: {} # Per-plugin configuration. See https://www.nushell.sh/contributor-book/plugins.html#configuration. - - plugin_gc: { - # Configuration for plugin garbage collection - default: { - enabled: true # true to enable stopping of inactive plugins - stop_after: 10sec # how long to wait after a plugin is inactive to stop it - } - plugins: { - # alternate configuration for specific plugins, by name, for example: - # - # gstat: { - # enabled: false - # } - } - } - - hooks: { - pre_prompt: [{ null }] # run before the prompt is shown - pre_execution: [{ null }] # run before the repl input is run - env_change: { - PWD: [{|before, after| null }] # run if the PWD environment is different since the last repl input - } - display_output: "if (term size).columns >= 100 { table -e } else { table }" # run to display the output of a pipeline - command_not_found: { null } # return an error message when a command is not found - } - - menus: [ - # Configuration for default nushell menus - # Note the lack of source parameter - { - name: completion_menu - only_buffer_difference: false - marker: "| " - type: { - layout: columnar - columns: 4 - col_width: 20 # Optional value. If missing all the screen width is used to calculate column width - col_padding: 2 - } - style: { - text: green - selected_text: { attr: r } - description_text: yellow - match_text: { attr: u } - selected_match_text: { attr: ur } - } - } - { - name: ide_completion_menu - only_buffer_difference: false - marker: "| " - type: { - layout: ide - min_completion_width: 0, - max_completion_width: 50, - max_completion_height: 10, # will be limited by the available lines in the terminal - padding: 0, - border: true, - cursor_offset: 0, - description_mode: "prefer_right" - min_description_width: 0 - max_description_width: 50 - max_description_height: 10 - description_offset: 1 - # If true, the cursor pos will be corrected, so the suggestions match up with the typed text - # - # C:\> str - # str join - # str trim - # str split - correct_cursor_pos: false - } - style: { - text: green - selected_text: { attr: r } - description_text: yellow - match_text: { attr: u } - selected_match_text: { attr: ur } - } - } - { - name: history_menu - only_buffer_difference: true - marker: "? " - type: { - layout: list - page_size: 10 - } - style: { - text: green - selected_text: green_reverse - description_text: yellow - } - } - { - name: help_menu - only_buffer_difference: true - marker: "? " - type: { - layout: description - columns: 4 - col_width: 20 # Optional value. If missing all the screen width is used to calculate column width - col_padding: 2 - selection_rows: 4 - description_rows: 10 - } - style: { - text: green - selected_text: green_reverse - description_text: yellow - } - } - ] - - keybindings: [ - { - name: completion_menu - modifier: none - keycode: tab - mode: [emacs vi_normal vi_insert] - event: { - until: [ - { send: menu name: completion_menu } - { send: menunext } - { edit: complete } - ] - } - } - { - name: completion_previous_menu - modifier: shift - keycode: backtab - mode: [emacs, vi_normal, vi_insert] - event: { send: menuprevious } - } - { - name: ide_completion_menu - modifier: control - keycode: space - mode: [emacs vi_normal vi_insert] - event: { - until: [ - { send: menu name: ide_completion_menu } - { send: menunext } - { edit: complete } - ] - } - } - { - name: history_menu - modifier: control - keycode: char_r - mode: [emacs, vi_insert, vi_normal] - event: { send: menu name: history_menu } - } - { - name: help_menu - modifier: none - keycode: f1 - mode: [emacs, vi_insert, vi_normal] - event: { send: menu name: help_menu } - } - { - name: next_page_menu - modifier: control - keycode: char_x - mode: emacs - event: { send: menupagenext } - } - { - name: undo_or_previous_page_menu - modifier: control - keycode: char_z - mode: emacs - event: { - until: [ - { send: menupageprevious } - { edit: undo } - ] - } - } - { - name: escape - modifier: none - keycode: escape - mode: [emacs, vi_normal, vi_insert] - event: { send: esc } # NOTE: does not appear to work - } - { - name: cancel_command - modifier: control - keycode: char_c - mode: [emacs, vi_normal, vi_insert] - event: { send: ctrlc } - } - { - name: quit_shell - modifier: control - keycode: char_d - mode: [emacs, vi_normal, vi_insert] - event: { send: ctrld } - } - { - name: clear_screen - modifier: control - keycode: char_l - mode: [emacs, vi_normal, vi_insert] - event: { send: clearscreen } - } - { - name: search_history - modifier: control - keycode: char_q - mode: [emacs, vi_normal, vi_insert] - event: { send: searchhistory } - } - { - name: open_command_editor - modifier: control - keycode: char_o - mode: [emacs, vi_normal, vi_insert] - event: { send: openeditor } - } - { - name: move_up - modifier: none - keycode: up - mode: [emacs, vi_normal, vi_insert] - event: { - until: [ - { send: menuup } - { send: up } - ] - } - } - { - name: move_down - modifier: none - keycode: down - mode: [emacs, vi_normal, vi_insert] - event: { - until: [ - { send: menudown } - { send: down } - ] - } - } - { - name: move_left - modifier: none - keycode: left - mode: [emacs, vi_normal, vi_insert] - event: { - until: [ - { send: menuleft } - { send: left } - ] - } - } - { - name: move_right_or_take_history_hint - modifier: none - keycode: right - mode: [emacs, vi_normal, vi_insert] - event: { - until: [ - { send: historyhintcomplete } - { send: menuright } - { send: right } - ] - } - } - { - name: move_one_word_left - modifier: control - keycode: left - mode: [emacs, vi_normal, vi_insert] - event: { edit: movewordleft } - } - { - name: move_one_word_right_or_take_history_hint - modifier: control - keycode: right - mode: [emacs, vi_normal, vi_insert] - event: { - until: [ - { send: historyhintwordcomplete } - { edit: movewordright } - ] - } - } - { - name: move_to_line_start - modifier: none - keycode: home - mode: [emacs, vi_normal, vi_insert] - event: { edit: movetolinestart } - } - { - name: move_to_line_start - modifier: control - keycode: char_a - mode: [emacs, vi_normal, vi_insert] - event: { edit: movetolinestart } - } - { - name: move_to_line_end_or_take_history_hint - modifier: none - keycode: end - mode: [emacs, vi_normal, vi_insert] - event: { - until: [ - { send: historyhintcomplete } - { edit: movetolineend } - ] - } - } - { - name: move_to_line_end_or_take_history_hint - modifier: control - keycode: char_e - mode: [emacs, vi_normal, vi_insert] - event: { - until: [ - { send: historyhintcomplete } - { edit: movetolineend } - ] - } - } - { - name: move_to_line_start - modifier: control - keycode: home - mode: [emacs, vi_normal, vi_insert] - event: { edit: movetolinestart } - } - { - name: move_to_line_end - modifier: control - keycode: end - mode: [emacs, vi_normal, vi_insert] - event: { edit: movetolineend } - } - { - name: move_down - modifier: control - keycode: char_n - mode: [emacs, vi_normal, vi_insert] - event: { - until: [ - { send: menudown } - { send: down } - ] - } - } - { - name: move_up - modifier: control - keycode: char_p - mode: [emacs, vi_normal, vi_insert] - event: { - until: [ - { send: menuup } - { send: up } - ] - } - } - { - name: delete_one_character_backward - modifier: none - keycode: backspace - mode: [emacs, vi_insert] - event: { edit: backspace } - } - { - name: delete_one_word_backward - modifier: control - keycode: backspace - mode: [emacs, vi_insert] - event: { edit: backspaceword } - } - { - name: delete_one_character_forward - modifier: none - keycode: delete - mode: [emacs, vi_insert] - event: { edit: delete } - } - { - name: delete_one_character_forward - modifier: control - keycode: delete - mode: [emacs, vi_insert] - event: { edit: delete } - } - { - name: delete_one_character_backward - modifier: control - keycode: char_h - mode: [emacs, vi_insert] - event: { edit: backspace } - } - { - name: delete_one_word_backward - modifier: control - keycode: char_w - mode: [emacs, vi_insert] - event: { edit: backspaceword } - } - { - name: move_left - modifier: none - keycode: backspace - mode: vi_normal - event: { edit: moveleft } - } - { - name: newline_or_run_command - modifier: none - keycode: enter - mode: emacs - event: { send: enter } - } - { - name: move_left - modifier: control - keycode: char_b - mode: emacs - event: { - until: [ - { send: menuleft } - { send: left } - ] - } - } - { - name: move_right_or_take_history_hint - modifier: control - keycode: char_f - mode: emacs - event: { - until: [ - { send: historyhintcomplete } - { send: menuright } - { send: right } - ] - } - } - { - name: redo_change - modifier: control - keycode: char_g - mode: emacs - event: { edit: redo } - } - { - name: undo_change - modifier: control - keycode: char_z - mode: emacs - event: { edit: undo } - } - { - name: paste_before - modifier: control - keycode: char_y - mode: emacs - event: { edit: pastecutbufferbefore } - } - { - name: cut_word_left - modifier: control - keycode: char_w - mode: emacs - event: { edit: cutwordleft } - } - { - name: cut_line_to_end - modifier: control - keycode: char_k - mode: emacs - event: { edit: cuttolineend } - } - { - name: cut_line_from_start - modifier: control - keycode: char_u - mode: emacs - event: { edit: cutfromstart } - } - { - name: swap_graphemes - modifier: control - keycode: char_t - mode: emacs - event: { edit: swapgraphemes } - } - { - name: move_one_word_left - modifier: alt - keycode: left - mode: emacs - event: { edit: movewordleft } - } - { - name: move_one_word_right_or_take_history_hint - modifier: alt - keycode: right - mode: emacs - event: { - until: [ - { send: historyhintwordcomplete } - { edit: movewordright } - ] - } - } - { - name: move_one_word_left - modifier: alt - keycode: char_b - mode: emacs - event: { edit: movewordleft } - } - { - name: move_one_word_right_or_take_history_hint - modifier: alt - keycode: char_f - mode: emacs - event: { - until: [ - { send: historyhintwordcomplete } - { edit: movewordright } - ] - } - } - { - name: delete_one_word_forward - modifier: alt - keycode: delete - mode: emacs - event: { edit: deleteword } - } - { - name: delete_one_word_backward - modifier: alt - keycode: backspace - mode: emacs - event: { edit: backspaceword } - } - { - name: delete_one_word_backward - modifier: alt - keycode: char_m - mode: emacs - event: { edit: backspaceword } - } - { - name: cut_word_to_right - modifier: alt - keycode: char_d - mode: emacs - event: { edit: cutwordright } - } - { - name: upper_case_word - modifier: alt - keycode: char_u - mode: emacs - event: { edit: uppercaseword } - } - { - name: lower_case_word - modifier: alt - keycode: char_l - mode: emacs - event: { edit: lowercaseword } - } - { - name: capitalize_char - modifier: alt - keycode: char_c - mode: emacs - event: { edit: capitalizechar } - } - # The following bindings with `*system` events require that Nushell has - # been compiled with the `system-clipboard` feature. - # If you want to use the system clipboard for visual selection or to - # paste directly, uncomment the respective lines and replace the version - # using the internal clipboard. - { - name: copy_selection - modifier: control_shift - keycode: char_c - mode: emacs - event: { edit: copyselection } - # event: { edit: copyselectionsystem } - } - { - name: cut_selection - modifier: control_shift - keycode: char_x - mode: emacs - event: { edit: cutselection } - # event: { edit: cutselectionsystem } - } - # { - # name: paste_system - # modifier: control_shift - # keycode: char_v - # mode: emacs - # event: { edit: pastesystem } - # } - { - name: select_all - modifier: control_shift - keycode: char_a - mode: emacs - event: { edit: selectall } - } - ] -} diff --git a/config/nushell/env.nu b/config/nushell/env.nu deleted file mode 100644 index 0ed67b1..0000000 --- a/config/nushell/env.nu +++ /dev/null @@ -1,101 +0,0 @@ -# Nushell Environment Config File -# -# version = "0.99.1" - -def create_left_prompt [] { - let dir = match (do --ignore-shell-errors { $env.PWD | path relative-to $nu.home-path }) { - null => $env.PWD - '' => '~' - $relative_pwd => ([~ $relative_pwd] | path join) - } - - let path_color = (if (is-admin) { ansi red_bold } else { ansi green_bold }) - let separator_color = (if (is-admin) { ansi light_red_bold } else { ansi light_green_bold }) - let path_segment = $"($path_color)($dir)(ansi reset)" - - $path_segment | str replace --all (char path_sep) $"($separator_color)(char path_sep)($path_color)" -} - -def create_right_prompt [] { - # create a right prompt in magenta with green separators and am/pm underlined - let time_segment = ([ - (ansi reset) - (ansi magenta) - (date now | format date '%x %X') # try to respect user's locale - ] | str join | str replace --regex --all "([/:])" $"(ansi green)${1}(ansi magenta)" | - str replace --regex --all "([AP]M)" $"(ansi magenta_underline)${1}") - - let last_exit_code = if ($env.LAST_EXIT_CODE != 0) {([ - (ansi rb) - ($env.LAST_EXIT_CODE) - ] | str join) - } else { "" } - - ([$last_exit_code, (char space), $time_segment] | str join) -} - -# Use nushell functions to define your right and left prompt -$env.PROMPT_COMMAND = {|| create_left_prompt } -# FIXME: This default is not implemented in rust code as of 2023-09-08. -$env.PROMPT_COMMAND_RIGHT = {|| create_right_prompt } - -# The prompt indicators are environmental variables that represent -# the state of the prompt -$env.PROMPT_INDICATOR = {|| "> " } -$env.PROMPT_INDICATOR_VI_INSERT = {|| ": " } -$env.PROMPT_INDICATOR_VI_NORMAL = {|| "> " } -$env.PROMPT_MULTILINE_INDICATOR = {|| "::: " } - -# If you want previously entered commands to have a different prompt from the usual one, -# you can uncomment one or more of the following lines. -# This can be useful if you have a 2-line prompt and it's taking up a lot of space -# because every command entered takes up 2 lines instead of 1. You can then uncomment -# the line below so that previously entered commands show with a single `🚀`. -# $env.TRANSIENT_PROMPT_COMMAND = {|| "🚀 " } -# $env.TRANSIENT_PROMPT_INDICATOR = {|| "" } -# $env.TRANSIENT_PROMPT_INDICATOR_VI_INSERT = {|| "" } -# $env.TRANSIENT_PROMPT_INDICATOR_VI_NORMAL = {|| "" } -# $env.TRANSIENT_PROMPT_MULTILINE_INDICATOR = {|| "" } -# $env.TRANSIENT_PROMPT_COMMAND_RIGHT = {|| "" } - -# Specifies how environment variables are: -# - converted from a string to a value on Nushell startup (from_string) -# - converted from a value back to a string when running external commands (to_string) -# Note: The conversions happen *after* config.nu is loaded -$env.ENV_CONVERSIONS = { - "PATH": { - from_string: { |s| $s | split row (char esep) | path expand --no-symlink } - to_string: { |v| $v | path expand --no-symlink | str join (char esep) } - } - "Path": { - from_string: { |s| $s | split row (char esep) | path expand --no-symlink } - to_string: { |v| $v | path expand --no-symlink | str join (char esep) } - } -} - -# Directories to search for scripts when calling source or use -# The default for this is $nu.default-config-dir/scripts -$env.NU_LIB_DIRS = [ - ($nu.default-config-dir | path join 'scripts') # add /scripts - ($nu.data-dir | path join 'completions') # default home for nushell completions -] - -# Directories to search for plugin binaries when calling register -# The default for this is $nu.default-config-dir/plugins -$env.NU_PLUGIN_DIRS = [ - ($nu.default-config-dir | path join 'plugins') # add /plugins -] - -# To add entries to PATH (on Windows you might use Path), you can use the following pattern: -# $env.PATH = ($env.PATH | split row (char esep) | prepend '/some/path') -# An alternate way to add entries to $env.PATH is to use the custom command `path add` -# which is built into the nushell stdlib: -# use std "path add" -# $env.PATH = ($env.PATH | split row (char esep)) -# path add /some/path -# path add ($env.CARGO_HOME | path join "bin") -# path add ($env.HOME | path join ".local" "bin") -# $env.PATH = ($env.PATH | uniq) - -# To load from a custom file you can use: -# source ($nu.default-config-dir | path join 'custom.nu') \ No newline at end of file From 00e3f8f8e9b5313fe5545164f7b780a3d6df8ce5 Mon Sep 17 00:00:00 2001 From: aleidk Date: Fri, 15 Nov 2024 09:20:57 -0300 Subject: [PATCH 04/31] add work-laptop config --- .dotter/global.toml | 9 +++++---- .dotter/work-laptop.toml | 6 ++++++ config/nvim/lazy-lock.json | 3 +-- config/nvim/lua/aleidk/plugins/ai.lua | 8 +++++++- config/nvim/lua/aleidk/plugins/treesitter.lua | 1 - 5 files changed, 19 insertions(+), 8 deletions(-) create mode 100644 .dotter/work-laptop.toml diff --git a/.dotter/global.toml b/.dotter/global.toml index d929b92..909555a 100644 --- a/.dotter/global.toml +++ b/.dotter/global.toml @@ -14,14 +14,15 @@ scripts = "" # CLI package [cli] -depends = ["nvim", "nushell", "zsh"] +depends = ["nvim", "zsh"] [cli.files] -"config/yazi" = "~/.config/yazi" -"config/tmux" = "~/.config/tmux" +"config/bat" = "~/.config/bat" "config/sesh" = "~/.config/sesh" -"config/zellij" = "~/.config/zellij" "config/starship.toml" = "~/.config/starship.toml" +"config/tmux" = "~/.config/tmux" +"config/yazi" = "~/.config/yazi" +"config/zellij" = "~/.config/zellij" [dev.files] "config/git" = "~/.config/git" diff --git a/.dotter/work-laptop.toml b/.dotter/work-laptop.toml new file mode 100644 index 0000000..7709e32 --- /dev/null +++ b/.dotter/work-laptop.toml @@ -0,0 +1,6 @@ +includes = [] +packages = ["default", "cli", "dev"] + +[files] + +[variables] diff --git a/config/nvim/lazy-lock.json b/config/nvim/lazy-lock.json index 8b6a601..f1e16b6 100644 --- a/config/nvim/lazy-lock.json +++ b/config/nvim/lazy-lock.json @@ -27,7 +27,7 @@ "grapple.nvim": { "branch": "main", "commit": "7aedc261b05a6c030397c4bc26416efbe746ebf1" }, "hurl.nvim": { "branch": "main", "commit": "d708158dda9a175c0f83cd106ea232301f4317cb" }, "indent-blankline.nvim": { "branch": "master", "commit": "65e20ab94a26d0e14acac5049b8641336819dfc7" }, - "lazy.nvim": { "branch": "main", "commit": "7967abe55752aa90532e6bb4bd4663fe27a264cb" }, + "lazy.nvim": { "branch": "main", "commit": "b02c9eae6a250f98908c146d1dc1a891f5019f0a" }, "lazygit.nvim": { "branch": "main", "commit": "dc56df433bfbf107fee0139e187eb9750878fa84" }, "lualine.nvim": { "branch": "master", "commit": "6a40b530539d2209f7dc0492f3681c8c126647ad" }, "mason-lspconfig.nvim": { "branch": "main", "commit": "37a336b653f8594df75c827ed589f1c91d91ff6c" }, @@ -63,7 +63,6 @@ "telescope.nvim": { "branch": "master", "commit": "a0bbec21143c7bc5f8bb02e0005fa0b982edc026" }, "tfm.nvim": { "branch": "main", "commit": "fb0de2c96bf303216ac5d91ce9bdb7f430030f8b" }, "todo-comments.nvim": { "branch": "main", "commit": "d61567557e2ff5c548c74e96b2d9f8d33e5fcb34" }, - "tree-sitter-nu": { "branch": "main", "commit": "7e0f16f608a9e804fae61430ade734f9f849fb80" }, "treesj": { "branch": "main", "commit": "6e8bd008bacd5ad001c3953017c1dca20709e915" }, "trouble.nvim": { "branch": "main", "commit": "03c1fbf518bef683422a3be9643c3da190903488" }, "ts-node-action": { "branch": "master", "commit": "6d3b60754fd87963d70eadaa2f77873b447eac26" }, diff --git a/config/nvim/lua/aleidk/plugins/ai.lua b/config/nvim/lua/aleidk/plugins/ai.lua index 9969c9c..28abb89 100644 --- a/config/nvim/lua/aleidk/plugins/ai.lua +++ b/config/nvim/lua/aleidk/plugins/ai.lua @@ -31,6 +31,13 @@ return { display = { action_palette = { prompt = " " + }, + chat = { + window = { + layout = "float", + height = 0.8, + width = 0.8, + }, } } }, @@ -75,4 +82,3 @@ return { }, } } - diff --git a/config/nvim/lua/aleidk/plugins/treesitter.lua b/config/nvim/lua/aleidk/plugins/treesitter.lua index 73616e1..1d1111d 100644 --- a/config/nvim/lua/aleidk/plugins/treesitter.lua +++ b/config/nvim/lua/aleidk/plugins/treesitter.lua @@ -7,7 +7,6 @@ return { "JoosepAlviste/nvim-ts-context-commentstring", "nvim-treesitter/nvim-treesitter-context", { "windwp/nvim-ts-autotag", opts = {} }, - { "nushell/tree-sitter-nu", build = ":TSUpdate nu" }, }, build = ":TSUpdate", config = function() From c7b411f60f601d8ef9c4fb11475223c988ba802a Mon Sep 17 00:00:00 2001 From: aleidk Date: Mon, 18 Nov 2024 10:12:46 -0300 Subject: [PATCH 05/31] update nvim plugins - remove unused plugins - change file explorer plugin closes #3 --- config/mise/config.toml | 2 +- config/nvim/lazy-lock.json | 5 +- config/nvim/lua/aleidk/plugins/dashboard.lua | 35 ------ config/nvim/lua/aleidk/plugins/debugprint.lua | 7 -- .../nvim/lua/aleidk/plugins/file-browser.lua | 100 ------------------ .../nvim/lua/aleidk/plugins/file-explorer.lua | 90 ++++++---------- config/nvim/lua/aleidk/plugins/http.lua | 38 ------- config/yazi/package.toml | 4 +- config/yazi/yazi.toml | 2 +- config/zsh/zshrc | 2 +- 10 files changed, 40 insertions(+), 245 deletions(-) delete mode 100644 config/nvim/lua/aleidk/plugins/dashboard.lua delete mode 100644 config/nvim/lua/aleidk/plugins/debugprint.lua delete mode 100644 config/nvim/lua/aleidk/plugins/file-browser.lua delete mode 100644 config/nvim/lua/aleidk/plugins/http.lua diff --git a/config/mise/config.toml b/config/mise/config.toml index 981db02..33a93e4 100644 --- a/config/mise/config.toml +++ b/config/mise/config.toml @@ -2,7 +2,7 @@ node = 'lts' # python = {version='3', virtualenv='.venv'} python = {version='3'} # setting virtualenv adds a virtualenv in every directory -php = "8.2" +# php = "8.2" go = "latest" [settings] diff --git a/config/nvim/lazy-lock.json b/config/nvim/lazy-lock.json index f1e16b6..9e59165 100644 --- a/config/nvim/lazy-lock.json +++ b/config/nvim/lazy-lock.json @@ -1,6 +1,5 @@ { "LuaSnip": { "branch": "master", "commit": "ce0a05ab4e2839e1c48d072c5236cce846a387bc" }, - "alpha-nvim": { "branch": "main", "commit": "41283fb402713fc8b327e60907f74e46166f4cfd" }, "auto-session": { "branch": "main", "commit": "4b0728715e674ad9c18f1519127dcaed59f9981b" }, "ccc.nvim": { "branch": "main", "commit": "4fb5abaef2f2e0540fe22d4d74a9841205fff9e4" }, "chezmoi.nvim": { "branch": "main", "commit": "faf61465718424696269b2647077331b3e4605f1" }, @@ -18,14 +17,12 @@ "copilot-cmp": { "branch": "master", "commit": "b6e5286b3d74b04256d0a7e3bd2908eabec34b44" }, "copilot-lualine": { "branch": "main", "commit": "f40450c3e138766026327e7807877ea860618258" }, "copilot.lua": { "branch": "master", "commit": "f8d8d872bb319f640d5177dad5fbf01f7a16d7d0" }, - "debugprint.nvim": { "branch": "main", "commit": "8f2a335fb0e6ebf0291a3551e0198363437e3a38" }, "diffview.nvim": { "branch": "main", "commit": "4516612fe98ff56ae0415a259ff6361a89419b0a" }, "dressing.nvim": { "branch": "master", "commit": "6741f1062d3dc6e4755367a7e9b347b553623f04" }, "friendly-snippets": { "branch": "main", "commit": "45a1b96e46efe5fce8af325d4bed45feb9d29d0f" }, "gitsigns.nvim": { "branch": "main", "commit": "e9c4187c3774a46df2d086a66cf3a7e6bea4c432" }, "gopher.nvim": { "branch": "main", "commit": "f55c15ada8e02398000c04a96ef44d986cd01051" }, "grapple.nvim": { "branch": "main", "commit": "7aedc261b05a6c030397c4bc26416efbe746ebf1" }, - "hurl.nvim": { "branch": "main", "commit": "d708158dda9a175c0f83cd106ea232301f4317cb" }, "indent-blankline.nvim": { "branch": "master", "commit": "65e20ab94a26d0e14acac5049b8641336819dfc7" }, "lazy.nvim": { "branch": "main", "commit": "b02c9eae6a250f98908c146d1dc1a891f5019f0a" }, "lazygit.nvim": { "branch": "main", "commit": "dc56df433bfbf107fee0139e187eb9750878fa84" }, @@ -61,7 +58,6 @@ "smart-splits.nvim": { "branch": "master", "commit": "95833675cd92538bf9cded1d2d58d1fc271c5428" }, "telescope-fzf-native.nvim": { "branch": "main", "commit": "cf48d4dfce44e0b9a2e19a008d6ec6ea6f01a83b" }, "telescope.nvim": { "branch": "master", "commit": "a0bbec21143c7bc5f8bb02e0005fa0b982edc026" }, - "tfm.nvim": { "branch": "main", "commit": "fb0de2c96bf303216ac5d91ce9bdb7f430030f8b" }, "todo-comments.nvim": { "branch": "main", "commit": "d61567557e2ff5c548c74e96b2d9f8d33e5fcb34" }, "treesj": { "branch": "main", "commit": "6e8bd008bacd5ad001c3953017c1dca20709e915" }, "trouble.nvim": { "branch": "main", "commit": "03c1fbf518bef683422a3be9643c3da190903488" }, @@ -74,6 +70,7 @@ "vim-dadbod-ui": { "branch": "master", "commit": "f74a31e8c6c5a9dccc63450a09d5cd64a9294330" }, "vim-illuminate": { "branch": "master", "commit": "5eeb7951fc630682c322e88a9bbdae5c224ff0aa" }, "vim-sleuth": { "branch": "master", "commit": "1cc4557420f215d02c4d2645a748a816c220e99b" }, + "yazi.nvim": { "branch": "main", "commit": "faa03e9acb894533b91c811d0dafd816b995088f" }, "zen-mode.nvim": { "branch": "main", "commit": "2694c5a2bc4dc26c7a9e74b9e2b812920c90a830" }, "zk-nvim": { "branch": "main", "commit": "dbf4eeab55b08856c9d6b6722dbff39630bb35eb" } } diff --git a/config/nvim/lua/aleidk/plugins/dashboard.lua b/config/nvim/lua/aleidk/plugins/dashboard.lua deleted file mode 100644 index db755d4..0000000 --- a/config/nvim/lua/aleidk/plugins/dashboard.lua +++ /dev/null @@ -1,35 +0,0 @@ -return { - "goolord/alpha-nvim", - lazy = false, - opts = function() - local dashboard = require("alpha.themes.dashboard") - - dashboard.section.header.val = { - " ████ ███ █████ █████ ", - " ░░███ ░░░ ░░███ ░░███ ", - " ██████ ░███ ██████ ████ ███████ ░███ █████", - " ░░░░░███ ░███ ███░░███░░███ ███░░███ ░███░░███ ", - " ███████ ░███ ░███████ ░███ ░███ ░███ ░██████░ ", - " ███░░███ ░███ ░███░░░ ░███ ░███ ░███ ░███░░███ ", - "░░████████ █████░░██████ █████░░████████ ████ █████", - " ░░░░░░░░ ░░░░░ ░░░░░░ ░░░░░ ░░░░░░░░ ░░░░ ░░░░░ ", - } - dashboard.section.header.opts.hl = "DashboardHeader" - - dashboard.section.buttons.val = { - dashboard.button("LDR f f", " Find File ", "ff"), - dashboard.button("LDR LDR t", " Bookmars", "t"), - dashboard.button("LDR g g", " Git ", "gg"), - } - - dashboard.section.footer.val = - { " ", " ", " ", "Nvim loaded " .. require("lazy").stats().count .. " plugins " } - dashboard.section.footer.opts.hl = "DashboardFooter" - - dashboard.config.layout[1].val = vim.fn.max({ 2, vim.fn.floor(vim.fn.winheight(0) * 0.2) }) - dashboard.config.layout[3].val = 5 - dashboard.config.opts.noautocmd = true - - return dashboard.opts - end, -} diff --git a/config/nvim/lua/aleidk/plugins/debugprint.lua b/config/nvim/lua/aleidk/plugins/debugprint.lua deleted file mode 100644 index 757dbb1..0000000 --- a/config/nvim/lua/aleidk/plugins/debugprint.lua +++ /dev/null @@ -1,7 +0,0 @@ -return { - "andrewferrier/debugprint.nvim", - opts = {}, - -- Remove the following line to use development versions, - -- not just the formal releases - version = "*", -} diff --git a/config/nvim/lua/aleidk/plugins/file-browser.lua b/config/nvim/lua/aleidk/plugins/file-browser.lua deleted file mode 100644 index f90f761..0000000 --- a/config/nvim/lua/aleidk/plugins/file-browser.lua +++ /dev/null @@ -1,100 +0,0 @@ -return { - { - "nvim-tree/nvim-tree.lua", - enabled = false, - version = "*", - dependencies = { - "nvim-tree/nvim-web-devicons", - }, - keys = { - { "e", "NvimTreeToggle", desc = "Open file explorer" }, - }, - cmd = { "NvimTreeToggle", "Tree" }, - config = function() - local tree = require("nvim-tree") - local api = require("nvim-tree.api") - - tree.setup({ - hijack_unnamed_buffer_when_opening = true, - disable_netrw = false, - hijack_netrw = false, -- handle by telescope browser - hijack_cursor = true, -- cursor at the start of filename - sync_root_with_cwd = true, - respect_buf_cwd = true, - update_focused_file = { - enable = true, -- focus curren file - update_root = true, - }, - actions = { open_file = { quit_on_open = true } }, - renderer = { - full_name = true, -- show remaining name in floating text - group_empty = true, -- group empty folders - add_trailing = true, -- Trailing slash to folders - highlight_opened_files = "all", - highlight_git = true, - }, - view = { - centralize_selection = true, -- center current file on enter - width = 30, -- N° of columns or % - }, - on_attach = function(bufnr) - local function opts(desc) - return { - desc = "nvim-tree: " .. desc, - buffer = bufnr, - noremap = true, - silent = true, - nowait = true, - } - end - - -- Check defaults here: https://github.com/nvim-tree/nvim-tree.lua/wiki/Migrating-To-on_attach - api.config.mappings.default_on_attach(bufnr) - - vim.keymap.set("n", "l", api.node.open.edit, opts("Open")) - vim.keymap.set("n", "o", api.node.open.edit, opts("Open")) - vim.keymap.set("n", "", api.node.open.edit, opts("Open")) - vim.keymap.set("n", "<2-LeftMouse>", api.node.open.edit, opts("Open")) - vim.keymap.set("n", "s", api.node.open.vertical, opts("Open in vsplit")) - vim.keymap.set("n", "v", api.node.open.horizontal, opts("Open in hsplit")) - vim.keymap.set("n", "t", api.node.open.tab, opts("Open in tab")) - vim.keymap.set("n", "h", api.node.navigate.parent_close, opts("Close dir")) - vim.keymap.set("n", "", api.node.navigate.parent_close, opts("Close dir")) - vim.keymap.set("n", "i", api.tree.toggle_hidden_filter, opts("Toggle Dotfiles")) - vim.keymap.set("n", "I", api.tree.toggle_gitignore_filter, opts("Toggle Git Ignore")) - end, - }) - - -- Auto open when a dir is opened - - local function open_nvim_tree(data) - -- buffer is a directory - local directory = vim.fn.isdirectory(data.file) == 1 - - if not directory then - return - end - - -- create a new, empty buffer - vim.cmd.enew() - - -- wipe the directory buffer - vim.cmd.bw(data.buf) - - -- change to the directory - vim.cmd.cd(data.file) - - -- open the tree - require("nvim-tree.api").tree.open() - end - - vim.api.nvim_create_autocmd({ "VimEnter" }, { callback = open_nvim_tree }) - vim.api.nvim_create_user_command("Tree", "NvimTreeToggle", {}) - - -- bindings - -- disabled to discourage the use of this plugin without disabling it - -- vim.keymap.set("n", "e", ":NvimTreeToggle", { desc = "Toggle file tree", silent = true }) - -- vim.keymap.set("n", "", ":NvimTreeToggle", { desc = "Toggle file tree", silent = true }) - end, - }, -} diff --git a/config/nvim/lua/aleidk/plugins/file-explorer.lua b/config/nvim/lua/aleidk/plugins/file-explorer.lua index 2fe15eb..e7b6eaa 100644 --- a/config/nvim/lua/aleidk/plugins/file-explorer.lua +++ b/config/nvim/lua/aleidk/plugins/file-explorer.lua @@ -1,66 +1,44 @@ +---@type LazySpec return { - "rolv-apneseth/tfm.nvim", - lazy = false, - opts = { - -- TFM to use - -- Possible choices: "ranger" | "nnn" | "lf" | "vifm" | "yazi" (default) - file_manager = "yazi", - -- Replace netrw entirely - -- Default: false - replace_netrw = true, - -- Enable creation of commands - -- Default: false - -- Commands: - -- Tfm: selected file(s) will be opened in the current window - -- TfmSplit: selected file(s) will be opened in a horizontal split - -- TfmVsplit: selected file(s) will be opened in a vertical split - -- TfmTabedit: selected file(s) will be opened in a new tab page - enable_cmds = true, - -- Custom keybindings only applied within the TFM buffer - -- Default: {} - keybindings = { - [""] = "q", - }, - -- Customise UI. The below options are the default - ui = { - border = "rounded", - height = 1, - width = 1, - x = 0.5, - y = 0.5, - }, - }, + "mikavilpas/yazi.nvim", + event = "VeryLazy", keys = { + -- 👇 in this section, choose your own keymappings! { "e", - function() - require("tfm").open() - end, - desc = "TFM", + "Yazi", + desc = "Open yazi at the current file", }, { - "mh", - function() - local tfm = require("tfm") - tfm.open(nil, tfm.OPEN_MODE.split) - end, - desc = "TFM - horizontal split", + -- Open in the current working directory + "-", + "Yazi cwd", + desc = "Open the file manager in nvim's working directory", }, - { - "mv", - function() - local tfm = require("tfm") - tfm.open(nil, tfm.OPEN_MODE.vsplit) - end, - desc = "TFM - vertical split", - }, - { - "mt", - function() - local tfm = require("tfm") - tfm.open(nil, tfm.OPEN_MODE.tabedit) - end, - desc = "TFM - new tab", + -- { + -- -- NOTE: this requires a version of yazi that includes + -- -- https://github.com/sxyazi/yazi/pull/1305 from 2024-07-18 + -- '', + -- "Yazi toggle", + -- desc = "Resume the last yazi session", + -- }, + }, + ---@type YaziConfig + opts = { + -- if you want to open yazi instead of netrw, see below for more info + open_for_directories = true, + open_multiple_tabs = true, + floating_window_scaling_factor = 1, + keymaps = { + show_help = '', + open_file_in_vertical_split = '', + open_file_in_horizontal_split = '', + open_file_in_tab = '', + grep_in_directory = '', + cycle_open_buffers = '', + copy_relative_path_to_selected_files = '', + send_to_quickfix_list = '', + change_working_directory = "", }, }, } diff --git a/config/nvim/lua/aleidk/plugins/http.lua b/config/nvim/lua/aleidk/plugins/http.lua deleted file mode 100644 index 7c7516e..0000000 --- a/config/nvim/lua/aleidk/plugins/http.lua +++ /dev/null @@ -1,38 +0,0 @@ -return { - "jellydn/hurl.nvim", - dependencies = { - "MunifTanjim/nui.nvim", - "nvim-lua/plenary.nvim", - "nvim-treesitter/nvim-treesitter" - }, - ft = "hurl", - opts = { - -- Show debugging info - debug = false, - -- Show notification on run - show_notification = false, - -- Show response in popup or split - mode = "popup", - -- Default formatter - formatters = { - json = { 'jq' }, -- Make sure you have install jq in your system, e.g: brew install jq - html = { - 'prettierd', -- Make sure you have install prettier in your system, e.g: npm install -g prettier - '--parser', - 'html', - }, - }, - env_file = { - 'hurl.env', - '.env', - '.env.local', - }, - }, - keys = { - -- Run API request - { "ph", "HurlRunnerAt", desc = "Run HTTP request" }, - { "pH", "HurlRunner", desc = "Run all HTTP requests" }, - -- Run Hurl request in visual mode - { "ph", ":HurlRunner", desc = "Run HTTP requests", mode = "v" }, - }, -} diff --git a/config/yazi/package.toml b/config/yazi/package.toml index cecdf3a..eae27af 100644 --- a/config/yazi/package.toml +++ b/config/yazi/package.toml @@ -1,5 +1,5 @@ [plugin] -deps = [{ use = "yazi-rs/plugins:full-border", rev = "39f2753" }] +deps = [{ use = "yazi-rs/plugins:full-border", rev = "4a6edc3" }] [flavor] -deps = [{ use = "yazi-rs/flavors:catppuccin-macchiato", rev = "2d7dd2a" }] +deps = [{ use = "yazi-rs/flavors:catppuccin-macchiato", rev = "4a3082f" }] diff --git a/config/yazi/yazi.toml b/config/yazi/yazi.toml index 8eb7d53..e59bd36 100644 --- a/config/yazi/yazi.toml +++ b/config/yazi/yazi.toml @@ -139,7 +139,7 @@ cd_origin = "top-center" cd_offset = [ 0, 2, 50, 3 ] # create -create_title = "Create:" +create_title = ["Create:", "Create (dir):"] create_origin = "hovered" create_offset = [ 0, 1, 50, 3 ] diff --git a/config/zsh/zshrc b/config/zsh/zshrc index 158a105..9854a77 100644 --- a/config/zsh/zshrc +++ b/config/zsh/zshrc @@ -143,4 +143,4 @@ done eval "$(fzf --zsh)" eval "$(zoxide init --cmd cd zsh)" eval "$(starship init zsh)" -# eval "$(mise activate zsh)" +eval "$(mise activate zsh)" From 808cdb320122be1d598c3c4f84c7fbf9b1551df6 Mon Sep 17 00:00:00 2001 From: aleidk Date: Mon, 18 Nov 2024 22:33:24 -0300 Subject: [PATCH 06/31] add pre_deploy.sh --- .dotter/global.toml | 2 -- .dotter/pre_deploy.sh | 1 + .dotter/thinkpad.toml | 7 +++++++ 3 files changed, 8 insertions(+), 2 deletions(-) create mode 100644 .dotter/pre_deploy.sh create mode 100644 .dotter/thinkpad.toml diff --git a/.dotter/global.toml b/.dotter/global.toml index 909555a..748bd20 100644 --- a/.dotter/global.toml +++ b/.dotter/global.toml @@ -1,5 +1,3 @@ -[helpers] - [default] depends = ["nvim"] diff --git a/.dotter/pre_deploy.sh b/.dotter/pre_deploy.sh new file mode 100644 index 0000000..bbb0008 --- /dev/null +++ b/.dotter/pre_deploy.sh @@ -0,0 +1 @@ +sudo dnf install -y {{# each packages }} {{ this }} {{/each}} diff --git a/.dotter/thinkpad.toml b/.dotter/thinkpad.toml new file mode 100644 index 0000000..ec4087d --- /dev/null +++ b/.dotter/thinkpad.toml @@ -0,0 +1,7 @@ +includes = [] +packages = ["default", "cli", "dev"] + +[files] + +[variables] +packages = ["neovim", "fzf"] From d93bf44ae057a3f6cf5ec78d8c0f1c351fd2fefc Mon Sep 17 00:00:00 2001 From: aleidk Date: Tue, 19 Nov 2024 15:48:29 -0300 Subject: [PATCH 07/31] add pre_deploy.sh script for dotter --- .dotter/global.toml | 24 ++++----- .dotter/handlebars_helpers/flatten_table.rhai | 30 +++++++++++ .dotter/handlebars_helpers/header.rhai | 48 +++++++++++++++++ .dotter/machines/fedora.toml | 54 +++++++++++++++++++ .dotter/pre_deploy.sh | 44 ++++++++++++++- .dotter/work-laptop.toml | 4 +- config/git/config | 4 ++ 7 files changed, 192 insertions(+), 16 deletions(-) create mode 100644 .dotter/handlebars_helpers/flatten_table.rhai create mode 100644 .dotter/handlebars_helpers/header.rhai create mode 100644 .dotter/machines/fedora.toml diff --git a/.dotter/global.toml b/.dotter/global.toml index 748bd20..42caea7 100644 --- a/.dotter/global.toml +++ b/.dotter/global.toml @@ -1,14 +1,9 @@ -[default] -depends = ["nvim"] +[settings] +default_target_type = "automatic" -[default.files] -"README.md" = "" -chezmoi = "" -config = "" -exports = "" -scripts = "" - -[default.variables] +[helpers] +flatten_table = ".dotter/handlebars_helpers/flatten_table.rhai" +header = ".dotter/handlebars_helpers/header.rhai" # CLI package [cli] @@ -22,6 +17,9 @@ depends = ["nvim", "zsh"] "config/yazi" = "~/.config/yazi" "config/zellij" = "~/.config/zellij" +[dev] +depends = ["rust"] + [dev.files] "config/git" = "~/.config/git" "config/lazygit" = { target = "~/.config/lazygit", type = "symbolic"} @@ -38,8 +36,8 @@ depends = ["nvim", "zsh"] [nushell.files] "config/nushell" = "~/.config/nushell" -[settings] -default_target_type = "automatic" - [nvim.files] "config/nvim" = "~/.config/nvim" + +[rust.variables] +cargo.packages = [] diff --git a/.dotter/handlebars_helpers/flatten_table.rhai b/.dotter/handlebars_helpers/flatten_table.rhai new file mode 100644 index 0000000..30ee4f9 --- /dev/null +++ b/.dotter/handlebars_helpers/flatten_table.rhai @@ -0,0 +1,30 @@ +/* +* Flatten a table into a list of values. +* The table has to be in the form of +* ```toml +* [table.subtable] +* variable1 = ["value1", "value2"] +* +* [table.subtable] +* variable2 = ["value3", "value4"] +* +* then we use it in handlerbars like this: +* +* {{ flatten_table table.subtable }} +* +* and it will return an array with all the arrays of subtable +*/ + +if type_of(params[0]) != "map" { + return; +} + +let table = params[0]; + +let result = []; + +for value in table.values() { + result.append(value); +} + +result diff --git a/.dotter/handlebars_helpers/header.rhai b/.dotter/handlebars_helpers/header.rhai new file mode 100644 index 0000000..1a35fc7 --- /dev/null +++ b/.dotter/handlebars_helpers/header.rhai @@ -0,0 +1,48 @@ +let x_padding = hash["padding"] ?? 50; + +let header = #{ + x_padding: x_padding, + out: "", + append: |suffix| { + this.out += suffix + "\n"; + }, + append_center: |suffix| { + + let suffix_len = suffix.len(); + let padding = this.x_padding - suffix_len / 2; + let fill = ""; + fill.pad(padding, " "); + + this.out += fill + suffix.to_upper() + fill + "\n"; + }, + append_divider: || { + let divider = ""; + divider.pad(this.x_padding * 2, "─"); + + this.append(divider); + }, + open_echo: || { + this.out += "echo -e '\n"; + }, + close_echo: || { + this.out += "'"; + }, + to_string: || { + return this.out; + } +}; + +header.open_echo(); + +header.append_divider(); + + +params.for_each(|idx| { + header.append_center(this); +}); + +header.append_divider(); +header.close_echo(); + +return header.to_string(); + diff --git a/.dotter/machines/fedora.toml b/.dotter/machines/fedora.toml new file mode 100644 index 0000000..63e5773 --- /dev/null +++ b/.dotter/machines/fedora.toml @@ -0,0 +1,54 @@ +# Dotter only support merging tables, and put the key-values into the global scope of the tables +# If we try to use the same variable name in a package, it will throw an error +# if we try to use the same key in a nested table, it will be overriden with the last value +# +# the fix to this is to have a table with unique keys, this is supported by handlerbars {{#each}} directive +# but will give us an array as value, so we need to flatten it + +[utils.variables] +pkg-install = "sudo dnf install -y" + +[cli.variables.copr] +cli = [ + "atim/lazygit", + "atim/starship" +] + +[cli.variables.packages] +cli = [ + "bat", + "dnf-plugin-system-upgrade", + "duf", + "eza", + "fd-find", + "firefox-dev", + "flatpak", + "fzf", + "git", + "lazygit", + "neovim", + "remove-retired-packages", + "ripgrep", + "sd", + "starship", + "tealdeer", + "zoxide", + "zsh", +] + +[dev.variables.packages] +dev = [ + "gcc", + "gcc-c++", + "nodejs", + "openssl", + "openssl-devel", + "tmux", + "tree-sitter-cli", +] + +[rust.variables] +cargo.packages = [ + "yazi-fm", + "yazi-cli", +] diff --git a/.dotter/pre_deploy.sh b/.dotter/pre_deploy.sh index bbb0008..2cddc64 100644 --- a/.dotter/pre_deploy.sh +++ b/.dotter/pre_deploy.sh @@ -1 +1,43 @@ -sudo dnf install -y {{# each packages }} {{ this }} {{/each}} +#!/usr/bin/env bash +# shellcheck disable=all +# This is a handlerbars template, so ignore issues + +{{!~ Detect the distribution ~}} +{{~ assign "distro" (trim (command_output "awk -F= '/^ID=/ {print $2}' /etc/os-release | tr -d '\"'")) ~}} + +{{ header "Running pre deploy script for distro" (to_title_case distro) }} + +{{#if (eq distro "fedora") ~}} + +{{! extract the copr repositories variable }} +{{~ assign "copr" (flatten_table copr) ~}} + +{{#if (ne (len copr) 0) ~}} +{{ header "Enabling copr repositories" }} + +{{# each copr }} +sudo -B dnf copr enable -y '{{ this }}' +{{ /each }} + +{{~ /if }} + +{{ header "Installing dnf packages" }} +sudo -B dnf install -y {{~# each (flatten_table packages) }} '{{ this }}' {{~ /each }} + +{{~ /if }} + +{{#if (and dotter.packages.rust (not (is_executable "cargo"))) }} + +{{ header "Installing rust" }} +curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --no-modify-path --default-toolchain stable + +{{ /if }} + +{{#if (and dotter.packages.rust (ne (len cargo.packages) 0)) }} + +{{ header "Installing crates" }} +cargo install --locked {{# each cargo.packages }} "{{ this }}" {{ /each }} + +{{ /if }} + +{{ header "Done :3" }} diff --git a/.dotter/work-laptop.toml b/.dotter/work-laptop.toml index 7709e32..8e15648 100644 --- a/.dotter/work-laptop.toml +++ b/.dotter/work-laptop.toml @@ -1,5 +1,5 @@ -includes = [] -packages = ["default", "cli", "dev"] +includes = [".dotter/machines/fedora.toml"] +packages = ["cli", "dev"] [files] diff --git a/config/git/config b/config/git/config index 0c713a8..65fa801 100644 --- a/config/git/config +++ b/config/git/config @@ -8,3 +8,7 @@ [includeIf "gitdir:~/Repos/Work/"] path = ~/.config/git/config-work +[merge] + autoStash = true +[rebase] + autoStash = true From 76e89bf33c5a46bc2d35b74b568cfa38c600126a Mon Sep 17 00:00:00 2001 From: aleidk Date: Tue, 19 Nov 2024 15:48:45 -0300 Subject: [PATCH 08/31] minor_updates --- .../nvim/lua/aleidk/plugins/file-explorer.lua | 2 +- config/nvim/lua/aleidk/plugins/init.lua | 43 ------------------- config/nvim/lua/aleidk/plugins/lsp.lua | 3 ++ config/yazi/keymap.toml | 16 +++---- config/yazi/yazi.toml | 2 +- 5 files changed, 13 insertions(+), 53 deletions(-) diff --git a/config/nvim/lua/aleidk/plugins/file-explorer.lua b/config/nvim/lua/aleidk/plugins/file-explorer.lua index e7b6eaa..ab03cca 100644 --- a/config/nvim/lua/aleidk/plugins/file-explorer.lua +++ b/config/nvim/lua/aleidk/plugins/file-explorer.lua @@ -1,7 +1,7 @@ ---@type LazySpec return { "mikavilpas/yazi.nvim", - event = "VeryLazy", + -- event = "VeryLazy", keys = { -- 👇 in this section, choose your own keymappings! { diff --git a/config/nvim/lua/aleidk/plugins/init.lua b/config/nvim/lua/aleidk/plugins/init.lua index 8dbb557..4c6fcb8 100644 --- a/config/nvim/lua/aleidk/plugins/init.lua +++ b/config/nvim/lua/aleidk/plugins/init.lua @@ -35,41 +35,6 @@ return { { "uC", "CccHighlighterToggle", desc = "Toggle Color highlight" }, }, }, - -- Dotfiles management - { - "xvzc/chezmoi.nvim", - dependencies = { "nvim-lua/plenary.nvim", "alker0/chezmoi.vim" }, - config = function() - require("chezmoi").setup({ - { - edit = { - watch = false, - force = false, - }, - notification = { - on_open = true, - on_apply = true, - on_watch = false, - }, - telescope = { - select = { "" }, - }, - }, - }) - - vim.api.nvim_create_autocmd({ "BufRead", "BufNewFile" }, { - -- INFO: this should be the same as $(chezmoi source-path) - pattern = { os.getenv("HOME") .. "/.local/share/chezmoi/chezmoi/*" }, - callback = function() - vim.schedule(require("chezmoi.commands.__edit").watch) - end, - }) - local telescope = require("telescope") - - telescope.load_extension("chezmoi") - vim.keymap.set("n", "fz", telescope.extensions.chezmoi.find_files, { desc = "Find dotfile" }) - end, - }, { "pmizio/typescript-tools.nvim", dependencies = { "nvim-lua/plenary.nvim", "neovim/nvim-lspconfig" }, @@ -88,12 +53,4 @@ return { }, }, }, - - { - "olexsmir/gopher.nvim", - ft = "go", - build = function() - vim.cmd([[silent! GoInstallDeps]]) - end, - }, } diff --git a/config/nvim/lua/aleidk/plugins/lsp.lua b/config/nvim/lua/aleidk/plugins/lsp.lua index 4a4c40d..ab2f1aa 100644 --- a/config/nvim/lua/aleidk/plugins/lsp.lua +++ b/config/nvim/lua/aleidk/plugins/lsp.lua @@ -175,6 +175,9 @@ return { }), ["textDocument/hover"] = vim.lsp.with(vim.lsp.handlers.hover, { border = _border, + max_width = 200, + max_height = 200, + focus = true, }), }, } diff --git a/config/yazi/keymap.toml b/config/yazi/keymap.toml index 6e42a49..4c37eb5 100644 --- a/config/yazi/keymap.toml +++ b/config/yazi/keymap.toml @@ -45,11 +45,11 @@ keymap = [ { on = ["J"], run = "seek 5", desc = "Seek down 5 units in the preview" }, # Selection - { on = [ "" ], run = [ "select --state=none", "arrow 1" ], desc = "Toggle the current selection state" }, + { on = [ "" ], run = [ "toggle", "arrow 1" ], desc = "Toggle the current selection state" }, { on = [ "v" ], run = "visual_mode", desc = "Enter visual mode (selection mode)" }, { on = [ "V" ], run = "visual_mode --unset", desc = "Enter visual mode (unset mode)" }, - { on = [ "" ], run = "select_all --state=true", desc = "Select all files" }, - { on = [ "" ], run = "select_all --state=none", desc = "Inverse selection of all files" }, + { on = [ "" ], run = "toggle_all", desc = "Select all files" }, + { on = [ "" ], run = "toggle_all on", desc = "Inverse selection of all files" }, # Operation { on = [ "o" ], run = "open", desc = "Open the selected files" }, @@ -98,10 +98,10 @@ keymap = [ { on = [ "N" ], run = "find_arrow --previous", desc = "Go to previous found file" }, # Sorting - { on = [ ",", "m" ], run = "sort modified --reverse=no", desc = "Sort by modified time" }, - { on = [ ",", "M" ], run = "sort modified --reverse", desc = "Sort by modified time (reverse)" }, - { on = [ ",", "c" ], run = "sort created --reverse=no", desc = "Sort by created time" }, - { on = [ ",", "C" ], run = "sort created --reverse", desc = "Sort by created time (reverse)" }, + { on = [ ",", "m" ], run = "sort mtime --reverse=no", desc = "Sort by modified time" }, + { on = [ ",", "M" ], run = "sort mtime --reverse", desc = "Sort by modified time (reverse)" }, + { on = [ ",", "c" ], run = "sort btime --reverse=no", desc = "Sort by created time" }, + { on = [ ",", "C" ], run = "sort btime --reverse", desc = "Sort by created time (reverse)" }, { on = [ ",", "e" ], run = "sort extension --reverse=no", desc = "Sort by extension" }, { on = [ ",", "E" ], run = "sort extension --reverse", desc = "Sort by extension (reverse)" }, { on = [ ",", "a" ], run = "sort alphabetical --reverse=no", desc = "Sort alphabetically" }, @@ -162,7 +162,7 @@ keymap = [ { on = [ "~" ], run = "help", desc = "Open help" } ] -[select] +[pick] keymap = [ { on = [ "" ], run = "close", desc = "Cancel selection" }, diff --git a/config/yazi/yazi.toml b/config/yazi/yazi.toml index e59bd36..9c93301 100644 --- a/config/yazi/yazi.toml +++ b/config/yazi/yazi.toml @@ -188,7 +188,7 @@ quit_title = "{n} task{s} running, sure to quit? (y/N)" quit_origin = "center" quit_offset = [ 0, 2, 50, 3 ] -[select] +[pick] open_title = "Open with:" open_origin = "hovered" open_offset = [ 0, 1, 50, 7 ] From 82f734ad0c4efe2febd6e2c885b2a0f706b59b14 Mon Sep 17 00:00:00 2001 From: aleidk Date: Tue, 19 Nov 2024 16:47:12 -0300 Subject: [PATCH 09/31] add font and sudo config --- .dotter/global.toml | 3 +++ .dotter/pre_deploy.sh | 24 ++++++++++++++++++++++++ config/yazi/yazi.toml | 2 +- 3 files changed, 28 insertions(+), 1 deletion(-) diff --git a/.dotter/global.toml b/.dotter/global.toml index 42caea7..3ea2fed 100644 --- a/.dotter/global.toml +++ b/.dotter/global.toml @@ -9,6 +9,9 @@ header = ".dotter/handlebars_helpers/header.rhai" [cli] depends = ["nvim", "zsh"] +[cli.variables] +nerd_font = "JetBrainsMono" + [cli.files] "config/bat" = "~/.config/bat" "config/sesh" = "~/.config/sesh" diff --git a/.dotter/pre_deploy.sh b/.dotter/pre_deploy.sh index 2cddc64..f767eb5 100644 --- a/.dotter/pre_deploy.sh +++ b/.dotter/pre_deploy.sh @@ -7,6 +7,15 @@ {{ header "Running pre deploy script for distro" (to_title_case distro) }} +{{ #if (and dotter.packages.cli (is_executable "sudo")) }} +{{ header "Configuring sudo" }} + +echo "Defaults pwfeedback" | sudo -B tee /etc/sudoers.d/01-user +echo "Defaults timestamp_timeout=10" | sudo -B tee -a /etc/sudoers.d/01-user +echo "Defaults timestamp_type=global" | sudo -B tee -a /etc/sudoers.d/01-user + +{{ /if }} + {{#if (eq distro "fedora") ~}} {{! extract the copr repositories variable }} @@ -40,4 +49,19 @@ cargo install --locked {{# each cargo.packages }} "{{ this }}" {{ /each }} {{ /if }} +{{ #if dotter.packages.cli }} + +{{ header "Configuring Nerd Fonts" }} + +FONT_DIR="$HOME/.local/share/fonts" +mkdir -p "$FONT_DIR" +tmp_dir=$(mktemp -d) + +curl -L https://github.com/ryanoasis/nerd-fonts/releases/latest/download/{{ nerd_font }}.zip -o "$tmp_dir/{{ nerd_font}}.zip" +unzip -o "$tmp_dir/{{nerd_font}}.zip" -d ${FONT_DIR}/{{ nerd_font }} + +rm -rf "$tmp_dir" + +{{ /if }} + {{ header "Done :3" }} diff --git a/config/yazi/yazi.toml b/config/yazi/yazi.toml index 9c93301..e80d3fe 100644 --- a/config/yazi/yazi.toml +++ b/config/yazi/yazi.toml @@ -139,7 +139,7 @@ cd_origin = "top-center" cd_offset = [ 0, 2, 50, 3 ] # create -create_title = ["Create:", "Create (dir):"] +create_title = "Create:" create_origin = "hovered" create_offset = [ 0, 1, 50, 3 ] From f33c57f1a4064d7f9bc33242f29619c0c330bfc1 Mon Sep 17 00:00:00 2001 From: aleidk Date: Wed, 20 Nov 2024 10:36:16 -0300 Subject: [PATCH 10/31] update fzf completion for zsh --- config/zsh/zshrc | 37 +++++++++++++++++++++++++++++++++++-- 1 file changed, 35 insertions(+), 2 deletions(-) diff --git a/config/zsh/zshrc b/config/zsh/zshrc index 9854a77..c0cdda6 100644 --- a/config/zsh/zshrc +++ b/config/zsh/zshrc @@ -116,9 +116,42 @@ setopt hist_find_no_dups zstyle ':completion:*' matcher-list 'm:{a-z}={A-Za-z}' zstyle ':completion:*' list-colors "${(s.:.)LS_COLORS}" zstyle ':completion:*' menu no -zstyle ':fzf-tab:complete:cd:*' fzf-preview 'ls --color $realpath' -zstyle ':fzf-tab:complete:__zoxide_z:*' fzf-preview 'ls --color $realpath' +zstyle ':fzf-tab:*' show-group full +zstyle ':fzf-tab:*' continuous-trigger '/' +zstyle ':fzf-tab:*' fzf-flags --height=10% --layout=reverse --info=inline --ansi -i --preview-window=right:60%:wrap +# ── Previewers ─────────────────────────────────────────────────────── + +# Directories +zstyle ':fzf-tab:complete:__zoxide_z:*' fzf-preview \ + 'eza -lha --color=always --icons --git --no-permissions --tree --level 3 --group-directories-first --total-size $realpath' +zstyle ':fzf-tab:complete:cd:*' fzf-preview \ + 'eza -lha --color=always --icons --git --no-permissions --tree --level 3 --group-directories-first --total-size $realpath' + +# systemctl +zstyle ':fzf-tab:complete:systemctl-*:*' fzf-preview 'SYSTEMD_COLORS=1 systemctl status $word' + +# git +zstyle ':fzf-tab:complete:git-(add|diff|restore):*' fzf-preview \ + 'git diff $word | bat -plman --color=always' +zstyle ':fzf-tab:complete:git-log:*' fzf-preview \ + 'git log --decorate --graph --color=always $word' +zstyle ':fzf-tab:complete:git-help:*' fzf-preview \ + 'git help $word | bat -plman --color=always' +zstyle ':fzf-tab:complete:git-show:*' fzf-preview \ + 'case "$group" in + "commit tag") git show --color=always $word ;; + *) git show --color=always $word | bat -plman --color=always ;; + esac' +zstyle ':fzf-tab:complete:git-checkout:*' fzf-preview \ + 'case "$group" in + "modified file") git diff $word | bat -plman --color=always ;; + "recent commit object name") git show --color=always $word | bat -plman --color=always ;; + *) git log --decorate --graph --color=always $word ;; + esac' + +# TLDR + zstyle ':fzf-tab:complete:tldr:argument-1' fzf-preview 'tldr --color always $word' # ╭──────────────────────────────────────────────────────────╮ # │ ZSH Options │ From 8ccda618116e9c7bac6569d8d3a2938dbc6255eb Mon Sep 17 00:00:00 2001 From: aleidk Date: Wed, 20 Nov 2024 11:29:46 -0300 Subject: [PATCH 11/31] prevent unecesary pre_deploy script executions --- .dotter/global.toml | 11 +++++++++-- .dotter/post_deploy.sh | 3 +++ .dotter/pre_deploy.sh | 9 +++++++++ .dotter/work-laptop.toml | 2 +- config/zsh/zshrc | 20 ++++++++++++++++++++ 5 files changed, 42 insertions(+), 3 deletions(-) create mode 100644 .dotter/post_deploy.sh diff --git a/.dotter/global.toml b/.dotter/global.toml index 3ea2fed..6fcfa77 100644 --- a/.dotter/global.toml +++ b/.dotter/global.toml @@ -7,7 +7,7 @@ header = ".dotter/handlebars_helpers/header.rhai" # CLI package [cli] -depends = ["nvim", "zsh"] +depends = ["nvim", "zsh", "fzf", "starship"] [cli.variables] nerd_font = "JetBrainsMono" @@ -15,7 +15,6 @@ nerd_font = "JetBrainsMono" [cli.files] "config/bat" = "~/.config/bat" "config/sesh" = "~/.config/sesh" -"config/starship.toml" = "~/.config/starship.toml" "config/tmux" = "~/.config/tmux" "config/yazi" = "~/.config/yazi" "config/zellij" = "~/.config/zellij" @@ -34,8 +33,13 @@ depends = ["rust"] "config/zsh/aliases" = {target = "~/.config/zsh/aliases", type="symbolic"} "config/zsh/completions" = {target = "~/.config/zsh/completions", type = "symbolic"} "config/zsh/functions" = "~/.config/zsh/functions" + +[fzf.files] "config/fzf" = "~/.config/fzf" +[starship.files] +"config/starship.toml" = "~/.config/starship.toml" + [nushell.files] "config/nushell" = "~/.config/nushell" @@ -44,3 +48,6 @@ depends = ["rust"] [rust.variables] cargo.packages = [] + +[mise.files] +"config/mise" = "~/.config/mise" diff --git a/.dotter/post_deploy.sh b/.dotter/post_deploy.sh new file mode 100644 index 0000000..db1b97d --- /dev/null +++ b/.dotter/post_deploy.sh @@ -0,0 +1,3 @@ +#!/usr/bin/env bash + +sha256sum .dotter/cache/.dotter/pre_deploy.sh >.dotter/cache/pre_deploy.checksum diff --git a/.dotter/pre_deploy.sh b/.dotter/pre_deploy.sh index f767eb5..9b30d7a 100644 --- a/.dotter/pre_deploy.sh +++ b/.dotter/pre_deploy.sh @@ -2,6 +2,15 @@ # shellcheck disable=all # This is a handlerbars template, so ignore issues + +checksum_file=".dotter/cache/pre_deploy.checksum" + +if [[ -e "$checksum_file" ]] && sha256sum --check "$checksum_file" >/dev/null 2>&1; then + echo "Pre deploy script has not changed, skiping script execution" + echo "To override this, remove the checksum file: $checksum_file" + exit 0 +fi + {{!~ Detect the distribution ~}} {{~ assign "distro" (trim (command_output "awk -F= '/^ID=/ {print $2}' /etc/os-release | tr -d '\"'")) ~}} diff --git a/.dotter/work-laptop.toml b/.dotter/work-laptop.toml index 8e15648..9b0a673 100644 --- a/.dotter/work-laptop.toml +++ b/.dotter/work-laptop.toml @@ -1,5 +1,5 @@ includes = [".dotter/machines/fedora.toml"] -packages = ["cli", "dev"] +packages = ["cli", "dev", "mise"] [files] diff --git a/config/zsh/zshrc b/config/zsh/zshrc index c0cdda6..21c40f2 100644 --- a/config/zsh/zshrc +++ b/config/zsh/zshrc @@ -115,6 +115,9 @@ setopt hist_find_no_dups # case insensitive completion zstyle ':completion:*' matcher-list 'm:{a-z}={A-Za-z}' zstyle ':completion:*' list-colors "${(s.:.)LS_COLORS}" + +{{ #if dotter.packages.fzf }} + zstyle ':completion:*' menu no zstyle ':fzf-tab:*' show-group full zstyle ':fzf-tab:*' continuous-trigger '/' @@ -153,6 +156,8 @@ zstyle ':fzf-tab:complete:git-checkout:*' fzf-preview \ # TLDR zstyle ':fzf-tab:complete:tldr:argument-1' fzf-preview 'tldr --color always $word' +{{ /if }} + # ╭──────────────────────────────────────────────────────────╮ # │ ZSH Options │ # ╰──────────────────────────────────────────────────────────╯ @@ -163,7 +168,10 @@ setopt GLOB_DOTS # ╭──────────────────────────────────────────────────────────╮ # │ Source other files │ # ╰──────────────────────────────────────────────────────────╯ + +{{ #if dotter.packages.fzf }} source $HOME/.config/fzf/fzfrc +{{ /if }} # this prevents errors and not loading some files for file in $HOME/.config/zsh/**/*.zsh; do @@ -173,7 +181,19 @@ done # ╭──────────────────────────────────────────────────────────╮ # │ Init external programs │ # ╰──────────────────────────────────────────────────────────╯ + +{{ #if dotter.packages.fzf }} eval "$(fzf --zsh)" +{{ /if ~}} + +{{ #if (is_executable "zoxide") }} eval "$(zoxide init --cmd cd zsh)" +{{ /if ~}} + +{{ #if dotter.packages.starship }} eval "$(starship init zsh)" +{{ /if ~}} + +{{ #if dotter.packages.mise }} eval "$(mise activate zsh)" +{{ /if ~}} From ea5957f6d445bbea741202dbf48fccf704cffedd Mon Sep 17 00:00:00 2001 From: aleidk Date: Wed, 20 Nov 2024 12:12:03 -0300 Subject: [PATCH 12/31] transform zsh files into templates --- config/zsh/zprofile | 45 +++++++++++++++++++++++++++------------------ config/zsh/zshrc | 3 +++ 2 files changed, 30 insertions(+), 18 deletions(-) diff --git a/config/zsh/zprofile b/config/zsh/zprofile index cd1614c..ebeea46 100644 --- a/config/zsh/zprofile +++ b/config/zsh/zprofile @@ -5,37 +5,46 @@ update_path() { } # Set manually -export DOTS="$HOME/.local/share/chezmoi" +export REPOS="$HOME/.local/share/chezmoi" +export DOTS="$REPOS/Private/dots" export EDITOR=nvim export VISUAL="$EDITOR" export QT_STYLE_OVERRIDE=kvantum export MOZ_ENABLE_WAYLAND=1 +update_path "$DOTS/scripts" +update_path "$HOME/.local/bin" +update_path "$HOME/bin" +update_path "/usr/local/bin" + # Dev Stuff +{{ #if (is_executable "npm") }} export NPM_PACKAGES="$HOME/.npm-packages" export NODE_PATH="$NPM_PACKAGES/lib/node_modules${NODE_PATH:+:$NODE_PATH}" -export PNPM_HOME="$HOME/.local/share/pnpm" -export ESLINT_USE_FLAT_CONFIG=true -# . "$HOME/.cargo/env" -# source "$HOME/.rye/env" # Unset manpath so we can inherit from /etc/manpath via the `manpath` # command unset MANPATH # delete if you already modified MANPATH elsewhere in your config export MANPATH="$NPM_PACKAGES/share/man:$(manpath)" -# PATH -update_path "/usr/local/bin" -update_path "$HOME/.local/bin" -update_path "$HOME/.cargo/bin/" -update_path "$HOME/.spicetify" -update_path "$DOTS/scripts" -update_path "$HOME/bin" update_path "$NPM_PACKAGES/bin" -update_path "$PNPM_HOME" -update_path "$HOME/.local/share/rtx/shims" -update_path "$HOME/.spicetify" +{{ /if }} -if [[ $OSTYPE =~ 'darwin' ]]; then - eval "$(/opt/homebrew/bin/brew shellenv)" -fi +{{ #if (is_executable "pnpm") }} +export PNPM_HOME="$HOME/.local/share/pnpm" +export ESLINT_USE_FLAT_CONFIG=true +update_path "$PNPM_HOME" +{{ /if }} + +{{ #if (is_executable "rye") }} +source "$HOME/.rye/env" +{{ /if }} + +{{ #if (is_executable "cargo") }} +. "$HOME/.cargo/env" +update_path "$HOME/.cargo/bin/" +{{ /if }} + +{{~ #if (eq (env_var "OS") "macos") }} +eval "$(/opt/homebrew/bin/brew shellenv)" +{{ /if ~}} diff --git a/config/zsh/zshrc b/config/zsh/zshrc index 21c40f2..33e96a1 100644 --- a/config/zsh/zshrc +++ b/config/zsh/zshrc @@ -26,7 +26,10 @@ zinit snippet "https://raw.githubusercontent.com/catppuccin/zsh-syntax-highlight zinit light zsh-users/zsh-syntax-highlighting zinit light zsh-users/zsh-completions zinit light zsh-users/zsh-autosuggestions + +{{ #if dotter.packages.fzf }} zinit light Aloxaf/fzf-tab +{{ /if }} # ╭──────────────────────────────────────────────────────────╮ # │ Oh My Zsh snippets │ From 071be15dc147f90f51dd461c0b06d173f2ea2ee4 Mon Sep 17 00:00:00 2001 From: aleidk Date: Wed, 20 Nov 2024 15:11:55 -0300 Subject: [PATCH 13/31] re-structure neovim plugins also delete unused ones --- .dotter/global.toml | 18 +++++ .dotter/work-laptop.toml | 3 + config/nvim/.luarc.json | 5 ++ config/nvim/init.lua | 21 +---- config/nvim/lazy-lock.json | 14 +--- config/nvim/lua/aleidk/lazy.lua | 35 ++++++++ .../{plugins => plugins-base}/auto-pairs.lua | 0 .../{plugins => plugins-base}/bookmarks.lua | 0 .../{plugins => plugins-base}/comments.lua | 15 ---- .../{plugins => plugins-base}/dressing.lua | 0 .../file-explorer.lua | 2 +- .../indent-blankline.lua | 0 .../{plugins => plugins-base}/noice.lua | 0 .../{plugins => plugins-base}/quickfix.lua | 0 .../{plugins => plugins-base}/treesitter.lua | 0 .../lua/aleidk/plugins-base/undo-tree.lua | 13 +++ .../{plugins => plugins-core}/colorscheme.lua | 0 config/nvim/lua/aleidk/plugins-core/init.lua | 14 ++++ .../{plugins => plugins-core}/key-help.lua | 0 .../{plugins => plugins-core}/lualine.lua | 0 .../{plugins => plugins-core}/markdown.lua | 0 .../smart-splits.lua | 0 .../{plugins => plugins-core}/surround.lua | 0 .../{plugins => plugins-core}/telescope.lua | 0 .../todo-comments.lua | 0 .../aleidk/{plugins => plugins-ide}/ai.lua | 0 .../lua/aleidk/plugins-ide/color-picker.lua | 15 ++++ .../{plugins => plugins-ide}/completion.lua | 0 .../{plugins => plugins-ide}/database.lua | 2 +- .../nvim/lua/aleidk/plugins-ide/doc-gen.lua | 15 ++++ .../{plugins => plugins-ide}/formatter.lua | 0 .../aleidk/{plugins => plugins-ide}/git.lua | 23 +----- .../{plugins => plugins-ide}/linters.lua | 0 .../aleidk/{plugins => plugins-ide}/lsp.lua | 0 .../{plugins => plugins-ide}/luasnip.lua | 0 .../aleidk/{plugins => plugins-ide}/mason.lua | 0 .../{plugins => plugins-ide}/remote-sshfs.lua | 0 .../{plugins => plugins-ide}/task-runner.lua | 0 .../{plugins => plugins-ide}/trouble.lua | 0 .../ts-node-action.lua | 0 .../aleidk/plugins-ide/typescript-tools.lua | 18 +++++ config/nvim/lua/aleidk/plugins/init.lua | 56 ------------- .../nvim/lua/aleidk/plugins/pretty-fold.lua | 43 ---------- config/nvim/lua/aleidk/plugins/sessions.lua | 23 ------ config/nvim/lua/aleidk/plugins/zen.lua | 81 ------------------- config/nvim/lua/aleidk/utils.lua | 7 ++ config/yazi/keymap.toml | 6 +- 47 files changed, 155 insertions(+), 274 deletions(-) create mode 100644 config/nvim/.luarc.json create mode 100644 config/nvim/lua/aleidk/lazy.lua rename config/nvim/lua/aleidk/{plugins => plugins-base}/auto-pairs.lua (100%) rename config/nvim/lua/aleidk/{plugins => plugins-base}/bookmarks.lua (100%) rename config/nvim/lua/aleidk/{plugins => plugins-base}/comments.lua (72%) rename config/nvim/lua/aleidk/{plugins => plugins-base}/dressing.lua (100%) rename config/nvim/lua/aleidk/{plugins => plugins-base}/file-explorer.lua (98%) rename config/nvim/lua/aleidk/{plugins => plugins-base}/indent-blankline.lua (100%) rename config/nvim/lua/aleidk/{plugins => plugins-base}/noice.lua (100%) rename config/nvim/lua/aleidk/{plugins => plugins-base}/quickfix.lua (100%) rename config/nvim/lua/aleidk/{plugins => plugins-base}/treesitter.lua (100%) create mode 100644 config/nvim/lua/aleidk/plugins-base/undo-tree.lua rename config/nvim/lua/aleidk/{plugins => plugins-core}/colorscheme.lua (100%) create mode 100644 config/nvim/lua/aleidk/plugins-core/init.lua rename config/nvim/lua/aleidk/{plugins => plugins-core}/key-help.lua (100%) rename config/nvim/lua/aleidk/{plugins => plugins-core}/lualine.lua (100%) rename config/nvim/lua/aleidk/{plugins => plugins-core}/markdown.lua (100%) rename config/nvim/lua/aleidk/{plugins => plugins-core}/smart-splits.lua (100%) rename config/nvim/lua/aleidk/{plugins => plugins-core}/surround.lua (100%) rename config/nvim/lua/aleidk/{plugins => plugins-core}/telescope.lua (100%) rename config/nvim/lua/aleidk/{plugins => plugins-core}/todo-comments.lua (100%) rename config/nvim/lua/aleidk/{plugins => plugins-ide}/ai.lua (100%) create mode 100644 config/nvim/lua/aleidk/plugins-ide/color-picker.lua rename config/nvim/lua/aleidk/{plugins => plugins-ide}/completion.lua (100%) rename config/nvim/lua/aleidk/{plugins => plugins-ide}/database.lua (94%) create mode 100644 config/nvim/lua/aleidk/plugins-ide/doc-gen.lua rename config/nvim/lua/aleidk/{plugins => plugins-ide}/formatter.lua (100%) rename config/nvim/lua/aleidk/{plugins => plugins-ide}/git.lua (82%) rename config/nvim/lua/aleidk/{plugins => plugins-ide}/linters.lua (100%) rename config/nvim/lua/aleidk/{plugins => plugins-ide}/lsp.lua (100%) rename config/nvim/lua/aleidk/{plugins => plugins-ide}/luasnip.lua (100%) rename config/nvim/lua/aleidk/{plugins => plugins-ide}/mason.lua (100%) rename config/nvim/lua/aleidk/{plugins => plugins-ide}/remote-sshfs.lua (100%) rename config/nvim/lua/aleidk/{plugins => plugins-ide}/task-runner.lua (100%) rename config/nvim/lua/aleidk/{plugins => plugins-ide}/trouble.lua (100%) rename config/nvim/lua/aleidk/{plugins => plugins-ide}/ts-node-action.lua (100%) create mode 100644 config/nvim/lua/aleidk/plugins-ide/typescript-tools.lua delete mode 100644 config/nvim/lua/aleidk/plugins/init.lua delete mode 100644 config/nvim/lua/aleidk/plugins/pretty-fold.lua delete mode 100644 config/nvim/lua/aleidk/plugins/sessions.lua delete mode 100644 config/nvim/lua/aleidk/plugins/zen.lua create mode 100644 config/nvim/lua/aleidk/utils.lua diff --git a/.dotter/global.toml b/.dotter/global.toml index 6fcfa77..7770d4f 100644 --- a/.dotter/global.toml +++ b/.dotter/global.toml @@ -45,6 +45,24 @@ depends = ["rust"] [nvim.files] "config/nvim" = "~/.config/nvim" +[nvim.files."config/nvim/lua/aleidk/lazy.lua"] +target = "~/.config/nvim/lua/aleidk/lazy.lua" +type = "template" +prepend = """ +local enabled_plugins = { + nvim_core = {{ nvim-core }}, + nvim_base = {{ nvim-base }}, + nvim_ide = {{ nvim-ide }}, +} + +""" + +# Handle package activation from Lazy instead of dotter +# This will prevent conflics in lazy-lock.json for having different plugins +[nvim.variables] +nvim-core = true +nvim-base = false +nvim-ide = false [rust.variables] cargo.packages = [] diff --git a/.dotter/work-laptop.toml b/.dotter/work-laptop.toml index 9b0a673..d990e6b 100644 --- a/.dotter/work-laptop.toml +++ b/.dotter/work-laptop.toml @@ -4,3 +4,6 @@ packages = ["cli", "dev", "mise"] [files] [variables] +nvim-core = true +nvim-base = true +nvim-ide = true diff --git a/config/nvim/.luarc.json b/config/nvim/.luarc.json new file mode 100644 index 0000000..1aa7674 --- /dev/null +++ b/config/nvim/.luarc.json @@ -0,0 +1,5 @@ +{ + "diagnostics.globals": [ + "enabled_plugins" + ] +} \ No newline at end of file diff --git a/config/nvim/init.lua b/config/nvim/init.lua index a9b3bcc..2925f22 100644 --- a/config/nvim/init.lua +++ b/config/nvim/init.lua @@ -1,26 +1,7 @@ -- Loadnoptions before anything require("aleidk.options") --- Init PLugins - --- Install package manager https://github.com/folke/lazy.nvim -local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim" -if not vim.loop.fs_stat(lazypath) then - vim.fn.system({ - "git", - "clone", - "--filter=blob:none", - "https://github.com/folke/lazy.nvim.git", - "--branch=stable", -- latest stable release - lazypath, - }) -end -vim.opt.rtp:prepend(lazypath) - --- Load plugins -require("lazy").setup("aleidk.plugins") - --- Rest of configuratin +require("aleidk.lazy") require("aleidk.keymaps") require("aleidk.autocmds") diff --git a/config/nvim/lazy-lock.json b/config/nvim/lazy-lock.json index 9e59165..7bafe03 100644 --- a/config/nvim/lazy-lock.json +++ b/config/nvim/lazy-lock.json @@ -1,9 +1,6 @@ { "LuaSnip": { "branch": "master", "commit": "ce0a05ab4e2839e1c48d072c5236cce846a387bc" }, - "auto-session": { "branch": "main", "commit": "4b0728715e674ad9c18f1519127dcaed59f9981b" }, "ccc.nvim": { "branch": "main", "commit": "4fb5abaef2f2e0540fe22d4d74a9841205fff9e4" }, - "chezmoi.nvim": { "branch": "main", "commit": "faf61465718424696269b2647077331b3e4605f1" }, - "chezmoi.vim": { "branch": "main", "commit": "10f2692791b5e512a2c1bb4dc560b42ca5bf71fd" }, "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, "cmp-cmdline": { "branch": "main", "commit": "d250c63aa13ead745e3a40f61fdd3470efde3923" }, "cmp-conventionalcommits": { "branch": "master", "commit": "a4dfacf0601130b7f8afa7c948d735c27802fb7f" }, @@ -21,10 +18,9 @@ "dressing.nvim": { "branch": "master", "commit": "6741f1062d3dc6e4755367a7e9b347b553623f04" }, "friendly-snippets": { "branch": "main", "commit": "45a1b96e46efe5fce8af325d4bed45feb9d29d0f" }, "gitsigns.nvim": { "branch": "main", "commit": "e9c4187c3774a46df2d086a66cf3a7e6bea4c432" }, - "gopher.nvim": { "branch": "main", "commit": "f55c15ada8e02398000c04a96ef44d986cd01051" }, "grapple.nvim": { "branch": "main", "commit": "7aedc261b05a6c030397c4bc26416efbe746ebf1" }, "indent-blankline.nvim": { "branch": "master", "commit": "65e20ab94a26d0e14acac5049b8641336819dfc7" }, - "lazy.nvim": { "branch": "main", "commit": "b02c9eae6a250f98908c146d1dc1a891f5019f0a" }, + "lazy.nvim": { "branch": "main", "commit": "56ead98e05bb37a4ec28930a54d836d033cf00f2" }, "lazygit.nvim": { "branch": "main", "commit": "dc56df433bfbf107fee0139e187eb9750878fa84" }, "lualine.nvim": { "branch": "master", "commit": "6a40b530539d2209f7dc0492f3681c8c126647ad" }, "mason-lspconfig.nvim": { "branch": "main", "commit": "37a336b653f8594df75c827ed589f1c91d91ff6c" }, @@ -49,10 +45,8 @@ "nvim-ts-autotag": { "branch": "main", "commit": "323a3e16ed603e2e17b26b1c836d1e86c279f726" }, "nvim-ts-context-commentstring": { "branch": "main", "commit": "6b5f95aa4d24f2c629a74f2c935c702b08dbde62" }, "nvim-web-devicons": { "branch": "master", "commit": "c0cfc1738361b5da1cd0a962dd6f774cc444f856" }, - "octo.nvim": { "branch": "master", "commit": "aa5dfa573220a0a511a25ee14ce1570b6c23e56a" }, "overseer.nvim": { "branch": "master", "commit": "15b6249eaf71ebbc8bf0ed279e045f2bc1f28007" }, "plenary.nvim": { "branch": "master", "commit": "a3e3bc82a3f95c5ed0d7201546d5d2c19b20d683" }, - "pretty-fold.nvim": { "branch": "master", "commit": "a7d8b424abe0eedf50116c460fbe6dfd5783b1d5" }, "remote-sshfs.nvim": { "branch": "main", "commit": "8f05563150fbd713027471eed56f391b053ba8b8" }, "render-markdown": { "branch": "main", "commit": "123048b428eb85618780fcef9ea9f4d68b5d2508" }, "smart-splits.nvim": { "branch": "master", "commit": "95833675cd92538bf9cded1d2d58d1fc271c5428" }, @@ -62,15 +56,13 @@ "treesj": { "branch": "main", "commit": "6e8bd008bacd5ad001c3953017c1dca20709e915" }, "trouble.nvim": { "branch": "main", "commit": "03c1fbf518bef683422a3be9643c3da190903488" }, "ts-node-action": { "branch": "master", "commit": "6d3b60754fd87963d70eadaa2f77873b447eac26" }, - "twilight.nvim": { "branch": "main", "commit": "2b632c169a4b51b1eba5be90fde22a80c51c990e" }, "typescript-tools.nvim": { "branch": "master", "commit": "5da4d695d66f676eb6ea766b946e86f93baaafe7" }, "undotree": { "branch": "master", "commit": "56c684a805fe948936cda0d1b19505b84ad7e065" }, - "vim-dadbod": { "branch": "master", "commit": "7888cb7164d69783d3dce4e0283decd26b82538b" }, - "vim-dadbod-completion": { "branch": "master", "commit": "8c9051c1cfc73fcf5bfe9a84db7097e4f7c0180d" }, + "vim-dadbod": { "branch": "master", "commit": "fe5a55e92b2dded7c404006147ef97fb073d8b1b" }, + "vim-dadbod-completion": { "branch": "master", "commit": "da0e75c09c27a82aad078d993bb1b2f4afd43427" }, "vim-dadbod-ui": { "branch": "master", "commit": "f74a31e8c6c5a9dccc63450a09d5cd64a9294330" }, "vim-illuminate": { "branch": "master", "commit": "5eeb7951fc630682c322e88a9bbdae5c224ff0aa" }, "vim-sleuth": { "branch": "master", "commit": "1cc4557420f215d02c4d2645a748a816c220e99b" }, "yazi.nvim": { "branch": "main", "commit": "faa03e9acb894533b91c811d0dafd816b995088f" }, - "zen-mode.nvim": { "branch": "main", "commit": "2694c5a2bc4dc26c7a9e74b9e2b812920c90a830" }, "zk-nvim": { "branch": "main", "commit": "dbf4eeab55b08856c9d6b6722dbff39630bb35eb" } } diff --git a/config/nvim/lua/aleidk/lazy.lua b/config/nvim/lua/aleidk/lazy.lua new file mode 100644 index 0000000..31c475e --- /dev/null +++ b/config/nvim/lua/aleidk/lazy.lua @@ -0,0 +1,35 @@ +-- Bootstrap lazy.nvim +-- Load this file after options has been set + +local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim" +if not (vim.uv or vim.loop).fs_stat(lazypath) then + local lazyrepo = "https://github.com/folke/lazy.nvim.git" + local out = vim.fn.system({ "git", "clone", "--filter=blob:none", "--branch=stable", lazyrepo, lazypath }) + if vim.v.shell_error ~= 0 then + vim.api.nvim_echo({ + { "Failed to clone lazy.nvim:\n", "ErrorMsg" }, + { out, "WarningMsg" }, + { "\nPress any key to exit..." }, + }, true, {}) + vim.fn.getchar() + os.exit(1) + end +end +vim.opt.rtp:prepend(lazypath) + +-- enabled_plugins is injected as a local variable in the top of the file by the dotfile manager +-- See: .dotter/global.toml inside [nvim.files] & [nvim.variables] table +require("lazy").setup({ + spec = { + { import = "aleidk.plugins-core", enabled = enabled_plugins.nvim_core }, + { import = "aleidk.plugins-base", enabled = enabled_plugins.nvim_base }, + { import = "aleidk.plugins-ide", enabled = enabled_plugins.nvim_ide }, + }, + + install = { colorscheme = { "catppuccin" } }, + checker = { enabled = true }, +}) + +return { + enabled_plugins +} diff --git a/config/nvim/lua/aleidk/plugins/auto-pairs.lua b/config/nvim/lua/aleidk/plugins-base/auto-pairs.lua similarity index 100% rename from config/nvim/lua/aleidk/plugins/auto-pairs.lua rename to config/nvim/lua/aleidk/plugins-base/auto-pairs.lua diff --git a/config/nvim/lua/aleidk/plugins/bookmarks.lua b/config/nvim/lua/aleidk/plugins-base/bookmarks.lua similarity index 100% rename from config/nvim/lua/aleidk/plugins/bookmarks.lua rename to config/nvim/lua/aleidk/plugins-base/bookmarks.lua diff --git a/config/nvim/lua/aleidk/plugins/comments.lua b/config/nvim/lua/aleidk/plugins-base/comments.lua similarity index 72% rename from config/nvim/lua/aleidk/plugins/comments.lua rename to config/nvim/lua/aleidk/plugins-base/comments.lua index e9e3be9..083aaff 100644 --- a/config/nvim/lua/aleidk/plugins/comments.lua +++ b/config/nvim/lua/aleidk/plugins-base/comments.lua @@ -31,19 +31,4 @@ return { MAP({ "n", "v" }, "gcl", cb.llline, "Create a comment line") end, }, - { - "danymat/neogen", - opts = { snippet_engine = "luasnip" }, - dependencies = { "nvim-treesitter/nvim-treesitter" }, - version = "*", -- stable releases - keys = { - { - "gcd", - function() - require("neogen").generate() - end, - desc = "Generate comment docstring", - }, - }, - }, } diff --git a/config/nvim/lua/aleidk/plugins/dressing.lua b/config/nvim/lua/aleidk/plugins-base/dressing.lua similarity index 100% rename from config/nvim/lua/aleidk/plugins/dressing.lua rename to config/nvim/lua/aleidk/plugins-base/dressing.lua diff --git a/config/nvim/lua/aleidk/plugins/file-explorer.lua b/config/nvim/lua/aleidk/plugins-base/file-explorer.lua similarity index 98% rename from config/nvim/lua/aleidk/plugins/file-explorer.lua rename to config/nvim/lua/aleidk/plugins-base/file-explorer.lua index ab03cca..b0dfa3e 100644 --- a/config/nvim/lua/aleidk/plugins/file-explorer.lua +++ b/config/nvim/lua/aleidk/plugins-base/file-explorer.lua @@ -11,7 +11,7 @@ return { }, { -- Open in the current working directory - "-", + "E", "Yazi cwd", desc = "Open the file manager in nvim's working directory", }, diff --git a/config/nvim/lua/aleidk/plugins/indent-blankline.lua b/config/nvim/lua/aleidk/plugins-base/indent-blankline.lua similarity index 100% rename from config/nvim/lua/aleidk/plugins/indent-blankline.lua rename to config/nvim/lua/aleidk/plugins-base/indent-blankline.lua diff --git a/config/nvim/lua/aleidk/plugins/noice.lua b/config/nvim/lua/aleidk/plugins-base/noice.lua similarity index 100% rename from config/nvim/lua/aleidk/plugins/noice.lua rename to config/nvim/lua/aleidk/plugins-base/noice.lua diff --git a/config/nvim/lua/aleidk/plugins/quickfix.lua b/config/nvim/lua/aleidk/plugins-base/quickfix.lua similarity index 100% rename from config/nvim/lua/aleidk/plugins/quickfix.lua rename to config/nvim/lua/aleidk/plugins-base/quickfix.lua diff --git a/config/nvim/lua/aleidk/plugins/treesitter.lua b/config/nvim/lua/aleidk/plugins-base/treesitter.lua similarity index 100% rename from config/nvim/lua/aleidk/plugins/treesitter.lua rename to config/nvim/lua/aleidk/plugins-base/treesitter.lua diff --git a/config/nvim/lua/aleidk/plugins-base/undo-tree.lua b/config/nvim/lua/aleidk/plugins-base/undo-tree.lua new file mode 100644 index 0000000..ba5adb4 --- /dev/null +++ b/config/nvim/lua/aleidk/plugins-base/undo-tree.lua @@ -0,0 +1,13 @@ +return { + { + "mbbill/undotree", + config = function() + vim.g.undotree_WindowLayout = 2 + vim.g.undotree_ShortIndicators = 1 + vim.g.undotree_SetFocusWhenToggle = 1 + end, + keys = { + { "fu", vim.cmd.UndotreeToggle, desc = "Undo tree" }, + }, + }, +} diff --git a/config/nvim/lua/aleidk/plugins/colorscheme.lua b/config/nvim/lua/aleidk/plugins-core/colorscheme.lua similarity index 100% rename from config/nvim/lua/aleidk/plugins/colorscheme.lua rename to config/nvim/lua/aleidk/plugins-core/colorscheme.lua diff --git a/config/nvim/lua/aleidk/plugins-core/init.lua b/config/nvim/lua/aleidk/plugins-core/init.lua new file mode 100644 index 0000000..3499f7d --- /dev/null +++ b/config/nvim/lua/aleidk/plugins-core/init.lua @@ -0,0 +1,14 @@ +return { + -- Detect tabstop and shiftwidth automatically + "tpope/vim-sleuth", + { "nvim-tree/nvim-web-devicons", lazy = true }, + { + -- Highlight word under cursor + "RRethy/vim-illuminate", + event = { "BufReadPost", "BufNewFile" }, + opts = { delay = 200 }, + config = function(_, opts) + require("illuminate").configure(opts) + end, + }, +} diff --git a/config/nvim/lua/aleidk/plugins/key-help.lua b/config/nvim/lua/aleidk/plugins-core/key-help.lua similarity index 100% rename from config/nvim/lua/aleidk/plugins/key-help.lua rename to config/nvim/lua/aleidk/plugins-core/key-help.lua diff --git a/config/nvim/lua/aleidk/plugins/lualine.lua b/config/nvim/lua/aleidk/plugins-core/lualine.lua similarity index 100% rename from config/nvim/lua/aleidk/plugins/lualine.lua rename to config/nvim/lua/aleidk/plugins-core/lualine.lua diff --git a/config/nvim/lua/aleidk/plugins/markdown.lua b/config/nvim/lua/aleidk/plugins-core/markdown.lua similarity index 100% rename from config/nvim/lua/aleidk/plugins/markdown.lua rename to config/nvim/lua/aleidk/plugins-core/markdown.lua diff --git a/config/nvim/lua/aleidk/plugins/smart-splits.lua b/config/nvim/lua/aleidk/plugins-core/smart-splits.lua similarity index 100% rename from config/nvim/lua/aleidk/plugins/smart-splits.lua rename to config/nvim/lua/aleidk/plugins-core/smart-splits.lua diff --git a/config/nvim/lua/aleidk/plugins/surround.lua b/config/nvim/lua/aleidk/plugins-core/surround.lua similarity index 100% rename from config/nvim/lua/aleidk/plugins/surround.lua rename to config/nvim/lua/aleidk/plugins-core/surround.lua diff --git a/config/nvim/lua/aleidk/plugins/telescope.lua b/config/nvim/lua/aleidk/plugins-core/telescope.lua similarity index 100% rename from config/nvim/lua/aleidk/plugins/telescope.lua rename to config/nvim/lua/aleidk/plugins-core/telescope.lua diff --git a/config/nvim/lua/aleidk/plugins/todo-comments.lua b/config/nvim/lua/aleidk/plugins-core/todo-comments.lua similarity index 100% rename from config/nvim/lua/aleidk/plugins/todo-comments.lua rename to config/nvim/lua/aleidk/plugins-core/todo-comments.lua diff --git a/config/nvim/lua/aleidk/plugins/ai.lua b/config/nvim/lua/aleidk/plugins-ide/ai.lua similarity index 100% rename from config/nvim/lua/aleidk/plugins/ai.lua rename to config/nvim/lua/aleidk/plugins-ide/ai.lua diff --git a/config/nvim/lua/aleidk/plugins-ide/color-picker.lua b/config/nvim/lua/aleidk/plugins-ide/color-picker.lua new file mode 100644 index 0000000..221ed52 --- /dev/null +++ b/config/nvim/lua/aleidk/plugins-ide/color-picker.lua @@ -0,0 +1,15 @@ +return { + { + -- Color Picker + "uga-rosa/ccc.nvim", + event = "VeryLazy", + opts = { + auto_enable = true, + lsp = true, + }, + keys = { + { "uc", "CccPick", desc = "Open Color picker" }, + { "uC", "CccHighlighterToggle", desc = "Toggle Color highlight" }, + }, + }, +} diff --git a/config/nvim/lua/aleidk/plugins/completion.lua b/config/nvim/lua/aleidk/plugins-ide/completion.lua similarity index 100% rename from config/nvim/lua/aleidk/plugins/completion.lua rename to config/nvim/lua/aleidk/plugins-ide/completion.lua diff --git a/config/nvim/lua/aleidk/plugins/database.lua b/config/nvim/lua/aleidk/plugins-ide/database.lua similarity index 94% rename from config/nvim/lua/aleidk/plugins/database.lua rename to config/nvim/lua/aleidk/plugins-ide/database.lua index 941e717..175697b 100644 --- a/config/nvim/lua/aleidk/plugins/database.lua +++ b/config/nvim/lua/aleidk/plugins-ide/database.lua @@ -1,7 +1,7 @@ return { "kristijanhusak/vim-dadbod-ui", dependencies = { - { "tpope/vim-dadbod", lazy = true }, + { "tpope/vim-dadbod", lazy = true }, { "kristijanhusak/vim-dadbod-completion", ft = { "sql", "mysql", "plsql" }, lazy = true }, }, cmd = { diff --git a/config/nvim/lua/aleidk/plugins-ide/doc-gen.lua b/config/nvim/lua/aleidk/plugins-ide/doc-gen.lua new file mode 100644 index 0000000..199ce62 --- /dev/null +++ b/config/nvim/lua/aleidk/plugins-ide/doc-gen.lua @@ -0,0 +1,15 @@ +return { + "danymat/neogen", + opts = { snippet_engine = "luasnip" }, + dependencies = { "nvim-treesitter/nvim-treesitter" }, + version = "*", -- stable releases + keys = { + { + "gcd", + function() + require("neogen").generate() + end, + desc = "Generate comment docstring", + }, + }, +} diff --git a/config/nvim/lua/aleidk/plugins/formatter.lua b/config/nvim/lua/aleidk/plugins-ide/formatter.lua similarity index 100% rename from config/nvim/lua/aleidk/plugins/formatter.lua rename to config/nvim/lua/aleidk/plugins-ide/formatter.lua diff --git a/config/nvim/lua/aleidk/plugins/git.lua b/config/nvim/lua/aleidk/plugins-ide/git.lua similarity index 82% rename from config/nvim/lua/aleidk/plugins/git.lua rename to config/nvim/lua/aleidk/plugins-ide/git.lua index db22509..a248abf 100644 --- a/config/nvim/lua/aleidk/plugins/git.lua +++ b/config/nvim/lua/aleidk/plugins-ide/git.lua @@ -27,7 +27,7 @@ return { map("n", "u", gs.undo_stage_hunk, "Undo Stage Hunk") map("n", "R", gs.reset_buffer, "Reset Buffer") map("n", "", gs.preview_hunk, "Preview Hunk") - map("n", "l", function() gs.blame_line({full = true}) end, "Blame Line") + map("n", "l", function() gs.blame_line({ full = true }) end, "Blame Line") map("n", "d", gs.diffthis, "Diff This") end, }, @@ -45,9 +45,9 @@ return { { "NeogitOrg/neogit", dependencies = { - "nvim-lua/plenary.nvim", -- required + "nvim-lua/plenary.nvim", -- required "nvim-telescope/telescope.nvim", -- optional - "sindrets/diffview.nvim", -- optional + "sindrets/diffview.nvim", -- optional }, config = true, opts = { @@ -94,21 +94,4 @@ return { }, }, }, - - { - "pwntester/octo.nvim", - dependencies = { - "nvim-lua/plenary.nvim", - "nvim-telescope/telescope.nvim", - "nvim-tree/nvim-web-devicons", - }, - opts = { enable_builtin = true }, - keys = { - { - "go", - "Octo", - desc = "Octo.nvim", - }, - }, - }, } diff --git a/config/nvim/lua/aleidk/plugins/linters.lua b/config/nvim/lua/aleidk/plugins-ide/linters.lua similarity index 100% rename from config/nvim/lua/aleidk/plugins/linters.lua rename to config/nvim/lua/aleidk/plugins-ide/linters.lua diff --git a/config/nvim/lua/aleidk/plugins/lsp.lua b/config/nvim/lua/aleidk/plugins-ide/lsp.lua similarity index 100% rename from config/nvim/lua/aleidk/plugins/lsp.lua rename to config/nvim/lua/aleidk/plugins-ide/lsp.lua diff --git a/config/nvim/lua/aleidk/plugins/luasnip.lua b/config/nvim/lua/aleidk/plugins-ide/luasnip.lua similarity index 100% rename from config/nvim/lua/aleidk/plugins/luasnip.lua rename to config/nvim/lua/aleidk/plugins-ide/luasnip.lua diff --git a/config/nvim/lua/aleidk/plugins/mason.lua b/config/nvim/lua/aleidk/plugins-ide/mason.lua similarity index 100% rename from config/nvim/lua/aleidk/plugins/mason.lua rename to config/nvim/lua/aleidk/plugins-ide/mason.lua diff --git a/config/nvim/lua/aleidk/plugins/remote-sshfs.lua b/config/nvim/lua/aleidk/plugins-ide/remote-sshfs.lua similarity index 100% rename from config/nvim/lua/aleidk/plugins/remote-sshfs.lua rename to config/nvim/lua/aleidk/plugins-ide/remote-sshfs.lua diff --git a/config/nvim/lua/aleidk/plugins/task-runner.lua b/config/nvim/lua/aleidk/plugins-ide/task-runner.lua similarity index 100% rename from config/nvim/lua/aleidk/plugins/task-runner.lua rename to config/nvim/lua/aleidk/plugins-ide/task-runner.lua diff --git a/config/nvim/lua/aleidk/plugins/trouble.lua b/config/nvim/lua/aleidk/plugins-ide/trouble.lua similarity index 100% rename from config/nvim/lua/aleidk/plugins/trouble.lua rename to config/nvim/lua/aleidk/plugins-ide/trouble.lua diff --git a/config/nvim/lua/aleidk/plugins/ts-node-action.lua b/config/nvim/lua/aleidk/plugins-ide/ts-node-action.lua similarity index 100% rename from config/nvim/lua/aleidk/plugins/ts-node-action.lua rename to config/nvim/lua/aleidk/plugins-ide/ts-node-action.lua diff --git a/config/nvim/lua/aleidk/plugins-ide/typescript-tools.lua b/config/nvim/lua/aleidk/plugins-ide/typescript-tools.lua new file mode 100644 index 0000000..7f106b0 --- /dev/null +++ b/config/nvim/lua/aleidk/plugins-ide/typescript-tools.lua @@ -0,0 +1,18 @@ +return { + "pmizio/typescript-tools.nvim", + dependencies = { "nvim-lua/plenary.nvim", "neovim/nvim-lspconfig" }, + opts = { + init_options = { + preferences = { + disableSuggestions = true, + }, + }, + settings = { + -- array of strings("fix_all"|"add_missing_imports"|"remove_unused"| + -- "remove_unused_imports"|"organize_imports") -- or string "all" + -- to include all supported code actions + -- specify commands exposed as code_actions + expose_as_code_action = "all", + }, + }, +} diff --git a/config/nvim/lua/aleidk/plugins/init.lua b/config/nvim/lua/aleidk/plugins/init.lua deleted file mode 100644 index 4c6fcb8..0000000 --- a/config/nvim/lua/aleidk/plugins/init.lua +++ /dev/null @@ -1,56 +0,0 @@ -return { - -- Detect tabstop and shiftwidth automatically - "tpope/vim-sleuth", - { "nvim-tree/nvim-web-devicons", lazy = true }, - { - "mbbill/undotree", - config = function() - vim.g.undotree_WindowLayout = 2 - vim.g.undotree_ShortIndicators = 1 - vim.g.undotree_SetFocusWhenToggle = 1 - end, - keys = { - { "fu", vim.cmd.UndotreeToggle, desc = "Undo tree" }, - }, - }, - { - -- Highlight word under cursor - "RRethy/vim-illuminate", - event = { "BufReadPost", "BufNewFile" }, - opts = { delay = 200 }, - config = function(_, opts) - require("illuminate").configure(opts) - end, - }, - { - -- Color Picker - "uga-rosa/ccc.nvim", - event = "VeryLazy", - opts = { - auto_enable = true, - lsp = true, - }, - keys = { - { "uc", "CccPick", desc = "Open Color picker" }, - { "uC", "CccHighlighterToggle", desc = "Toggle Color highlight" }, - }, - }, - { - "pmizio/typescript-tools.nvim", - dependencies = { "nvim-lua/plenary.nvim", "neovim/nvim-lspconfig" }, - opts = { - init_options = { - preferences = { - disableSuggestions = true, - }, - }, - settings = { - -- array of strings("fix_all"|"add_missing_imports"|"remove_unused"| - -- "remove_unused_imports"|"organize_imports") -- or string "all" - -- to include all supported code actions - -- specify commands exposed as code_actions - expose_as_code_action = "all", - }, - }, - }, -} diff --git a/config/nvim/lua/aleidk/plugins/pretty-fold.lua b/config/nvim/lua/aleidk/plugins/pretty-fold.lua deleted file mode 100644 index 665525c..0000000 --- a/config/nvim/lua/aleidk/plugins/pretty-fold.lua +++ /dev/null @@ -1,43 +0,0 @@ -return { - enabled = false, - "anuvyklack/pretty-fold.nvim", - opts = { - sections = { - left = { - "+", - function() - return string.rep("-", vim.v.foldlevel) - end, - " ", - "content", - " ", - "number_of_folded_lines", - " ", - function() - return string.rep("-", vim.v.foldlevel) - end, - "+", - }, - }, - fill_char = " ", - - -- Possible values: - -- "delete" : Delete all comment signs from the fold string. - -- "spaces" : Replace all comment signs with equal number of spaces. - -- false : Do nothing with comment signs. - process_comment_signs = "delete", - - -- List of patterns that will be removed from content foldtext section. - stop_words = { - "@brief%s*", -- (for C++) Remove '@brief' and all spaces after. - }, - - matchup_patterns = { - { "{", "}" }, - { "%(", ")" }, -- % to escape lua pattern char - { "%[", "]" }, -- % to escape lua pattern char - }, - - ft_ignore = { "neorg" }, - }, -} diff --git a/config/nvim/lua/aleidk/plugins/sessions.lua b/config/nvim/lua/aleidk/plugins/sessions.lua deleted file mode 100644 index d6e19a8..0000000 --- a/config/nvim/lua/aleidk/plugins/sessions.lua +++ /dev/null @@ -1,23 +0,0 @@ -return { - -- sessions - "rmagatti/auto-session", - config = function() - ---@diagnostic disable-next-line: missing-fields - require("auto-session").setup({ - log_level = "error", - auto_session_suppress_dirs = { - "/", - "~/", - "~/.config/**", - "~/.local/share/chezmoi/", - "~/.local/share/db_ui", - "~/.local/share/db_ui/**", - "~/Downloads", - }, - bypass_session_save_file_types = { - "NeogitStatus", - "Lazy", - }, - }) - end, -} diff --git a/config/nvim/lua/aleidk/plugins/zen.lua b/config/nvim/lua/aleidk/plugins/zen.lua deleted file mode 100644 index 14374e5..0000000 --- a/config/nvim/lua/aleidk/plugins/zen.lua +++ /dev/null @@ -1,81 +0,0 @@ -return { - "folke/zen-mode.nvim", - dependencies = { - { - "folke/twilight.nvim", - opts = { - -- your configuration comes here - -- or leave it empty to use the default settings - -- refer to the configuration section below - }, - }, - }, - keys = { - { - "uz", - function() - require("zen-mode").toggle({}) - end, - desc = "Toggle zen mode", - }, - }, - opts = { - window = { - backdrop = 0.95, -- shade the backdrop of the Zen window. Set to 1 to keep the same as Normal - -- height and width can be: - -- * an absolute number of cells when > 1 - -- * a percentage of the width / height of the editor when <= 1 - -- * a function that returns the width or the height - width = 0.8, -- width of the Zen window - height = 1, -- height of the Zen window - -- by default, no options are changed for the Zen window - -- uncomment any of the options below, or add other vim.wo options you want to apply - options = { - -- signcolumn = "no", -- disable signcolumn - -- number = false, -- disable number column - -- relativenumber = false, -- disable relative numbers - cursorline = false, -- disable cursorline - -- cursorcolumn = false, -- disable cursor column - -- foldcolumn = "0", -- disable fold column - list = false, -- disable whitespace characters - }, - }, - plugins = { - -- disable some global vim options (vim.o...) - -- comment the lines to not apply the options - options = { - enabled = true, - ruler = true, -- disables the ruler text in the cmd line area - showcmd = false, -- disables the command in the last line of the screen - -- you may turn on/off statusline in zen mode by setting 'laststatus' - -- statusline will be shown only if 'laststatus' == 3 - laststatus = 0, -- turn off the statusline in zen mode - }, - twilight = { enabled = true }, -- enable to start Twilight when zen mode opens - gitsigns = { enabled = false }, -- disables git signs - tmux = { enabled = true }, -- disables the tmux statusline - -- this will change the font size on kitty when in zen mode - -- to make this work, you need to set the following kitty options: - -- - allow_remote_control socket-only - -- - listen_on unix:/tmp/kitty - kitty = { - enabled = true, - font = "+8", -- font size increment - }, - -- this will change the font size on alacritty when in zen mode - -- requires Alacritty Version 0.10.0 or higher - -- uses `alacritty msg` subcommand to change font size - alacritty = { - enabled = true, - font = "14", -- font size - }, - -- this will change the font size on wezterm when in zen mode - -- See else also the Plugins/Wezterm section in this projects README - wezterm = { - enabled = true, - -- can be either an absolute font size or the number of incremental steps - font = "+4", -- (10% increase per step) - }, - }, - }, -} diff --git a/config/nvim/lua/aleidk/utils.lua b/config/nvim/lua/aleidk/utils.lua new file mode 100644 index 0000000..96d3f8f --- /dev/null +++ b/config/nvim/lua/aleidk/utils.lua @@ -0,0 +1,7 @@ +local M = {} + +function M.plugin_should_be_enabled() + print("Plugin should be enabled") +end + +return M diff --git a/config/yazi/keymap.toml b/config/yazi/keymap.toml index 4c37eb5..8b24d00 100644 --- a/config/yazi/keymap.toml +++ b/config/yazi/keymap.toml @@ -45,11 +45,11 @@ keymap = [ { on = ["J"], run = "seek 5", desc = "Seek down 5 units in the preview" }, # Selection - { on = [ "" ], run = [ "toggle", "arrow 1" ], desc = "Toggle the current selection state" }, + { on = [ "" ], run = [ "select", "arrow 1" ], desc = "Toggle the current selection state" }, { on = [ "v" ], run = "visual_mode", desc = "Enter visual mode (selection mode)" }, { on = [ "V" ], run = "visual_mode --unset", desc = "Enter visual mode (unset mode)" }, - { on = [ "" ], run = "toggle_all", desc = "Select all files" }, - { on = [ "" ], run = "toggle_all on", desc = "Inverse selection of all files" }, + { on = [ "" ], run = "select_all --state=true", desc = "Select all files" }, + { on = [ "" ], run = "select_all --state=none", desc = "Inverse selection of all files" }, # Operation { on = [ "o" ], run = "open", desc = "Open the selected files" }, From a4e06120d299fdd7d48f4492ca61df572987a043 Mon Sep 17 00:00:00 2001 From: aleidk Date: Wed, 20 Nov 2024 16:56:06 -0300 Subject: [PATCH 14/31] update UI plugins --- config/nvim/lazy-lock.json | 3 +- .../nvim/lua/aleidk/plugins-base/dressing.lua | 10 - config/nvim/lua/aleidk/plugins-base/noice.lua | 123 ------------ config/nvim/lua/aleidk/plugins-base/ui.lua | 177 ++++++++++++++++++ 4 files changed, 179 insertions(+), 134 deletions(-) delete mode 100644 config/nvim/lua/aleidk/plugins-base/dressing.lua delete mode 100644 config/nvim/lua/aleidk/plugins-base/noice.lua create mode 100644 config/nvim/lua/aleidk/plugins-base/ui.lua diff --git a/config/nvim/lazy-lock.json b/config/nvim/lazy-lock.json index 7bafe03..67d20b9 100644 --- a/config/nvim/lazy-lock.json +++ b/config/nvim/lazy-lock.json @@ -15,7 +15,7 @@ "copilot-lualine": { "branch": "main", "commit": "f40450c3e138766026327e7807877ea860618258" }, "copilot.lua": { "branch": "master", "commit": "f8d8d872bb319f640d5177dad5fbf01f7a16d7d0" }, "diffview.nvim": { "branch": "main", "commit": "4516612fe98ff56ae0415a259ff6361a89419b0a" }, - "dressing.nvim": { "branch": "master", "commit": "6741f1062d3dc6e4755367a7e9b347b553623f04" }, + "dressing.nvim": { "branch": "master", "commit": "fc78a3ca96f4db9f8893bb7e2fd9823e0780451b" }, "friendly-snippets": { "branch": "main", "commit": "45a1b96e46efe5fce8af325d4bed45feb9d29d0f" }, "gitsigns.nvim": { "branch": "main", "commit": "e9c4187c3774a46df2d086a66cf3a7e6bea4c432" }, "grapple.nvim": { "branch": "main", "commit": "7aedc261b05a6c030397c4bc26416efbe746ebf1" }, @@ -39,6 +39,7 @@ "nvim-cmp": { "branch": "main", "commit": "a110e12d0b58eefcf5b771f533fc2cf3050680ac" }, "nvim-lint": { "branch": "master", "commit": "efc6fc83f0772283e064c53a8f9fb5645bde0bc0" }, "nvim-lspconfig": { "branch": "master", "commit": "216deb2d1b5fbf24398919228208649bbf5cbadf" }, + "nvim-notify": { "branch": "master", "commit": "fbef5d32be8466dd76544a257d3f3dce20082a07" }, "nvim-treesitter": { "branch": "master", "commit": "7f4ac678770175cdf0d42c015f4a5b6e18b6cb33" }, "nvim-treesitter-context": { "branch": "master", "commit": "f56a1430f21334868a86eb980b12e0af55690e98" }, "nvim-treesitter-textobjects": { "branch": "master", "commit": "34867c69838078df7d6919b130c0541c0b400c47" }, diff --git a/config/nvim/lua/aleidk/plugins-base/dressing.lua b/config/nvim/lua/aleidk/plugins-base/dressing.lua deleted file mode 100644 index 9d2a5e4..0000000 --- a/config/nvim/lua/aleidk/plugins-base/dressing.lua +++ /dev/null @@ -1,10 +0,0 @@ -return { - -- better imputs - "stevearc/dressing.nvim", - opts = { - input = { - -- handle by noice - enabled = false, - }, - }, -} diff --git a/config/nvim/lua/aleidk/plugins-base/noice.lua b/config/nvim/lua/aleidk/plugins-base/noice.lua deleted file mode 100644 index 0ab9d7c..0000000 --- a/config/nvim/lua/aleidk/plugins-base/noice.lua +++ /dev/null @@ -1,123 +0,0 @@ -return { - "folke/noice.nvim", - event = "VeryLazy", - dependencies = { - -- if you lazy-load any plugin below, make sure to add proper `module="..."` entries - "MunifTanjim/nui.nvim", - }, - opts = { - presets = { - bottom_search = true, - -- command_palette = true, - long_message_to_split = true, - inc_rename = true, - }, - lsp = { - override = { - ["vim.lsp.util.convert_input_to_markdown_lines"] = true, - ["vim.lsp.util.stylize_markdown"] = true, - ["cmp.entry.get_documentation"] = true, - }, - }, - routes = { - { - filter = { - event = "msg_show", - any = { - { find = "%d+L, %d+B" }, - { find = "; after #%d+" }, - { find = "; before #%d+" }, - }, - }, - view = "mini", - }, - { - filter = { - event = "msg_show", - kind = "search_count", - }, - opts = { skip = true }, - }, - }, - views = { - cmdline_popup = { - position = { - row = 5, - col = "50%", - }, - size = { - width = 60, - height = "auto", - }, - }, - popupmenu = { - relative = "editor", - position = { - row = 8, - col = "50%", - }, - size = { - width = 60, - height = 10, - }, - border = { - style = "rounded", - padding = { 0, 1 }, - }, - win_options = { - winhighlight = { Normal = "Normal", FloatBorder = "DiagnosticInfo" }, - }, - }, - notify = { - enabled = false, - }, - messages = { - enabled = false, - }, - }, - }, - -- stylua: ignore - keys = { - { - "", - function() require("noice").redirect(vim.fn.getcmdline()) end, - mode = "c", - desc = - "Redirect Cmdline" - }, - { - "unl", - function() require("noice").cmd("last") end, - desc = - "Noice Last Message" - }, - { - "unh", - function() require("noice").cmd("history") end, - desc = - "Noice History" - }, - { "una", function() require("noice").cmd("all") end, desc = "Noice All" }, - { "und", function() require("noice").cmd("dismiss") end, desc = "Dismiss All" }, - { - "", - function() if not require("noice.lsp").scroll(4) then return "" end end, - silent = true, - expr = true, - desc = - "Scroll forward", - mode = { - "i", "n", "s" } - }, - { - "", - function() if not require("noice.lsp").scroll(-4) then return "" end end, - silent = true, - expr = true, - desc = - "Scroll backward", - mode = { - "i", "n", "s" } - }, - }, -} diff --git a/config/nvim/lua/aleidk/plugins-base/ui.lua b/config/nvim/lua/aleidk/plugins-base/ui.lua new file mode 100644 index 0000000..811a01a --- /dev/null +++ b/config/nvim/lua/aleidk/plugins-base/ui.lua @@ -0,0 +1,177 @@ +return { + { + -- better imputs + "stevearc/dressing.nvim", + opts = { + input = { + -- handle by noice + enabled = false, + }, + }, + }, + { + "folke/noice.nvim", + event = "VeryLazy", + dependencies = { + "MunifTanjim/nui.nvim", + "rcarriga/nvim-notify", + }, + opts = { + presets = { + bottom_search = true, + long_message_to_split = true, + inc_rename = true, + lsp_doc_border = true, + }, + lsp = { + override = { + -- override the default lsp markdown formatter with Noice + ["vim.lsp.util.convert_input_to_markdown_lines"] = true, + -- override the lsp markdown formatter with Noice + ["vim.lsp.util.stylize_markdown"] = true, + -- override cmp documentation with Noice (needs the other options to work) + ["cmp.entry.get_documentation"] = true, + }, + message = { + view = "mini", + }, + progress = { + view = "mini_left" + } + }, + routes = { + { + filter = { + event = "msg_show", + kind = "", + find = "written", + }, + opts = { skip = true }, + }, + { + filter = { + event = "notify", + min_height = 15 + }, + view = 'popup' + }, + { + filter = { + event = "notify", + kind = "info" + }, + view = 'mini' + }, + }, + views = { + notify = { + merge = true + }, + cmdline_popup = { + position = { + row = 5, + col = "50%", + }, + size = { + width = 60, + height = "auto", + }, + }, + popupmenu = { + relative = "editor", + position = { + row = 8, + col = "50%", + }, + size = { + width = 60, + height = 10, + }, + border = { + style = "rounded", + padding = { 0, 1 }, + }, + win_options = { + winhighlight = { Normal = "Normal", FloatBorder = "DiagnosticInfo" }, + }, + }, + mini_left = { + backend = "mini", + relative = "editor", + align = "left", + timeout = 2000, + reverse = true, + focusable = false, + position = { + row = -1, + col = 0, + }, + size = { + width = "auto", + height = "auto", + max_height = 10, + }, + border = { + style = "none", + }, + zindex = 60, + win_options = { + winbar = "", + foldenable = false, + winblend = 30, + winhighlight = { + Normal = "NoiceMini", + IncSearch = "", + CurSearch = "", + Search = "", + }, + }, + }, + }, + }, + -- stylua: ignore + keys = { + { + "", + function() require("noice").redirect(vim.fn.getcmdline()) end, + mode = "c", + desc = + "Redirect Cmdline" + }, + { + "unl", + function() require("noice").cmd("last") end, + desc = + "Noice Last Message" + }, + { + "unh", + function() require("noice").cmd("history") end, + desc = + "Noice History" + }, + { "una", function() require("noice").cmd("all") end, desc = "Noice All" }, + { "und", function() require("noice").cmd("dismiss") end, desc = "Dismiss All" }, + { + "", + function() if not require("noice.lsp").scroll(4) then return "" end end, + silent = true, + expr = true, + desc = + "Scroll forward", + mode = { + "i", "n", "s" } + }, + { + "", + function() if not require("noice.lsp").scroll(-4) then return "" end end, + silent = true, + expr = true, + desc = + "Scroll backward", + mode = { + "i", "n", "s" } + }, + }, + } +} From 9d3fa8e91086c0b2aff47a59846633917c10e98d Mon Sep 17 00:00:00 2001 From: aleidk Date: Wed, 20 Nov 2024 19:04:08 -0300 Subject: [PATCH 15/31] minor updates --- .dotter/global.toml | 1 + .dotter/machines/fedora.toml | 8 +++++++- .dotter/pre_deploy.sh | 32 ++++++++++++++++++++++++++++---- .dotter/thinkpad.toml | 8 +++++--- config/nvim/lazy-lock.json | 8 ++++---- config/sesh/sesh.toml | 2 +- 6 files changed, 46 insertions(+), 13 deletions(-) diff --git a/.dotter/global.toml b/.dotter/global.toml index 7770d4f..0920439 100644 --- a/.dotter/global.toml +++ b/.dotter/global.toml @@ -14,6 +14,7 @@ nerd_font = "JetBrainsMono" [cli.files] "config/bat" = "~/.config/bat" +"config/kitty" = {target = "~/.config/kitty", type = "symbolic" } "config/sesh" = "~/.config/sesh" "config/tmux" = "~/.config/tmux" "config/yazi" = "~/.config/yazi" diff --git a/.dotter/machines/fedora.toml b/.dotter/machines/fedora.toml index 63e5773..368f1da 100644 --- a/.dotter/machines/fedora.toml +++ b/.dotter/machines/fedora.toml @@ -21,10 +21,11 @@ cli = [ "duf", "eza", "fd-find", - "firefox-dev", + # "firefox-dev", "flatpak", "fzf", "git", + "kitty", "lazygit", "neovim", "remove-retired-packages", @@ -47,6 +48,11 @@ dev = [ "tree-sitter-cli", ] +[zsh.variables.packages] +zssh = [ + "zsh" +] + [rust.variables] cargo.packages = [ "yazi-fm", diff --git a/.dotter/pre_deploy.sh b/.dotter/pre_deploy.sh index 9b30d7a..0778ecf 100644 --- a/.dotter/pre_deploy.sh +++ b/.dotter/pre_deploy.sh @@ -2,6 +2,7 @@ # shellcheck disable=all # This is a handlerbars template, so ignore issues +set -euo pipefail checksum_file=".dotter/cache/pre_deploy.checksum" @@ -16,12 +17,23 @@ fi {{ header "Running pre deploy script for distro" (to_title_case distro) }} -{{ #if (and dotter.packages.cli (is_executable "sudo")) }} +{{ #if (is_executable "sudo") }} {{ header "Configuring sudo" }} -echo "Defaults pwfeedback" | sudo -B tee /etc/sudoers.d/01-user -echo "Defaults timestamp_timeout=10" | sudo -B tee -a /etc/sudoers.d/01-user -echo "Defaults timestamp_type=global" | sudo -B tee -a /etc/sudoers.d/01-user +SUDOERS_FILE="/etc/sudoers.d/01-user" + +if [[ -e "${SUDOERS_FILE}" ]]; then + echo "Sudo configuration already exists, to override it remove the file: ${SUDOERS_FILE}" + exit 0 +else + sudo -B tee "${SUDOERS_FILE}" < Date: Thu, 21 Nov 2024 12:30:12 -0300 Subject: [PATCH 16/31] add code outline navigator to nvim --- config/nvim/lazy-lock.json | 13 +++---- config/nvim/lua/aleidk/options.lua | 2 +- config/nvim/lua/aleidk/plugins-base/ui.lua | 20 +++++------ .../lua/aleidk/plugins-core/colorscheme.lua | 1 + config/nvim/lua/aleidk/plugins-core/init.lua | 10 +++++- .../nvim/lua/aleidk/plugins-core/lualine.lua | 1 + .../lua/aleidk/plugins-core/telescope.lua | 1 + config/nvim/lua/aleidk/plugins-ide/lsp.lua | 36 ++++++++++++++++++- config/nvim/lua/aleidk/plugins-ide/mason.lua | 1 - config/tmux/tmux.conf | 3 +- 10 files changed, 67 insertions(+), 21 deletions(-) diff --git a/config/nvim/lazy-lock.json b/config/nvim/lazy-lock.json index 5b4d458..962341f 100644 --- a/config/nvim/lazy-lock.json +++ b/config/nvim/lazy-lock.json @@ -1,5 +1,6 @@ { "LuaSnip": { "branch": "master", "commit": "ce0a05ab4e2839e1c48d072c5236cce846a387bc" }, + "aerial.nvim": { "branch": "master", "commit": "ddd25f57e5205b36bc2e939c486b47818bef9ec3" }, "ccc.nvim": { "branch": "main", "commit": "4fb5abaef2f2e0540fe22d4d74a9841205fff9e4" }, "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, "cmp-cmdline": { "branch": "main", "commit": "d250c63aa13ead745e3a40f61fdd3470efde3923" }, @@ -15,12 +16,12 @@ "copilot-lualine": { "branch": "main", "commit": "f40450c3e138766026327e7807877ea860618258" }, "copilot.lua": { "branch": "master", "commit": "f8d8d872bb319f640d5177dad5fbf01f7a16d7d0" }, "diffview.nvim": { "branch": "main", "commit": "4516612fe98ff56ae0415a259ff6361a89419b0a" }, - "dressing.nvim": { "branch": "master", "commit": "6741f1062d3dc6e4755367a7e9b347b553623f04" }, + "dressing.nvim": { "branch": "master", "commit": "fc78a3ca96f4db9f8893bb7e2fd9823e0780451b" }, "friendly-snippets": { "branch": "main", "commit": "45a1b96e46efe5fce8af325d4bed45feb9d29d0f" }, "gitsigns.nvim": { "branch": "main", "commit": "e9c4187c3774a46df2d086a66cf3a7e6bea4c432" }, - "grapple.nvim": { "branch": "main", "commit": "7aedc261b05a6c030397c4bc26416efbe746ebf1" }, + "grapple.nvim": { "branch": "main", "commit": "b41ddfc1c39f87f3d1799b99c2f0f1daa524c5f7" }, "indent-blankline.nvim": { "branch": "master", "commit": "65e20ab94a26d0e14acac5049b8641336819dfc7" }, - "lazy.nvim": { "branch": "main", "commit": "7967abe55752aa90532e6bb4bd4663fe27a264cb" }, + "lazy.nvim": { "branch": "main", "commit": "56ead98e05bb37a4ec28930a54d836d033cf00f2" }, "lazygit.nvim": { "branch": "main", "commit": "dc56df433bfbf107fee0139e187eb9750878fa84" }, "lualine.nvim": { "branch": "master", "commit": "6a40b530539d2209f7dc0492f3681c8c126647ad" }, "mason-lspconfig.nvim": { "branch": "main", "commit": "37a336b653f8594df75c827ed589f1c91d91ff6c" }, @@ -40,7 +41,7 @@ "nvim-lint": { "branch": "master", "commit": "efc6fc83f0772283e064c53a8f9fb5645bde0bc0" }, "nvim-lspconfig": { "branch": "master", "commit": "216deb2d1b5fbf24398919228208649bbf5cbadf" }, "nvim-notify": { "branch": "master", "commit": "fbef5d32be8466dd76544a257d3f3dce20082a07" }, - "nvim-treesitter": { "branch": "master", "commit": "7f4ac678770175cdf0d42c015f4a5b6e18b6cb33" }, + "nvim-treesitter": { "branch": "master", "commit": "cd2acc803b9e2f9377fb31fbeb993f6e363466f5" }, "nvim-treesitter-context": { "branch": "master", "commit": "f56a1430f21334868a86eb980b12e0af55690e98" }, "nvim-treesitter-textobjects": { "branch": "master", "commit": "34867c69838078df7d6919b130c0541c0b400c47" }, "nvim-ts-autotag": { "branch": "main", "commit": "323a3e16ed603e2e17b26b1c836d1e86c279f726" }, @@ -59,8 +60,8 @@ "ts-node-action": { "branch": "master", "commit": "6d3b60754fd87963d70eadaa2f77873b447eac26" }, "typescript-tools.nvim": { "branch": "master", "commit": "5da4d695d66f676eb6ea766b946e86f93baaafe7" }, "undotree": { "branch": "master", "commit": "56c684a805fe948936cda0d1b19505b84ad7e065" }, - "vim-dadbod": { "branch": "master", "commit": "7888cb7164d69783d3dce4e0283decd26b82538b" }, - "vim-dadbod-completion": { "branch": "master", "commit": "8c9051c1cfc73fcf5bfe9a84db7097e4f7c0180d" }, + "vim-dadbod": { "branch": "master", "commit": "fe5a55e92b2dded7c404006147ef97fb073d8b1b" }, + "vim-dadbod-completion": { "branch": "master", "commit": "da0e75c09c27a82aad078d993bb1b2f4afd43427" }, "vim-dadbod-ui": { "branch": "master", "commit": "f74a31e8c6c5a9dccc63450a09d5cd64a9294330" }, "vim-illuminate": { "branch": "master", "commit": "5eeb7951fc630682c322e88a9bbdae5c224ff0aa" }, "vim-sleuth": { "branch": "master", "commit": "1cc4557420f215d02c4d2645a748a816c220e99b" }, diff --git a/config/nvim/lua/aleidk/options.lua b/config/nvim/lua/aleidk/options.lua index cd81c12..aa543e9 100644 --- a/config/nvim/lua/aleidk/options.lua +++ b/config/nvim/lua/aleidk/options.lua @@ -31,7 +31,7 @@ opt.scrolloff = 15 -- Lines of context opt.sessionoptions = { "buffers", "curdir", "tabpages", "winsize" } opt.shiftround = true -- Round indent opt.shiftwidth = 2 -- Size of an indent -opt.shortmess:append({ W = true, I = true, c = true }) +-- opt.shortmess:append({ W = true, I = true, c = true }) -- INFO: this control the format of some messages opt.showmode = false -- Dont show mode since we have a statusline opt.sidescrolloff = 8 -- Columns of context opt.signcolumn = "yes" -- Always show the signcolumn, otherwise it would shift the text each time diff --git a/config/nvim/lua/aleidk/plugins-base/ui.lua b/config/nvim/lua/aleidk/plugins-base/ui.lua index 811a01a..0fd279f 100644 --- a/config/nvim/lua/aleidk/plugins-base/ui.lua +++ b/config/nvim/lua/aleidk/plugins-base/ui.lua @@ -34,6 +34,7 @@ return { }, message = { view = "mini", + view_search = false, }, progress = { view = "mini_left" @@ -139,22 +140,21 @@ return { "Redirect Cmdline" }, { - "unl", + "um", function() require("noice").cmd("last") end, desc = - "Noice Last Message" + "Messages last" }, { - "unh", + "uM", function() require("noice").cmd("history") end, desc = - "Noice History" + "Messages all" }, - { "una", function() require("noice").cmd("all") end, desc = "Noice All" }, - { "und", function() require("noice").cmd("dismiss") end, desc = "Dismiss All" }, + { "uX", function() require("noice").cmd("dismiss") end, desc = "Message dismiss all" }, { - "", - function() if not require("noice.lsp").scroll(4) then return "" end end, + "", + function() if not require("noice.lsp").scroll(4) then return "" end end, silent = true, expr = true, desc = @@ -163,8 +163,8 @@ return { "i", "n", "s" } }, { - "", - function() if not require("noice.lsp").scroll(-4) then return "" end end, + "", + function() if not require("noice.lsp").scroll(-4) then return "" end end, silent = true, expr = true, desc = diff --git a/config/nvim/lua/aleidk/plugins-core/colorscheme.lua b/config/nvim/lua/aleidk/plugins-core/colorscheme.lua index 5f126e9..643a053 100644 --- a/config/nvim/lua/aleidk/plugins-core/colorscheme.lua +++ b/config/nvim/lua/aleidk/plugins-core/colorscheme.lua @@ -6,6 +6,7 @@ return { -- Change colors.none if not using a transparent background flavour = "macchiato", transparent_background = true, integrations = { + aerial = true, cmp = true, notify = true, harpoon = false, diff --git a/config/nvim/lua/aleidk/plugins-core/init.lua b/config/nvim/lua/aleidk/plugins-core/init.lua index 3499f7d..3501757 100644 --- a/config/nvim/lua/aleidk/plugins-core/init.lua +++ b/config/nvim/lua/aleidk/plugins-core/init.lua @@ -6,7 +6,15 @@ return { -- Highlight word under cursor "RRethy/vim-illuminate", event = { "BufReadPost", "BufNewFile" }, - opts = { delay = 200 }, + opts = { + delay = 200, + filetypes_denylist = { + 'dirbuf', + 'dirvish', + 'fugitive', + 'aerial', + }, + }, config = function(_, opts) require("illuminate").configure(opts) end, diff --git a/config/nvim/lua/aleidk/plugins-core/lualine.lua b/config/nvim/lua/aleidk/plugins-core/lualine.lua index 0e79c78..391e50f 100644 --- a/config/nvim/lua/aleidk/plugins-core/lualine.lua +++ b/config/nvim/lua/aleidk/plugins-core/lualine.lua @@ -115,6 +115,7 @@ return { }, }, { codecompanion_status }, + { "aerial" }, { "overseer", }, diff --git a/config/nvim/lua/aleidk/plugins-core/telescope.lua b/config/nvim/lua/aleidk/plugins-core/telescope.lua index f6bb853..5574cdd 100644 --- a/config/nvim/lua/aleidk/plugins-core/telescope.lua +++ b/config/nvim/lua/aleidk/plugins-core/telescope.lua @@ -50,6 +50,7 @@ return { -- Enable telescope fzf native, if installed pcall(telescope.load_extension, "fzf") + pcall(telescope.load_extension, "aerial") -- Find files vim.keymap.set( diff --git a/config/nvim/lua/aleidk/plugins-ide/lsp.lua b/config/nvim/lua/aleidk/plugins-ide/lsp.lua index ab2f1aa..70d875f 100644 --- a/config/nvim/lua/aleidk/plugins-ide/lsp.lua +++ b/config/nvim/lua/aleidk/plugins-ide/lsp.lua @@ -1,4 +1,4 @@ -return { +return { { -- LSP Configuration & Plugins "neovim/nvim-lspconfig", event = { "BufReadPost", "BufNewFile", "BufWritePre" }, @@ -216,4 +216,38 @@ return { vim.fn.sign_define(hl, { text = icon, texthl = hl, numhl = hl }) end end, +}, + + { + 'stevearc/aerial.nvim', + -- Optional dependencies + dependencies = { + "nvim-treesitter/nvim-treesitter", + "nvim-tree/nvim-web-devicons" + }, + opts = { + close_on_select = false, + show_guides = true, + autojump = true, + highlight_on_hover = true, + layout = { + default_direction = "float", + }, + float = { + relative = "editor", + }, + nav = { + preview = true, + keymaps = { + ["q"] = "actions.close", + }, + }, + }, + + keys = { + { "lt", function() require("aerial").toggle() end, desc = "Open syntax tree" }, + { "lT", function() require("aerial").nav_toggle() end, desc = "Open syntax tree navigation" }, + { "fl", "Telescope aerial", desc = "Find in syntax tree" }, + } + } } diff --git a/config/nvim/lua/aleidk/plugins-ide/mason.lua b/config/nvim/lua/aleidk/plugins-ide/mason.lua index 6353e53..181d119 100644 --- a/config/nvim/lua/aleidk/plugins-ide/mason.lua +++ b/config/nvim/lua/aleidk/plugins-ide/mason.lua @@ -1,7 +1,6 @@ return { "williamboman/mason.nvim", cmd = "Mason", - keys = { { "um", "Mason", desc = "Mason" } }, build = ":MasonUpdate", opts = { ensure_installed = {}, diff --git a/config/tmux/tmux.conf b/config/tmux/tmux.conf index b65e8b1..deca653 100644 --- a/config/tmux/tmux.conf +++ b/config/tmux/tmux.conf @@ -174,7 +174,8 @@ set -g @popup-id-format '#{b:socket_path}/#{session_name}/#{b:pane_current_path} # Use this to open specific programs in floating panes bind C-p run "#{@popup-toggle}" -bind C-o run "#{@popup-toggle} -Ed'#{pane_current_path}' -w90% -h90% --name=tool fzf-tmux-tools-popup" +bind C-g run "#{@popup-toggle} -Ed'#{pane_current_path}' -w90% -h90% --name=lazygit lazygit" +bind C-o run "#{@popup-toggle} -Ed'#{pane_current_path}' -w90% -h90% --name=tool $HOME/Repos/Private/dots/scripts/fzf-tmux-tools-popup" bind C-w run "#{@popup-toggle} -Ed'#{pane_current_path}' -w90% -h90% --name=wiki fzf-wikis" bind C-z run "#{@popup-toggle} -Ed'#{pane_current_path}' -w90% -h90% --name=wiki fzf-wikis void" From ec617fabc22c5ed7082629519da7ef94746acd2c Mon Sep 17 00:00:00 2001 From: aleidk Date: Fri, 22 Nov 2024 12:52:48 -0300 Subject: [PATCH 17/31] update some plugin configuration --- config/nvim/lazy-lock.json | 4 +- .../aleidk/plugins-base/indent-blankline.lua | 2 +- .../lua/aleidk/plugins-base/treesitter.lua | 43 ++++++++++++------- config/nvim/lua/aleidk/plugins-base/ui.lua | 24 ++++++++--- .../lua/aleidk/plugins-core/colorscheme.lua | 6 +-- config/nvim/lua/aleidk/plugins-ide/lsp.lua | 4 +- 6 files changed, 54 insertions(+), 29 deletions(-) diff --git a/config/nvim/lazy-lock.json b/config/nvim/lazy-lock.json index 962341f..08b5f87 100644 --- a/config/nvim/lazy-lock.json +++ b/config/nvim/lazy-lock.json @@ -1,6 +1,7 @@ { "LuaSnip": { "branch": "master", "commit": "ce0a05ab4e2839e1c48d072c5236cce846a387bc" }, "aerial.nvim": { "branch": "master", "commit": "ddd25f57e5205b36bc2e939c486b47818bef9ec3" }, + "catppuccin": { "branch": "main", "commit": "637d99e638bc6f1efedac582f6ccab08badac0c6" }, "ccc.nvim": { "branch": "main", "commit": "4fb5abaef2f2e0540fe22d4d74a9841205fff9e4" }, "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, "cmp-cmdline": { "branch": "main", "commit": "d250c63aa13ead745e3a40f61fdd3470efde3923" }, @@ -20,7 +21,7 @@ "friendly-snippets": { "branch": "main", "commit": "45a1b96e46efe5fce8af325d4bed45feb9d29d0f" }, "gitsigns.nvim": { "branch": "main", "commit": "e9c4187c3774a46df2d086a66cf3a7e6bea4c432" }, "grapple.nvim": { "branch": "main", "commit": "b41ddfc1c39f87f3d1799b99c2f0f1daa524c5f7" }, - "indent-blankline.nvim": { "branch": "master", "commit": "65e20ab94a26d0e14acac5049b8641336819dfc7" }, + "indent-blankline.nvim": { "branch": "master", "commit": "7871a88056f7144defca9c931e311a3134c5d509" }, "lazy.nvim": { "branch": "main", "commit": "56ead98e05bb37a4ec28930a54d836d033cf00f2" }, "lazygit.nvim": { "branch": "main", "commit": "dc56df433bfbf107fee0139e187eb9750878fa84" }, "lualine.nvim": { "branch": "master", "commit": "6a40b530539d2209f7dc0492f3681c8c126647ad" }, @@ -34,7 +35,6 @@ "neogit": { "branch": "master", "commit": "a20031fb5d7d12148764764059243135085e5c9b" }, "noice.nvim": { "branch": "main", "commit": "6263b6696811f0b11c88d8d2371134b1cc1762fc" }, "nui.nvim": { "branch": "main", "commit": "61574ce6e60c815b0a0c4b5655b8486ba58089a1" }, - "nvim": { "branch": "main", "commit": "7946d1a195c66fed38b3e34f9fa8e0c5a2da0700" }, "nvim-autopairs": { "branch": "master", "commit": "78a4507bb9ffc9b00f11ae0ac48243d00cb9194d" }, "nvim-bqf": { "branch": "main", "commit": "1b24dc6050c34e8cd377b6b4cd6abe40509e0187" }, "nvim-cmp": { "branch": "main", "commit": "a110e12d0b58eefcf5b771f533fc2cf3050680ac" }, diff --git a/config/nvim/lua/aleidk/plugins-base/indent-blankline.lua b/config/nvim/lua/aleidk/plugins-base/indent-blankline.lua index 95b4c4f..f529305 100644 --- a/config/nvim/lua/aleidk/plugins-base/indent-blankline.lua +++ b/config/nvim/lua/aleidk/plugins-base/indent-blankline.lua @@ -1,7 +1,7 @@ return { -- Add indentation guides even on blank lines "lukas-reineke/indent-blankline.nvim", - event = { "BufReadPost", "BufNewFile" }, + dependencies = { "nvim-treesitter/nvim-treesitter" }, main = "ibl", opts = { -- char = "▏", diff --git a/config/nvim/lua/aleidk/plugins-base/treesitter.lua b/config/nvim/lua/aleidk/plugins-base/treesitter.lua index 1d1111d..870f442 100644 --- a/config/nvim/lua/aleidk/plugins-base/treesitter.lua +++ b/config/nvim/lua/aleidk/plugins-base/treesitter.lua @@ -36,30 +36,24 @@ return { move = { enable = true, set_jumps = true, -- whether to set jumps in the jumplist - goto_next_start = { - ["]m"] = "@function.outer", - ["]]"] = "@class.outer", + goto_previous = { -- current or last start of object + ["[["] = { query = "@local.scope", query_group = "locals", desc = "Next scope" }, + ["[f"] = "@function.outer", + ["[c"] = "@class.outer", }, - goto_next_end = { - ["]M"] = "@function.outer", - ["]["] = "@class.outer", - }, - goto_previous_start = { - ["[m"] = "@function.outer", - ["[["] = "@class.outer", - }, - goto_previous_end = { - ["[M"] = "@function.outer", - ["[]"] = "@class.outer", + goto_next = { -- next object end + ["]]"] = { query = "@local.scope", query_group = "locals", desc = "Next scope" }, + ["]f"] = "@function.outer", -- current function end + ["]c"] = "@class.outer", }, }, swap = { enable = true, swap_next = { - ["a"] = "@parameter.inner", + ["ln"] = "@parameter.inner", }, swap_previous = { - ["A"] = "@parameter.inner", + ["lN"] = "@parameter.inner", }, }, }, @@ -70,6 +64,23 @@ return { enable_autocmd = false, } + local ts_repeat_move = require "nvim-treesitter.textobjects.repeatable_move" + + -- Repeat movement with ; and , + -- ensure , goes forward and ; goes backward regardless of the last direction + vim.keymap.set({ "n", "x", "o" }, ",", ts_repeat_move.repeat_last_move_next) + vim.keymap.set({ "n", "x", "o" }, ";", ts_repeat_move.repeat_last_move_previous) + + -- Optionally, make builtin f, F, t, T also repeatable with ; and , + vim.keymap.set({ "n", "x", "o" }, "f", ts_repeat_move.builtin_f_expr, { expr = true }) + vim.keymap.set({ "n", "x", "o" }, "F", ts_repeat_move.builtin_F_expr, { expr = true }) + vim.keymap.set({ "n", "x", "o" }, "t", ts_repeat_move.builtin_t_expr, { expr = true }) + vim.keymap.set({ "n", "x", "o" }, "T", ts_repeat_move.builtin_T_expr, { expr = true }) + + vim.keymap.set("n", "[u", function() + require("treesitter-context").go_to_context() + end, { silent = true, noremap = true, desc = "Go up when context is out of view" }) + vim.opt.foldmethod = "expr" vim.opt.foldexpr = "nvim_treesitter#foldexpr()" diff --git a/config/nvim/lua/aleidk/plugins-base/ui.lua b/config/nvim/lua/aleidk/plugins-base/ui.lua index 0fd279f..1ef7277 100644 --- a/config/nvim/lua/aleidk/plugins-base/ui.lua +++ b/config/nvim/lua/aleidk/plugins-base/ui.lua @@ -42,12 +42,26 @@ return { }, routes = { { - filter = { - event = "msg_show", - kind = "", - find = "written", - }, + -- Don't show these messages opts = { skip = true }, + filter = { + any = { + { + event = "msg_show", + kind = "search_count", + }, + { + event = "msg_show", + kind = "", + find = "written", + }, + { + event = "msg_show", + kind = "", + find = "yazi.nvim", + }, + } + }, }, { filter = { diff --git a/config/nvim/lua/aleidk/plugins-core/colorscheme.lua b/config/nvim/lua/aleidk/plugins-core/colorscheme.lua index 643a053..ff0bf3f 100644 --- a/config/nvim/lua/aleidk/plugins-core/colorscheme.lua +++ b/config/nvim/lua/aleidk/plugins-core/colorscheme.lua @@ -1,7 +1,7 @@ return { -- Change colors.none if not using a transparent background "catppuccin/nvim", + name = "catppuccin", priority = 1000, - lazy = false, opts = { flavour = "macchiato", transparent_background = true, @@ -13,10 +13,10 @@ return { -- Change colors.none if not using a transparent background mason = true, neogit = true, noice = true, - hop = true, lsp_trouble = true, indent_blankline = { enabled = true, + scope_color = "text", }, }, custom_highlights = function(colors) @@ -35,6 +35,6 @@ return { -- Change colors.none if not using a transparent background config = function(_, opts) require("catppuccin").setup(opts) - vim.cmd.colorscheme("catppuccin") + vim.cmd.colorscheme("catppuccin-macchiato") end, } diff --git a/config/nvim/lua/aleidk/plugins-ide/lsp.lua b/config/nvim/lua/aleidk/plugins-ide/lsp.lua index 70d875f..553b256 100644 --- a/config/nvim/lua/aleidk/plugins-ide/lsp.lua +++ b/config/nvim/lua/aleidk/plugins-ide/lsp.lua @@ -245,8 +245,8 @@ return { { }, keys = { - { "lt", function() require("aerial").toggle() end, desc = "Open syntax tree" }, - { "lT", function() require("aerial").nav_toggle() end, desc = "Open syntax tree navigation" }, + { "ll", function() require("aerial").toggle() end, desc = "Open syntax tree" }, + { "lL", function() require("aerial").nav_toggle() end, desc = "Open syntax tree navigation" }, { "fl", "Telescope aerial", desc = "Find in syntax tree" }, } } From 4a5a878a7fcd70ff3e0976a299bacd5376a4245f Mon Sep 17 00:00:00 2001 From: aleidk Date: Fri, 22 Nov 2024 13:29:05 -0300 Subject: [PATCH 18/31] neovim plugin cleanup --- config/nvim/lua/aleidk/options.lua | 56 ++++++++++++ .../lua/aleidk/plugins-base/auto-pairs.lua | 1 + .../nvim/lua/aleidk/plugins-base/comments.lua | 20 ++--- .../lua/aleidk/plugins-base/file-explorer.lua | 11 --- .../nvim/lua/aleidk/plugins-base/quickfix.lua | 89 ------------------- .../lua/aleidk/plugins-base/treesitter.lua | 12 --- .../nvim/lua/aleidk/plugins-core/markdown.lua | 29 ------ .../lua/aleidk/plugins-core/telescope.lua | 3 +- .../lua/aleidk/plugins-core/todo-comments.lua | 9 +- 9 files changed, 69 insertions(+), 161 deletions(-) delete mode 100644 config/nvim/lua/aleidk/plugins-base/quickfix.lua diff --git a/config/nvim/lua/aleidk/options.lua b/config/nvim/lua/aleidk/options.lua index aa543e9..d1fe584 100644 --- a/config/nvim/lua/aleidk/options.lua +++ b/config/nvim/lua/aleidk/options.lua @@ -52,6 +52,62 @@ opt.wrap = false -- Disable line wrap vim.o.sessionoptions = "blank,buffers,curdir,folds,help,tabpages,winsize,winpos,terminal,localoptions" +local fn = vim.fn + +-- Quickfix customization +function _G.qftf(info) + local items + local ret = {} + -- The name of item in list is based on the directory of quickfix window. + -- Change the directory for quickfix window make the name of item shorter. + -- It's a good opportunity to change current directory in quickfixtextfunc :) + -- + -- local alterBufnr = fn.bufname('#') -- alternative buffer is the buffer before enter qf window + -- local root = getRootByAlterBufnr(alterBufnr) + -- vim.cmd(('noa lcd %s'):format(fn.fnameescape(root))) + -- + if info.quickfix == 1 then + items = fn.getqflist({ id = info.id, items = 0 }).items + else + items = fn.getloclist(info.winid, { id = info.id, items = 0 }).items + end + local limit = 31 + local fnameFmt1, fnameFmt2 = "%-" .. limit .. "s", "…%." .. (limit - 1) .. "s" + local validFmt = "%s │%5d:%-3d│%s %s" + for i = info.start_idx, info.end_idx do + local e = items[i] + local fname = "" + local str + if e.valid == 1 then + if e.bufnr > 0 then + fname = fn.bufname(e.bufnr) + if fname == "" then + fname = "[No Name]" + else + fname = fname:gsub("^" .. vim.env.HOME, "~") + end + -- char in fname may occur more than 1 width, ignore this issue in order to keep performance + if #fname <= limit then + fname = fnameFmt1:format(fname) + else + fname = fnameFmt2:format(fname:sub(1 - limit)) + end + end + local lnum = e.lnum > 99999 and -1 or e.lnum + local col = e.col > 999 and -1 or e.col + local qtype = e.type == "" and "" or " " .. e.type:sub(1, 1):upper() + str = validFmt:format(fname, lnum, col, qtype, e.text) + else + str = e.text + end + table.insert(ret, str) + end + return ret +end + +-- TODO: how to customize? +vim.o.qftf = "{info -> v:lua._G.qftf(info)}" + vim.filetype.add({ -- Detect and assign filetype based on the extension of the filename extension = { diff --git a/config/nvim/lua/aleidk/plugins-base/auto-pairs.lua b/config/nvim/lua/aleidk/plugins-base/auto-pairs.lua index 2355082..883891d 100644 --- a/config/nvim/lua/aleidk/plugins-base/auto-pairs.lua +++ b/config/nvim/lua/aleidk/plugins-base/auto-pairs.lua @@ -1,5 +1,6 @@ return { "windwp/nvim-autopairs", event = "InsertEnter", + config = true, opts = {}, -- this is equalent to setup({}) function } diff --git a/config/nvim/lua/aleidk/plugins-base/comments.lua b/config/nvim/lua/aleidk/plugins-base/comments.lua index 083aaff..edd3413 100644 --- a/config/nvim/lua/aleidk/plugins-base/comments.lua +++ b/config/nvim/lua/aleidk/plugins-base/comments.lua @@ -17,18 +17,12 @@ return { }, { "LudoPinelli/comment-box.nvim", - event = "VeryLazy", - config = function() - require("comment-box").setup({ - outer_blank_lines = true, - }) - - local cb = require("comment-box") - - -- left aligned fixed size box with left aligned text - MAP({ "n", "v" }, "gcb", cb.lcbox, "Create a comment box") - -- centered adapted box with centered text - MAP({ "n", "v" }, "gcl", cb.llline, "Create a comment line") - end, + opts = { + outer_blank_lines = true, + }, + keys = { + { "gcb", function() require("comment-box").lcbox() end, { desc = "Create a comment box", mode = { "n", "v" }, } }, + { "gcl", function() require("comment-box").llline() end, { desc = "Create a comment line", mode = { "n", "v" }, } }, + }, }, } diff --git a/config/nvim/lua/aleidk/plugins-base/file-explorer.lua b/config/nvim/lua/aleidk/plugins-base/file-explorer.lua index b0dfa3e..2f76b72 100644 --- a/config/nvim/lua/aleidk/plugins-base/file-explorer.lua +++ b/config/nvim/lua/aleidk/plugins-base/file-explorer.lua @@ -1,9 +1,6 @@ ----@type LazySpec return { "mikavilpas/yazi.nvim", - -- event = "VeryLazy", keys = { - -- 👇 in this section, choose your own keymappings! { "e", "Yazi", @@ -15,15 +12,7 @@ return { "Yazi cwd", desc = "Open the file manager in nvim's working directory", }, - -- { - -- -- NOTE: this requires a version of yazi that includes - -- -- https://github.com/sxyazi/yazi/pull/1305 from 2024-07-18 - -- '', - -- "Yazi toggle", - -- desc = "Resume the last yazi session", - -- }, }, - ---@type YaziConfig opts = { -- if you want to open yazi instead of netrw, see below for more info open_for_directories = true, diff --git a/config/nvim/lua/aleidk/plugins-base/quickfix.lua b/config/nvim/lua/aleidk/plugins-base/quickfix.lua deleted file mode 100644 index 7ce267a..0000000 --- a/config/nvim/lua/aleidk/plugins-base/quickfix.lua +++ /dev/null @@ -1,89 +0,0 @@ -return { - { - "kevinhwang91/nvim-bqf", - event = "VeryLazy", - dependencies = {}, - config = function() - local fn = vim.fn - - function _G.qftf(info) - local items - local ret = {} - -- The name of item in list is based on the directory of quickfix window. - -- Change the directory for quickfix window make the name of item shorter. - -- It's a good opportunity to change current directory in quickfixtextfunc :) - -- - -- local alterBufnr = fn.bufname('#') -- alternative buffer is the buffer before enter qf window - -- local root = getRootByAlterBufnr(alterBufnr) - -- vim.cmd(('noa lcd %s'):format(fn.fnameescape(root))) - -- - if info.quickfix == 1 then - items = fn.getqflist({ id = info.id, items = 0 }).items - else - items = fn.getloclist(info.winid, { id = info.id, items = 0 }).items - end - local limit = 31 - local fnameFmt1, fnameFmt2 = "%-" .. limit .. "s", "…%." .. (limit - 1) .. "s" - local validFmt = "%s │%5d:%-3d│%s %s" - for i = info.start_idx, info.end_idx do - local e = items[i] - local fname = "" - local str - if e.valid == 1 then - if e.bufnr > 0 then - fname = fn.bufname(e.bufnr) - if fname == "" then - fname = "[No Name]" - else - fname = fname:gsub("^" .. vim.env.HOME, "~") - end - -- char in fname may occur more than 1 width, ignore this issue in order to keep performance - if #fname <= limit then - fname = fnameFmt1:format(fname) - else - fname = fnameFmt2:format(fname:sub(1 - limit)) - end - end - local lnum = e.lnum > 99999 and -1 or e.lnum - local col = e.col > 999 and -1 or e.col - local qtype = e.type == "" and "" or " " .. e.type:sub(1, 1):upper() - str = validFmt:format(fname, lnum, col, qtype, e.text) - else - str = e.text - end - table.insert(ret, str) - end - return ret - end - - vim.o.qftf = "{info -> v:lua._G.qftf(info)}" - - -- Adapt fzf's delimiter in nvim-bqf - require("bqf").setup({ - filter = { - fzf = { - extra_opts = { "--bind", "ctrl-o:toggle-all", "--delimiter", "│" }, - }, - }, - }) - - local toggle_qf = function() - local qf_open = false - for _, win in pairs(vim.fn.getwininfo()) do - if win["quickfix"] == 1 then - qf_open = true - end - end - if qf_open == true then - vim.cmd("cclose") - return - end - if not vim.tbl_isempty(vim.fn.getqflist()) then - vim.cmd("copen") - end - end - - MAP("n", "fQ", toggle_qf, "Toggle quickfix") - end, - }, -} diff --git a/config/nvim/lua/aleidk/plugins-base/treesitter.lua b/config/nvim/lua/aleidk/plugins-base/treesitter.lua index 870f442..c0077f4 100644 --- a/config/nvim/lua/aleidk/plugins-base/treesitter.lua +++ b/config/nvim/lua/aleidk/plugins-base/treesitter.lua @@ -86,17 +86,5 @@ return { -- Uncoment this line to disable auto folding on file open vim.cmd("set nofoldenable") - - -- TODO: remove this when blade treesitter is added to nvim-treesitter repo - -- Also remove the "config/nvim/after/queries/blade" folder. - local parser_config = require("nvim-treesitter.parsers").get_parser_configs() - parser_config.blade = { - install_info = { - url = "https://github.com/EmranMR/tree-sitter-blade", - files = { "src/parser.c" }, - branch = "main", - }, - filetype = "blade", - } end, } diff --git a/config/nvim/lua/aleidk/plugins-core/markdown.lua b/config/nvim/lua/aleidk/plugins-core/markdown.lua index 8a53320..3fc9cbb 100644 --- a/config/nvim/lua/aleidk/plugins-core/markdown.lua +++ b/config/nvim/lua/aleidk/plugins-core/markdown.lua @@ -12,33 +12,4 @@ return { }, }, }, - { - "zk-org/zk-nvim", - config = function() - require("zk").setup({ - picker = "select", - }) - - function MAP(mode, l, r, desc) - vim.keymap.set(mode, l, r, { desc = desc, silent = true }) - end - - MAP("n", "", "lua vim.lsp.buf.definition()", "Open the link under cursor") - - MAP("n", "zn", "ZkNew { dir = vim.fn.expand('%:p:h'), title = vim.fn.input('Title: ') }", - "Create new note") - MAP("v", "zN", - ":'<,'>ZkNewFromContentSelection { dir = vim.fn.expand('%:p:h'), title = vim.fn.input('Title: ') }", - "Create new note using selection as content") - - MAP("n", "zl", "ZkInsertLink", "Insert Link into cursor position") - MAP("v", "zl", ":'<,'>ZkInsertLinkAtSelection", "Insert Link into selection") - - MAP("n", "zb", "ZkBacklinks", "Backlinks") - MAP("n", "zo", "ZkLinks", "Outlinks") - - MAP("n", "zf", "ZkNotes", "Find note") - MAP("n", "zt", "ZkTags", "Find tags") - end - } } diff --git a/config/nvim/lua/aleidk/plugins-core/telescope.lua b/config/nvim/lua/aleidk/plugins-core/telescope.lua index 5574cdd..48441dc 100644 --- a/config/nvim/lua/aleidk/plugins-core/telescope.lua +++ b/config/nvim/lua/aleidk/plugins-core/telescope.lua @@ -1,8 +1,7 @@ -- Fuzzy Finder (files, lsp, etc) return { "nvim-telescope/telescope.nvim", - version = "*", - event = "VeryLazy", + branch = "0.1.x", dependencies = { { "nvim-lua/plenary.nvim" }, { diff --git a/config/nvim/lua/aleidk/plugins-core/todo-comments.lua b/config/nvim/lua/aleidk/plugins-core/todo-comments.lua index 33f2372..d9044cd 100644 --- a/config/nvim/lua/aleidk/plugins-core/todo-comments.lua +++ b/config/nvim/lua/aleidk/plugins-core/todo-comments.lua @@ -1,9 +1,8 @@ return { - "folke/todo-comments.nvim", - cmd = { "TodoTrouble", "TodoTelescope" }, - event = { "BufReadPost", "BufNewFile" }, - config = true, - -- stylua: ignore + "folke/todo-comments.nvim", + cmd = { "TodoTrouble", "TodoTelescope" }, + event = { "BufReadPost", "BufNewFile" }, + config = true, keys = { { "]t", function() require("todo-comments").jump_next() end, desc = "Next todo comment" }, { "[t", function() require("todo-comments").jump_prev() end, desc = "Previous todo comment" }, From 7c0c670e297d3c4536a2549b246cfe1247fe2f3c Mon Sep 17 00:00:00 2001 From: aleidk Date: Fri, 22 Nov 2024 16:54:43 -0300 Subject: [PATCH 19/31] neovim plugin cleanup --- config/nvim/lazy-lock.json | 12 +- .../nvim/lua/aleidk/plugins-core/lualine.lua | 33 +- .../lua/aleidk/plugins-core/telescope.lua | 8 +- .../lua/aleidk/plugins-ide/color-picker.lua | 1 - .../nvim/lua/aleidk/plugins-ide/formatter.lua | 17 +- config/nvim/lua/aleidk/plugins-ide/git.lua | 62 --- .../{ts-node-action.lua => init.lua} | 10 +- .../nvim/lua/aleidk/plugins-ide/linters.lua | 8 +- config/nvim/lua/aleidk/plugins-ide/lsp.lua | 405 ++++++++---------- config/nvim/lua/aleidk/plugins-ide/mason.lua | 8 - .../lua/aleidk/plugins-ide/remote-sshfs.lua | 1 + .../lua/aleidk/plugins-ide/task-runner.lua | 22 +- .../nvim/lua/aleidk/plugins-ide/trouble.lua | 84 +++- 13 files changed, 311 insertions(+), 360 deletions(-) rename config/nvim/lua/aleidk/plugins-ide/{ts-node-action.lua => init.lua} (62%) delete mode 100644 config/nvim/lua/aleidk/plugins-ide/mason.lua diff --git a/config/nvim/lazy-lock.json b/config/nvim/lazy-lock.json index 08b5f87..7171664 100644 --- a/config/nvim/lazy-lock.json +++ b/config/nvim/lazy-lock.json @@ -16,27 +16,24 @@ "copilot-cmp": { "branch": "master", "commit": "b6e5286b3d74b04256d0a7e3bd2908eabec34b44" }, "copilot-lualine": { "branch": "main", "commit": "f40450c3e138766026327e7807877ea860618258" }, "copilot.lua": { "branch": "master", "commit": "f8d8d872bb319f640d5177dad5fbf01f7a16d7d0" }, - "diffview.nvim": { "branch": "main", "commit": "4516612fe98ff56ae0415a259ff6361a89419b0a" }, "dressing.nvim": { "branch": "master", "commit": "fc78a3ca96f4db9f8893bb7e2fd9823e0780451b" }, "friendly-snippets": { "branch": "main", "commit": "45a1b96e46efe5fce8af325d4bed45feb9d29d0f" }, "gitsigns.nvim": { "branch": "main", "commit": "e9c4187c3774a46df2d086a66cf3a7e6bea4c432" }, "grapple.nvim": { "branch": "main", "commit": "b41ddfc1c39f87f3d1799b99c2f0f1daa524c5f7" }, "indent-blankline.nvim": { "branch": "master", "commit": "7871a88056f7144defca9c931e311a3134c5d509" }, "lazy.nvim": { "branch": "main", "commit": "56ead98e05bb37a4ec28930a54d836d033cf00f2" }, - "lazygit.nvim": { "branch": "main", "commit": "dc56df433bfbf107fee0139e187eb9750878fa84" }, + "lazydev.nvim": { "branch": "main", "commit": "d5800897d9180cea800023f2429bce0a94ed6064" }, "lualine.nvim": { "branch": "master", "commit": "6a40b530539d2209f7dc0492f3681c8c126647ad" }, + "luvit-meta": { "branch": "main", "commit": "57d464c4acb5c2e66bd4145060f5dc9e96a7bbb7" }, "mason-lspconfig.nvim": { "branch": "main", "commit": "37a336b653f8594df75c827ed589f1c91d91ff6c" }, "mason.nvim": { "branch": "main", "commit": "f96a31855fa8aea55599cea412fe611b85a874ed" }, "mini.clue": { "branch": "main", "commit": "08f792869781b4bfdfcaa55eb905b9635c0a243f" }, "mini.comment": { "branch": "main", "commit": "c8406379987c321ecdef9f53e1ca741a55002104" }, "mini.surround": { "branch": "main", "commit": "3cb5b509ad34f2402df4b977be607a614c8c7524" }, - "neodev.nvim": { "branch": "main", "commit": "46aa467dca16cf3dfe27098042402066d2ae242d" }, "neogen": { "branch": "main", "commit": "0daffcec249bf42275e322361fe55b89a05ff278" }, - "neogit": { "branch": "master", "commit": "a20031fb5d7d12148764764059243135085e5c9b" }, "noice.nvim": { "branch": "main", "commit": "6263b6696811f0b11c88d8d2371134b1cc1762fc" }, "nui.nvim": { "branch": "main", "commit": "61574ce6e60c815b0a0c4b5655b8486ba58089a1" }, "nvim-autopairs": { "branch": "master", "commit": "78a4507bb9ffc9b00f11ae0ac48243d00cb9194d" }, - "nvim-bqf": { "branch": "main", "commit": "1b24dc6050c34e8cd377b6b4cd6abe40509e0187" }, "nvim-cmp": { "branch": "main", "commit": "a110e12d0b58eefcf5b771f533fc2cf3050680ac" }, "nvim-lint": { "branch": "master", "commit": "efc6fc83f0772283e064c53a8f9fb5645bde0bc0" }, "nvim-lspconfig": { "branch": "master", "commit": "216deb2d1b5fbf24398919228208649bbf5cbadf" }, @@ -53,7 +50,7 @@ "render-markdown": { "branch": "main", "commit": "123048b428eb85618780fcef9ea9f4d68b5d2508" }, "smart-splits.nvim": { "branch": "master", "commit": "95833675cd92538bf9cded1d2d58d1fc271c5428" }, "telescope-fzf-native.nvim": { "branch": "main", "commit": "cf48d4dfce44e0b9a2e19a008d6ec6ea6f01a83b" }, - "telescope.nvim": { "branch": "master", "commit": "a0bbec21143c7bc5f8bb02e0005fa0b982edc026" }, + "telescope.nvim": { "branch": "0.1.x", "commit": "a0bbec21143c7bc5f8bb02e0005fa0b982edc026" }, "todo-comments.nvim": { "branch": "main", "commit": "d61567557e2ff5c548c74e96b2d9f8d33e5fcb34" }, "treesj": { "branch": "main", "commit": "6e8bd008bacd5ad001c3953017c1dca20709e915" }, "trouble.nvim": { "branch": "main", "commit": "03c1fbf518bef683422a3be9643c3da190903488" }, @@ -65,6 +62,5 @@ "vim-dadbod-ui": { "branch": "master", "commit": "f74a31e8c6c5a9dccc63450a09d5cd64a9294330" }, "vim-illuminate": { "branch": "master", "commit": "5eeb7951fc630682c322e88a9bbdae5c224ff0aa" }, "vim-sleuth": { "branch": "master", "commit": "1cc4557420f215d02c4d2645a748a816c220e99b" }, - "yazi.nvim": { "branch": "main", "commit": "faa03e9acb894533b91c811d0dafd816b995088f" }, - "zk-nvim": { "branch": "main", "commit": "dbf4eeab55b08856c9d6b6722dbff39630bb35eb" } + "yazi.nvim": { "branch": "main", "commit": "faa03e9acb894533b91c811d0dafd816b995088f" } } diff --git a/config/nvim/lua/aleidk/plugins-core/lualine.lua b/config/nvim/lua/aleidk/plugins-core/lualine.lua index 391e50f..83aaede 100644 --- a/config/nvim/lua/aleidk/plugins-core/lualine.lua +++ b/config/nvim/lua/aleidk/plugins-core/lualine.lua @@ -66,6 +66,18 @@ return { end end + local trouble = require("trouble") + local symbols = trouble.statusline({ + mode = "lsp_document_symbols", + groups = {}, + title = false, + filter = { range = true }, + format = "{kind_icon}{symbol.name:Normal}", + -- The following line is needed to fix the background color + -- Set it to the lualine section you want to use + hl_group = "lualine_c_normal", + }) + return { options = { theme = "catppuccin", @@ -115,18 +127,12 @@ return { }, }, { codecompanion_status }, - { "aerial" }, { - "overseer", + symbols.get, + cond = symbols.has, }, { - -- Macro recording status - function() - return require("noice").api.status.mode.get() - end, - cond = function() - return package.loaded["noice"] and require("noice").api.status.mode.has() - end, + "overseer", }, }, lualine_x = { @@ -137,6 +143,15 @@ return { }, }, lualine_y = { + { + -- Macro recording status + function() + return require("noice").api.status.mode.get() + end, + cond = function() + return package.loaded["noice"] and require("noice").api.status.mode.has() + end, + }, { "searchcount" }, { "location" }, { diff --git a/config/nvim/lua/aleidk/plugins-core/telescope.lua b/config/nvim/lua/aleidk/plugins-core/telescope.lua index 48441dc..ad89cf6 100644 --- a/config/nvim/lua/aleidk/plugins-core/telescope.lua +++ b/config/nvim/lua/aleidk/plugins-core/telescope.lua @@ -35,12 +35,8 @@ return { [""] = actions.close, [""] = actions.send_to_qflist + actions.open_qflist, [""] = actions.send_selected_to_qflist + actions.open_qflist, - [""] = function(...) - return require("trouble.providers.telescope").open_with_trouble(...) - end, - [""] = function(...) - return require("trouble.providers.telescope").open_selected_with_trouble(...) - end, + [""] = require("trouble.sources.telescope").open, + [""] = require("trouble.sources.telescope").open, }, }, }, diff --git a/config/nvim/lua/aleidk/plugins-ide/color-picker.lua b/config/nvim/lua/aleidk/plugins-ide/color-picker.lua index 221ed52..626f66f 100644 --- a/config/nvim/lua/aleidk/plugins-ide/color-picker.lua +++ b/config/nvim/lua/aleidk/plugins-ide/color-picker.lua @@ -2,7 +2,6 @@ return { { -- Color Picker "uga-rosa/ccc.nvim", - event = "VeryLazy", opts = { auto_enable = true, lsp = true, diff --git a/config/nvim/lua/aleidk/plugins-ide/formatter.lua b/config/nvim/lua/aleidk/plugins-ide/formatter.lua index 2da9aec..2cab30d 100644 --- a/config/nvim/lua/aleidk/plugins-ide/formatter.lua +++ b/config/nvim/lua/aleidk/plugins-ide/formatter.lua @@ -1,6 +1,7 @@ return { "stevearc/conform.nvim", - event = "VeryLazy", + event = { "BufWritePre" }, + cmd = { "ConformInfo" }, opts = { -- log_level = vim.log.levels.DEBUG, @@ -13,13 +14,13 @@ return { -- have other formatters configured. ["_"] = { "trim_whitespace" }, blade = { "blade-formatter" }, - css = { "prettierd", "prettier" }, + css = { "biome" }, go = { "gofumpt", "goimports_reviser", "golines" }, html = { "djlint", "prettierd", stop_after_first = true }, - javascript = { "prettierd", "prettier", stop_after_first = true }, - javascriptreact = { "prettierd", "prettier", stop_after_first = true }, - json = { "prettierd", "prettier", stop_after_first = true }, - jsonc = { "prettierd", "prettier", stop_after_first = true }, + javascript = { "biome" }, + javascriptreact = { "biome" }, + json = { "biome" }, + jsonc = { "biome" }, lua = { "stylua" }, markdown = { "markdownlint" }, nim = { "nimpretty" }, @@ -27,8 +28,8 @@ return { python = { "ruff_format", "ruff_organize_imports" }, scss = { "prettierd", "prettier", stop_after_first = true }, sh = { "shfmt" }, - typescript = { "prettierd", "prettier", stop_after_first = true }, - typescriptreact = { "prettierd", "prettier", stop_after_first = true }, + typescript = { "biome" }, + typescriptreact = { "biome" }, xml = { "lemminx" }, zsh = { "shfmt" } }, diff --git a/config/nvim/lua/aleidk/plugins-ide/git.lua b/config/nvim/lua/aleidk/plugins-ide/git.lua index a248abf..4cc6a38 100644 --- a/config/nvim/lua/aleidk/plugins-ide/git.lua +++ b/config/nvim/lua/aleidk/plugins-ide/git.lua @@ -32,66 +32,4 @@ return { end, }, }, - { - "kdheepak/lazygit.nvim", - event = "VeryLazy", - dependencies = { - "nvim-lua/plenary.nvim", - }, - keys = { - { "gG", ":LazyGit", desc = "Lazygit" }, - }, - }, - { - "NeogitOrg/neogit", - dependencies = { - "nvim-lua/plenary.nvim", -- required - "nvim-telescope/telescope.nvim", -- optional - "sindrets/diffview.nvim", -- optional - }, - config = true, - opts = { - disable_line_numbers = false, - console_timeout = 8000, - graph_style = "unicode", - kind = "tab", - ignored_settings = { - "NeogitPushPopup--force", - "NeogitPullPopup--rebase", - "NeogitCommitPopup--allow-empty", - "NeogitCommitPopup--reuse-message", - "NeogitRevertPopup--no-edit", - }, - }, - keys = { - { - "gg", - function() - require("neogit").open() - end, - desc = "Neogit", - }, - { - "gc", - function() - require("neogit").open({ "commit" }) - end, - desc = "Commit", - }, - { - "gp", - function() - require("neogit").open({ "pull" }) - end, - desc = "Pull", - }, - { - "gP", - function() - require("neogit").open({ "push" }) - end, - desc = "Push", - }, - }, - }, } diff --git a/config/nvim/lua/aleidk/plugins-ide/ts-node-action.lua b/config/nvim/lua/aleidk/plugins-ide/init.lua similarity index 62% rename from config/nvim/lua/aleidk/plugins-ide/ts-node-action.lua rename to config/nvim/lua/aleidk/plugins-ide/init.lua index 1dc970d..286bfc6 100644 --- a/config/nvim/lua/aleidk/plugins-ide/ts-node-action.lua +++ b/config/nvim/lua/aleidk/plugins-ide/init.lua @@ -2,12 +2,10 @@ return { { "ckolkey/ts-node-action", dependencies = { "nvim-treesitter" }, - event = "VeryLazy", - config = function() - require("ts-node-action").setup({}) - - vim.keymap.set({ "n" }, "lA", require("ts-node-action").node_action, { desc = "Node Action" }) - end, + opts = {}, + keys = { + { "ls", function() require("ts-node-action").node_action() end, desc = "Node Action" } + } }, { "Wansmer/treesj", diff --git a/config/nvim/lua/aleidk/plugins-ide/linters.lua b/config/nvim/lua/aleidk/plugins-ide/linters.lua index 4ab5fdb..424f370 100644 --- a/config/nvim/lua/aleidk/plugins-ide/linters.lua +++ b/config/nvim/lua/aleidk/plugins-ide/linters.lua @@ -8,10 +8,10 @@ return { lint.linters.gitlint.args = { "--contrib", "contrib-title-conventional-commits", "--msg-filename", "-" } lint.linters_by_ft = { - javascript = { "eslint_d" }, - typescript = { "eslint_d" }, - javascriptreact = { "eslint_d" }, - typescriptreact = { "eslint_d" }, + javascript = { "biomejs" }, + typescript = { "biomejs" }, + javascriptreact = { "biomejs" }, + typescriptreact = { "biomejs" }, -- astro = { "eslint_d" }, python = { "ruff" }, sh = { "shellcheck" }, diff --git a/config/nvim/lua/aleidk/plugins-ide/lsp.lua b/config/nvim/lua/aleidk/plugins-ide/lsp.lua index 553b256..2565d96 100644 --- a/config/nvim/lua/aleidk/plugins-ide/lsp.lua +++ b/config/nvim/lua/aleidk/plugins-ide/lsp.lua @@ -1,253 +1,214 @@ -return { { - -- LSP Configuration & Plugins - "neovim/nvim-lspconfig", - event = { "BufReadPost", "BufNewFile", "BufWritePre" }, - dependencies = { - -- Automatically install LSPs to stdpath for neovim - { "williamboman/mason.nvim" }, - "williamboman/mason-lspconfig.nvim", - -- Additional lua configuration, makes nvim stuff amazing! - { "folke/neodev.nvim", opts = {} }, +return { + -- LSP Plugins + { + -- `lazydev` configures Lua LSP for your Neovim config, runtime and plugins + -- used for completion, annotations and signatures of Neovim apis + 'folke/lazydev.nvim', + ft = 'lua', + opts = { + library = { + -- Load luvit types when the `vim.uv` word is found + { path = 'luvit-meta/library', words = { 'vim%.uv' } }, + }, + }, }, + { "Bilal2453/luvit-meta", lazy = true }, -- optional `vim.uv` typings + { + -- LSP Configuration & Plugins + "neovim/nvim-lspconfig", + event = { "BufReadPost", "BufNewFile", "BufWritePre" }, + dependencies = { + -- Automatically install LSPs to stdpath for neovim + { "williamboman/mason.nvim", config = true }, + "williamboman/mason-lspconfig.nvim", + }, - config = function() - -- LSP settings. - local on_attach = function(_, bufnr) - local nmap = function(keys, func, desc) - if desc then - desc = "LSP: " .. desc + config = function() + -- LSP settings. + local on_attach = function(_, bufnr) + local nmap = function(keys, func, desc) + if desc then + desc = "LSP: " .. desc + end + + vim.keymap.set("n", keys, func, { buffer = bufnr, desc = desc }) end - vim.keymap.set("n", keys, func, { buffer = bufnr, desc = desc }) + nmap("lr", vim.lsp.buf.rename, "Rename") + -- stylua: ignore + vim.keymap.set({ "n", "x", "v" }, "la", vim.lsp.buf.code_action, { buffer = bufnr, desc = "Code Action" }) + nmap("ld", vim.lsp.buf.type_definition, "Go to type definition") + nmap("lf", function() + vim.lsp.buf.format() + end, "Format") + + nmap("gd", vim.lsp.buf.definition, "Go to definition") + nmap("gr", require("telescope.builtin").lsp_references, "Goto References") + nmap("gI", vim.lsp.buf.implementation, "Go to Implementation") + + -- See `:help K` for why this keymap + nmap("K", vim.lsp.buf.hover, "Hover Documentation") + -- nmap("", vim.lsp.buf.signature_help, "Signature Documentation") + + -- Lesser used LSP functionality + nmap("gD", vim.lsp.buf.declaration, "Goto Declaration") + + nmap("lj", vim.diagnostic.goto_next, "Go to next diagnostic") + nmap("lk", vim.diagnostic.goto_prev, "Go to prev diagnostic") + nmap("lK", function() + -- execute twice to enter the float inmediatly + vim.diagnostic.open_float() + vim.diagnostic.open_float() + end, "Hover current diagnostic") + + -- Create a command `:Format` local to the LSP buffer + vim.api.nvim_buf_create_user_command(bufnr, "Format", function(_) + vim.lsp.buf.format() + end, { desc = "Format current buffer with LSP" }) end - nmap("lr", vim.lsp.buf.rename, "Rename") - -- stylua: ignore - vim.keymap.set({ "n", "x", "v" }, "la", vim.lsp.buf.code_action, { buffer = bufnr, desc = "Code Action" }) - nmap("ld", vim.lsp.buf.type_definition, "Go to type definition") - nmap("lf", function() - vim.lsp.buf.format() - end, "Format") - - nmap("gd", vim.lsp.buf.definition, "Go to definition") - nmap("gr", require("telescope.builtin").lsp_references, "Goto References") - nmap("gI", vim.lsp.buf.implementation, "Go to Implementation") - - -- See `:help K` for why this keymap - nmap("K", vim.lsp.buf.hover, "Hover Documentation") - -- nmap("", vim.lsp.buf.signature_help, "Signature Documentation") - - -- Lesser used LSP functionality - nmap("gD", vim.lsp.buf.declaration, "Goto Declaration") - - nmap("lj", vim.diagnostic.goto_next, "Go to next diagnostic") - nmap("lk", vim.diagnostic.goto_prev, "Go to prev diagnostic") - nmap("lK", function() - -- execute twice to enter the float inmediatly - vim.diagnostic.open_float() - vim.diagnostic.open_float() - end, "Hover current diagnostic") - - -- Create a command `:Format` local to the LSP buffer - vim.api.nvim_buf_create_user_command(bufnr, "Format", function(_) - vim.lsp.buf.format() - end, { desc = "Format current buffer with LSP" }) - end - - -- Enable the following language servers - -- To see options and cofigurations: https://github.com/neovim/nvim-lspconfig/blob/master/doc/server_configurations.md - local servers = { - astro = {}, - bashls = {}, - cssls = {}, - dockerls = {}, - emmet_ls = { - filetypes = { - "astro", - "css", - "eruby", - "html", - "htmldjango", - "javascriptreact", - "less", - "pug", - "sass", - "scss", - "svelte", - "typescriptreact", - "vue", - "htmlangular", - "php", - "blade" + -- Enable the following language servers + -- To see options and cofigurations: https://github.com/neovim/nvim-lspconfig/blob/master/doc/server_configurations.md + local servers = { + astro = {}, + bashls = {}, + cssls = {}, + dockerls = {}, + emmet_ls = { + filetypes = { + "astro", + "css", + "eruby", + "html", + "htmldjango", + "javascriptreact", + "less", + "pug", + "sass", + "scss", + "svelte", + "typescriptreact", + "vue", + "htmlangular", + "php", + "blade" + }, }, - }, - html = {}, - ["nil_ls"] = {}, - marksman = {}, - pyright = {}, - phpactor = {}, - gopls = { - settings = { - gopls = { - completeUnimported = true, - usePlaceholders = true, - analyses = { - unusedparams = true, + html = {}, + marksman = {}, + pyright = {}, + phpactor = {}, + gopls = { + settings = { + gopls = { + completeUnimported = true, + usePlaceholders = true, + analyses = { + unusedparams = true, + }, }, }, }, - }, - ruff = {}, - rust_analyzer = { - settings = { - ["rust-analyzer"] = { - imports = { - granularity = { - group = "module", + ruff = {}, + rust_analyzer = { + settings = { + ["rust-analyzer"] = { + imports = { + granularity = { + group = "module", + }, + prefix = "self", }, - prefix = "self", - }, - cargo = { - buildScripts = { + cargo = { + buildScripts = { + enable = true, + }, + }, + procMacro = { enable = true, }, }, - procMacro = { - enable = true, - }, }, }, - }, - sqlls = {}, - yamlls = {}, - tsserver = { - init_options = { - preferences = { - disableSuggestions = true, - }, - }, - }, - lua_ls = { - settings = { - Lua = { - runtime = { - -- Tell the language server which version of Lua you're using - -- (most likely LuaJIT in the case of Neovim) - version = "LuaJIT", - }, - -- Make the server aware of Neovim runtime files - workspace = { - checkThirdParty = false, - library = { - vim.env.VIMRUNTIME, - -- "${3rd}/luv/library" - -- "${3rd}/busted/library", + sqlls = {}, + yamlls = {}, + lua_ls = { + settings = { + Lua = { + completion = { + callSnippet = 'Replace', }, + diagnostics = { disable = { 'missing-fields' } }, }, }, }, - }, - } + } - -- nvim-cmp supports additional completion capabilities, so broadcast that to servers - local capabilities = vim.lsp.protocol.make_client_capabilities() - capabilities = require("cmp_nvim_lsp").default_capabilities(capabilities) + -- nvim-cmp supports additional completion capabilities, so broadcast that to servers + local capabilities = vim.lsp.protocol.make_client_capabilities() + capabilities = require("cmp_nvim_lsp").default_capabilities(capabilities) - -- Ensure the servers above are installed - local mason_lspconfig = require("mason-lspconfig") + -- Ensure the servers above are installed + local mason_lspconfig = require("mason-lspconfig") - mason_lspconfig.setup({ - ensure_installed = vim.tbl_keys(servers), - -- automatic_installation = { exclude = { "astro", "phpactor", "rust_analyzer", "sqlls" } }, - automatic_installation = false, - }) + mason_lspconfig.setup({ + ensure_installed = vim.tbl_keys(servers), + automatic_installation = false, + }) - mason_lspconfig.setup_handlers({ - function(server_name) - local _border = "single" + mason_lspconfig.setup_handlers({ + function(server_name) + local _border = "single" - local default_config = { - capabilities = capabilities, - on_attach = on_attach, - handlers = { - ["textDocument/signatureHelp"] = vim.lsp.with(vim.lsp.handlers.signature_help, { - border = _border, - }), - ["textDocument/hover"] = vim.lsp.with(vim.lsp.handlers.hover, { - border = _border, - max_width = 200, - max_height = 200, - focus = true, - }), - }, - } + local default_config = { + capabilities = capabilities, + on_attach = on_attach, + handlers = { + ["textDocument/signatureHelp"] = vim.lsp.with(vim.lsp.handlers.signature_help, { + border = _border, + }), + ["textDocument/hover"] = vim.lsp.with(vim.lsp.handlers.hover, { + border = _border, + max_width = 200, + max_height = 200, + focus = true, + }), + }, + } - require("lspconfig")[server_name].setup( - vim.tbl_deep_extend("force", default_config, servers[server_name] or {}) - ) - end, - }) - - vim.diagnostic.config({ - update_in_insert = false, - underline = true, - float = { - source = true - }, - virtual_text = { - severity = vim.diagnostic.severity.ERROR, - source = true, - spacing = -1, - prefix = nil, - format = function(diagnostic) - -- show small error code instead of whole error that probably won't fit in the screen - -- to see the whole error use other keybindings - return tostring(diagnostic.code) + require("lspconfig")[server_name].setup( + vim.tbl_deep_extend("force", default_config, servers[server_name] or {}) + ) end, - virt_text_hide = true - }, - severity_sort = true, - }) + }) - -- Customize gutter icons - local signs = require("aleidk.constants").icons.diagnostics - for type, icon in pairs(signs) do - local hl = "DiagnosticSign" .. type - vim.fn.sign_define(hl, { text = icon, texthl = hl, numhl = hl }) - end - end, -}, - - { - 'stevearc/aerial.nvim', - -- Optional dependencies - dependencies = { - "nvim-treesitter/nvim-treesitter", - "nvim-tree/nvim-web-devicons" - }, - opts = { - close_on_select = false, - show_guides = true, - autojump = true, - highlight_on_hover = true, - layout = { - default_direction = "float", - }, - float = { - relative = "editor", - }, - nav = { - preview = true, - keymaps = { - ["q"] = "actions.close", + vim.diagnostic.config({ + update_in_insert = false, + underline = true, + float = { + source = true }, - }, - }, + virtual_text = { + severity = vim.diagnostic.severity.ERROR, + source = true, + spacing = -1, + prefix = nil, + format = function(diagnostic) + -- show small error code instead of whole error that probably won't fit in the screen + -- to see the whole error use other keybindings + return tostring(diagnostic.code) + end, + virt_text_hide = true + }, + severity_sort = true, + }) - keys = { - { "ll", function() require("aerial").toggle() end, desc = "Open syntax tree" }, - { "lL", function() require("aerial").nav_toggle() end, desc = "Open syntax tree navigation" }, - { "fl", "Telescope aerial", desc = "Find in syntax tree" }, - } - } + -- Customize gutter icons + local signs = require("aleidk.constants").icons.diagnostics + for type, icon in pairs(signs) do + local hl = "DiagnosticSign" .. type + vim.fn.sign_define(hl, { text = icon, texthl = hl, numhl = hl }) + end + end, + }, } diff --git a/config/nvim/lua/aleidk/plugins-ide/mason.lua b/config/nvim/lua/aleidk/plugins-ide/mason.lua deleted file mode 100644 index 181d119..0000000 --- a/config/nvim/lua/aleidk/plugins-ide/mason.lua +++ /dev/null @@ -1,8 +0,0 @@ -return { - "williamboman/mason.nvim", - cmd = "Mason", - build = ":MasonUpdate", - opts = { - ensure_installed = {}, - }, -} diff --git a/config/nvim/lua/aleidk/plugins-ide/remote-sshfs.lua b/config/nvim/lua/aleidk/plugins-ide/remote-sshfs.lua index d4975cb..f62134c 100644 --- a/config/nvim/lua/aleidk/plugins-ide/remote-sshfs.lua +++ b/config/nvim/lua/aleidk/plugins-ide/remote-sshfs.lua @@ -1,6 +1,7 @@ return { "nosduco/remote-sshfs.nvim", dependencies = { "nvim-telescope/telescope.nvim" }, + cmd = { "RemoteSSHFSConnec" }, config = function() require("remote-sshfs").setup({}) require("telescope").load_extension("remote-sshfs") diff --git a/config/nvim/lua/aleidk/plugins-ide/task-runner.lua b/config/nvim/lua/aleidk/plugins-ide/task-runner.lua index 97b9d26..3af9f6d 100644 --- a/config/nvim/lua/aleidk/plugins-ide/task-runner.lua +++ b/config/nvim/lua/aleidk/plugins-ide/task-runner.lua @@ -19,13 +19,11 @@ local scroll_to_end = function(winid) winid = winid or 0 local bufnr = vim.api.nvim_win_get_buf(winid) local lnum = vim.api.nvim_buf_line_count(bufnr) - local last_line = vim.api.nvim_buf_get_lines(bufnr, -2, -1, true)[1] -- Hack: terminal buffers add a bunch of empty lines at the end. We need to ignore them so that -- we don't end up scrolling off the end of the useful output. local not_much_output = lnum < vim.o.lines + 6 if vim.bo[bufnr].buftype == "terminal" and not_much_output then lnum = term_get_effective_line_count(bufnr) - last_line = vim.api.nvim_buf_get_lines(bufnr, lnum - 1, lnum, true)[1] end local scrolloff = vim.api.nvim_get_option_value("scrolloff", { scope = "local", win = winid }) vim.api.nvim_set_option_value("scrolloff", 0, { scope = "local", win = winid }) @@ -57,22 +55,22 @@ end return { "stevearc/overseer.nvim", keys = { - { "pO", "OverseerQuickAction hsplit", desc = "Open task in a hsplit" }, + { "pO", "OverseerQuickAction hsplit", desc = "Open task in a hsplit" }, { "pQ", "OverseerQuickAction close winOverseerQuickAction dispose", desc = "Close and dispose task's windows", }, - { "pW", "OverseerQuickAction unwatch", desc = "Unwatch task" }, + { "pW", "OverseerQuickAction unwatch", desc = "Unwatch task" }, { "pf", "OverseerQuickAction open float", desc = "Open task in a float window" }, - { "pl", "OverseerLoadBundle", desc = "Load tasks" }, - { "pm", "OverseerTaskAction", desc = "Manage task" }, - { "po", "OverseerQuickAction vsplit", desc = "Open task in a vsplit" }, - { "pp", "OverseerRun", desc = "Run task" }, - { "pq", "OverseerQuickAction close win", desc = "Close task's windows" }, - { "ps", "OverseerSaveBundle", desc = "Save tasks" }, - { "pt", "OverseerToggle", desc = "Toggle tasks list" }, - { "pw", "OverseerQuickAction watch", desc = "Watch task" }, + { "pl", "OverseerLoadBundle", desc = "Load tasks" }, + { "pm", "OverseerTaskAction", desc = "Manage task" }, + { "po", "OverseerQuickAction vsplit", desc = "Open task in a vsplit" }, + { "pp", "OverseerRun", desc = "Run task" }, + { "pq", "OverseerQuickAction close win", desc = "Close task's windows" }, + { "ps", "OverseerSaveBundle", desc = "Save tasks" }, + { "pt", "OverseerToggle", desc = "Toggle tasks list" }, + { "pw", "OverseerQuickAction watch", desc = "Watch task" }, }, opts = { actions = { diff --git a/config/nvim/lua/aleidk/plugins-ide/trouble.lua b/config/nvim/lua/aleidk/plugins-ide/trouble.lua index 86b58a9..8b31a1c 100644 --- a/config/nvim/lua/aleidk/plugins-ide/trouble.lua +++ b/config/nvim/lua/aleidk/plugins-ide/trouble.lua @@ -1,24 +1,80 @@ return { "folke/trouble.nvim", dependencies = { "nvim-tree/nvim-web-devicons" }, - cmd = { "TroubleToggle", "Trouble" }, + cmd = { "Trouble" }, keys = { - { "fq", "TroubleToggle", desc = "Toggle trouble" }, - { "fd", "TroubleToggle workspace_diagnostics", desc = "Find diagnostics" }, { "fD", - "TroubleToggle document_diagnostics", - desc = "Find diagnostics in workspace", + "Trouble diagnostics open", + desc = "Find diagnostics (Trouble)", + }, + { + "fd", + "Trouble diagnostics open filter.buf=0", + desc = "Find buffer diagnostics (Trouble)", + }, + { + "ll", + "Trouble symbols open", + desc = "Symbols (Trouble)", + }, + { + "li", + "Trouble lsp open", + desc = "LSP info of node (Trouble)", + }, + { + "fq", + "Trouble qflist open", + desc = "Quickfix List (Trouble)", }, }, - config = function() - require("trouble").setup({ - mode = "document_diagnostics", - action_keys = { - open_split = "s", - open_vsplit = "v", - open_tab = "t", + opts = function() + ---@type trouble.Window.opts + local win_opts = { + -- size = { width = 30, height = 0.5 }, + minimal = true, + border = "rounded", + position = "bottom", + } + + ---@type trouble.Config + return { + focus = false, + + ---@type trouble.Window.opts + preview = { + type = "split", + relative = "win", + position = "top", }, - }) - end, + + ---@type table + keys = { + [""] = "jump_close", + ["<2-leftmouse>"] = "jump_close", + [""] = "jump_split_close", + [""] = "jump_vsplit_close", + ["v"] = "jump_split_close", + ["s"] = "jump_vsplit_close", + [""] = "cancel", -- hack to fool myself into thinking I move to the avobe window + }, + win = win_opts, + ---@type table + modes = { + symbols = { + focus = true, + win = win_opts + }, + lsp_references = { + focus = true, + win = win_opts + }, + lsp = { + focus = true, + win = win_opts + }, + } + } + end } From 1366b1d7b0a8a72fd13555067ec026c3cc5b01d1 Mon Sep 17 00:00:00 2001 From: aleidk Date: Fri, 22 Nov 2024 18:07:38 -0300 Subject: [PATCH 20/31] update thinkpad config --- .dotter/machines/fedora.toml | 12 +++++++++--- .dotter/pre_deploy.sh | 2 +- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/.dotter/machines/fedora.toml b/.dotter/machines/fedora.toml index 368f1da..291e7c8 100644 --- a/.dotter/machines/fedora.toml +++ b/.dotter/machines/fedora.toml @@ -41,20 +41,26 @@ cli = [ dev = [ "gcc", "gcc-c++", + "just" "nodejs", "openssl", "openssl-devel", "tmux", "tree-sitter-cli", ] +[dev.variables.cargo.packages] +dev = [ + "cocogitto" +] + [zsh.variables.packages] -zssh = [ +zsh = [ "zsh" ] -[rust.variables] -cargo.packages = [ +[rust.variables.cargo.packages] +rust = [ "yazi-fm", "yazi-cli", ] diff --git a/.dotter/pre_deploy.sh b/.dotter/pre_deploy.sh index 0778ecf..92715f8 100644 --- a/.dotter/pre_deploy.sh +++ b/.dotter/pre_deploy.sh @@ -72,7 +72,7 @@ curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --no-mod {{#if (and dotter.packages.rust (ne (len cargo.packages) 0)) }} {{ header "Installing crates" }} -cargo install --locked {{# each cargo.packages }} "{{ this }}" {{ /each }} +cargo install --locked {{# each (flatten_table cargo.packages) }} "{{ this }}" {{ /each }} {{ /if }} From ec750a0e89924770b2a509c4f2ef0e262e439ceb Mon Sep 17 00:00:00 2001 From: aleidk Date: Mon, 25 Nov 2024 10:46:43 -0300 Subject: [PATCH 21/31] change ai plugin to CopilotChat.nvim --- config/nvim/lazy-lock.json | 3 +- .../nvim/lua/aleidk/plugins-core/markdown.lua | 2 +- config/nvim/lua/aleidk/plugins-ide/ai.lua | 118 +++++++++++------- 3 files changed, 73 insertions(+), 50 deletions(-) diff --git a/config/nvim/lazy-lock.json b/config/nvim/lazy-lock.json index 7171664..f9a1db0 100644 --- a/config/nvim/lazy-lock.json +++ b/config/nvim/lazy-lock.json @@ -1,6 +1,6 @@ { + "CopilotChat.nvim": { "branch": "canary", "commit": "df19e7ab15537436a26f59fa991f2fa81d847a0d" }, "LuaSnip": { "branch": "master", "commit": "ce0a05ab4e2839e1c48d072c5236cce846a387bc" }, - "aerial.nvim": { "branch": "master", "commit": "ddd25f57e5205b36bc2e939c486b47818bef9ec3" }, "catppuccin": { "branch": "main", "commit": "637d99e638bc6f1efedac582f6ccab08badac0c6" }, "ccc.nvim": { "branch": "main", "commit": "4fb5abaef2f2e0540fe22d4d74a9841205fff9e4" }, "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, @@ -10,7 +10,6 @@ "cmp-nvim-lsp": { "branch": "main", "commit": "39e2eda76828d88b773cc27a3f61d2ad782c922d" }, "cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" }, "cmp_luasnip": { "branch": "master", "commit": "05a9ab28b53f71d1aece421ef32fee2cb857a843" }, - "codecompanion.nvim": { "branch": "main", "commit": "ade8d29c94f6ad3c5b4ccf38517cec13126a6f0d" }, "comment-box.nvim": { "branch": "main", "commit": "06bb771690bc9df0763d14769b779062d8f12bc5" }, "conform.nvim": { "branch": "master", "commit": "0ebe875d9c306f5fc829db38492ffff2a70d8e9d" }, "copilot-cmp": { "branch": "master", "commit": "b6e5286b3d74b04256d0a7e3bd2908eabec34b44" }, diff --git a/config/nvim/lua/aleidk/plugins-core/markdown.lua b/config/nvim/lua/aleidk/plugins-core/markdown.lua index 3fc9cbb..19e36a2 100644 --- a/config/nvim/lua/aleidk/plugins-core/markdown.lua +++ b/config/nvim/lua/aleidk/plugins-core/markdown.lua @@ -6,7 +6,7 @@ return { -- dependencies = { 'nvim-treesitter/nvim-treesitter', 'echasnovski/mini.icons' }, -- if you use standalone mini plugins dependencies = { "nvim-treesitter/nvim-treesitter", "nvim-tree/nvim-web-devicons" }, -- if you prefer nvim-web-devicons opts = { - file_types = { 'markdown', 'codecompanion' }, + file_types = { 'markdown', 'copilot-chat' }, sign = { enabled = false, }, diff --git a/config/nvim/lua/aleidk/plugins-ide/ai.lua b/config/nvim/lua/aleidk/plugins-ide/ai.lua index 28abb89..f6e9df7 100644 --- a/config/nvim/lua/aleidk/plugins-ide/ai.lua +++ b/config/nvim/lua/aleidk/plugins-ide/ai.lua @@ -1,8 +1,10 @@ return { - "olimorris/codecompanion.nvim", + "CopilotC-Nvim/CopilotChat.nvim", + branch = "canary", + build = "make tiktoken", + cmd = "CopilotChat", dependencies = { "nvim-lua/plenary.nvim", - "nvim-treesitter/nvim-treesitter", { "zbirenbaum/copilot.lua", cmd = "Copilot", @@ -14,71 +16,93 @@ return { }) end, }, - "hrsh7th/nvim-cmp", -- Optional: For using slash commands and variables in the chat buffer - "nvim-telescope/telescope.nvim", -- Optional: For using slash commands - { "stevearc/dressing.nvim", opts = {} }, -- Optional: Improves `vim.ui.select` }, - opts = { - strategies = { - chat = { - adapter = "copilot", - }, - inline = { - adapter = "copilot", - }, - agent = { adapter = "copilot" }, - }, - display = { - action_palette = { - prompt = " " - }, - chat = { - window = { - layout = "float", - height = 0.8, - width = 0.8, + opts = function() + local user = vim.env.USER or "User" + user = user:sub(1, 1):upper() .. user:sub(2) + + return { + prompts = { + Explain = { + prompt = '> /COPILOT_EXPLAIN\n\nWrite an explanation for the selected code as paragraphs of text.', }, - } + Review = { + prompt = '> /COPILOT_REVIEW\n\nReview the selected code.', + -- see config.lua for implementation + }, + Fix = { + prompt = + '> /COPILOT_GENERATE\n\nThere is a problem in this code. Rewrite the code to show it with the bug fixed.', + }, + Optimize = { + prompt = '> /COPILOT_GENERATE\n\nOptimize the selected code to improve performance and readability.', + }, + Docs = { + prompt = '> /COPILOT_GENERATE\n\nPlease add documentation comments to the selected code.', + }, + Tests = { + prompt = '> /COPILOT_GENERATE\n\nPlease generate tests for my code.', + }, + Commit = { + prompt = + '> #git:staged\n\nWrite commit message for the change with commitizen convention. Make sure the title has maximum 50 characters and message is wrapped at 72 characters. Wrap the whole message in code block with language gitcommit.', + }, + }, + question_header = " " .. user .. " ", + answer_header = " Copilot ", + window = { + layout = 'float', -- 'vertical', 'horizontal', 'float', 'replace' + width = 0.8, -- fractional width of parent, or absolute width in columns when > 1 + height = 0.8, -- fractional height of parent, or absolute height in rows when > 1 + -- Options below only apply to floating windows + relative = 'editor', -- 'editor', 'win', 'cursor', 'mouse' + border = 'rounded', -- 'none', single', 'double', 'rounded', 'solid', 'shadow' + title = ' ', -- title of chat window + zindex = 1, -- determines if window is on top or below other floating windows + }, } - }, + end, keys = { { "at", function() - require("codecompanion").toggle() + require("CopilotChat").toggle() end, - desc = "Toggle AI chat", - mode = { "n", "v" } + desc = "Toggle window", + mode = { "n", "v" }, }, { "aa", - "CodeCompanion", - desc = "Run an inline prompt", - mode = { "n", "v" } + function() + local input = vim.fn.input("Quick Chat: ") + if input ~= "" then + require("CopilotChat").ask(input) + end + end, + desc = "Quick chat", + mode = { "n", "v" }, }, { "aA", function() - require("codecompanion").actions() + -- Pick a prompt using vim.ui.select + local actions = require("CopilotChat.actions") + + -- Pick prompt actions + actions.pick(actions.prompt_actions({ + selection = require("CopilotChat.select").visual, + })) end, - desc = "Open AI actions", - mode = { "n", "v" } + desc = "Select action", + mode = { "n", "v" }, }, { - "av", + "ax", function() - require("codecompanion").add() + return require("CopilotChat").reset() end, - desc = "Add visual selection to chat", - mode = "v" - }, - { - "ae", - function() - require("codecompanion").prompt("explain") - end, - desc = "Explain code", - mode = "v" + desc = "Clear chat", + mode = { "n", "v" }, }, } } From 6e2a88508c0d63cef5da2e2e53f01cd6bceb1fb7 Mon Sep 17 00:00:00 2001 From: aleidk Date: Mon, 25 Nov 2024 13:19:52 -0300 Subject: [PATCH 22/31] change completion plugin this was done to support dynamically enabling AI autosuggestion and is disabled by default --- .dotter/machines/fedora.toml | 2 +- config/nvim/lazy-lock.json | 12 +- config/nvim/lua/aleidk/constants.lua | 2 +- .../lua/aleidk/plugins-core/colorscheme.lua | 10 +- config/nvim/lua/aleidk/plugins-ide/ai.lua | 10 +- .../lua/aleidk/plugins-ide/completion.lua | 201 ++++++++---------- config/nvim/lua/aleidk/plugins-ide/lsp.lua | 3 +- 7 files changed, 114 insertions(+), 126 deletions(-) diff --git a/.dotter/machines/fedora.toml b/.dotter/machines/fedora.toml index 291e7c8..ee05f71 100644 --- a/.dotter/machines/fedora.toml +++ b/.dotter/machines/fedora.toml @@ -41,7 +41,7 @@ cli = [ dev = [ "gcc", "gcc-c++", - "just" + "just", "nodejs", "openssl", "openssl-devel", diff --git a/config/nvim/lazy-lock.json b/config/nvim/lazy-lock.json index f9a1db0..fb0acf6 100644 --- a/config/nvim/lazy-lock.json +++ b/config/nvim/lazy-lock.json @@ -1,18 +1,13 @@ { "CopilotChat.nvim": { "branch": "canary", "commit": "df19e7ab15537436a26f59fa991f2fa81d847a0d" }, "LuaSnip": { "branch": "master", "commit": "ce0a05ab4e2839e1c48d072c5236cce846a387bc" }, + "blink-cmp-copilot": { "branch": "main", "commit": "e3eedf36ceda1932e296ec894de4ceea8ddeacb6" }, + "blink.cmp": { "branch": "main", "commit": "81069e3955a8b4d5063287a2a6a47a844e9ca2cb" }, + "blink.compat": { "branch": "main", "commit": "08943fdf2eb00432d6205db6d0239434135416bd" }, "catppuccin": { "branch": "main", "commit": "637d99e638bc6f1efedac582f6ccab08badac0c6" }, "ccc.nvim": { "branch": "main", "commit": "4fb5abaef2f2e0540fe22d4d74a9841205fff9e4" }, - "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, - "cmp-cmdline": { "branch": "main", "commit": "d250c63aa13ead745e3a40f61fdd3470efde3923" }, - "cmp-conventionalcommits": { "branch": "master", "commit": "a4dfacf0601130b7f8afa7c948d735c27802fb7f" }, - "cmp-git": { "branch": "main", "commit": "22116bdffbe68bfc6ca05d52e9f217587cbfea8b" }, - "cmp-nvim-lsp": { "branch": "main", "commit": "39e2eda76828d88b773cc27a3f61d2ad782c922d" }, - "cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" }, - "cmp_luasnip": { "branch": "master", "commit": "05a9ab28b53f71d1aece421ef32fee2cb857a843" }, "comment-box.nvim": { "branch": "main", "commit": "06bb771690bc9df0763d14769b779062d8f12bc5" }, "conform.nvim": { "branch": "master", "commit": "0ebe875d9c306f5fc829db38492ffff2a70d8e9d" }, - "copilot-cmp": { "branch": "master", "commit": "b6e5286b3d74b04256d0a7e3bd2908eabec34b44" }, "copilot-lualine": { "branch": "main", "commit": "f40450c3e138766026327e7807877ea860618258" }, "copilot.lua": { "branch": "master", "commit": "f8d8d872bb319f640d5177dad5fbf01f7a16d7d0" }, "dressing.nvim": { "branch": "master", "commit": "fc78a3ca96f4db9f8893bb7e2fd9823e0780451b" }, @@ -33,7 +28,6 @@ "noice.nvim": { "branch": "main", "commit": "6263b6696811f0b11c88d8d2371134b1cc1762fc" }, "nui.nvim": { "branch": "main", "commit": "61574ce6e60c815b0a0c4b5655b8486ba58089a1" }, "nvim-autopairs": { "branch": "master", "commit": "78a4507bb9ffc9b00f11ae0ac48243d00cb9194d" }, - "nvim-cmp": { "branch": "main", "commit": "a110e12d0b58eefcf5b771f533fc2cf3050680ac" }, "nvim-lint": { "branch": "master", "commit": "efc6fc83f0772283e064c53a8f9fb5645bde0bc0" }, "nvim-lspconfig": { "branch": "master", "commit": "216deb2d1b5fbf24398919228208649bbf5cbadf" }, "nvim-notify": { "branch": "master", "commit": "fbef5d32be8466dd76544a257d3f3dce20082a07" }, diff --git a/config/nvim/lua/aleidk/constants.lua b/config/nvim/lua/aleidk/constants.lua index 0d9495c..52cdd9f 100644 --- a/config/nvim/lua/aleidk/constants.lua +++ b/config/nvim/lua/aleidk/constants.lua @@ -29,7 +29,7 @@ return { Color = " ", Constant = " ", Constructor = " ", - Copilot = " ", + Copilot = " ", Enum = " ", EnumMember = " ", Event = " ", diff --git a/config/nvim/lua/aleidk/plugins-core/colorscheme.lua b/config/nvim/lua/aleidk/plugins-core/colorscheme.lua index ff0bf3f..92a58d4 100644 --- a/config/nvim/lua/aleidk/plugins-core/colorscheme.lua +++ b/config/nvim/lua/aleidk/plugins-core/colorscheme.lua @@ -7,17 +7,15 @@ return { -- Change colors.none if not using a transparent background transparent_background = true, integrations = { aerial = true, + blink_cmp = true, cmp = true, - notify = true, harpoon = false, + indent_blankline = { enabled = true, scope_color = "text", }, + lsp_trouble = true, mason = true, neogit = true, noice = true, - lsp_trouble = true, - indent_blankline = { - enabled = true, - scope_color = "text", - }, + notify = true, }, custom_highlights = function(colors) return { diff --git a/config/nvim/lua/aleidk/plugins-ide/ai.lua b/config/nvim/lua/aleidk/plugins-ide/ai.lua index f6e9df7..aa9a4c1 100644 --- a/config/nvim/lua/aleidk/plugins-ide/ai.lua +++ b/config/nvim/lua/aleidk/plugins-ide/ai.lua @@ -12,8 +12,15 @@ return { config = function() require("copilot").setup({ suggestion = { enabled = false }, - panel = { enabled = true, auto_refresh = true }, + panel = { enabled = false }, }) + + vim.g.copilot_autocomplete_enabled = false + + vim.api.nvim_create_user_command("CopilotToggleAutocomplete", function() + vim.g.copilot_autocomplete_enabled = not vim.g.copilot_autocomplete_enabled + print("Copilot autocompletion: " .. tostring(vim.g.copilot_autocomplete_enabled)) + end, { desc = "Toggle Copilot autocompletion" }) end, }, }, @@ -62,6 +69,7 @@ return { }, } end, + keys = { { "at", diff --git a/config/nvim/lua/aleidk/plugins-ide/completion.lua b/config/nvim/lua/aleidk/plugins-ide/completion.lua index a267bfd..d46396b 100644 --- a/config/nvim/lua/aleidk/plugins-ide/completion.lua +++ b/config/nvim/lua/aleidk/plugins-ide/completion.lua @@ -1,120 +1,107 @@ ----@diagnostic disable: missing-fields return { - "hrsh7th/nvim-cmp", - version = false, -- last release is way too old - event = "InsertEnter", + "saghen/blink.cmp", + lazy = false, + version = "*", dependencies = { - "L3MON4D3/LuaSnip", - "davidsierradz/cmp-conventionalcommits", - "hrsh7th/cmp-buffer", - "hrsh7th/cmp-cmdline", - "hrsh7th/cmp-nvim-lsp", - "hrsh7th/cmp-path", - "petertriho/cmp-git", - "saadparwaiz1/cmp_luasnip", - "windwp/nvim-autopairs", - { - "zbirenbaum/copilot-cmp", - config = function() - require("copilot_cmp").setup() - end - }, + "rafamadriz/friendly-snippets", + "giuxtaposition/blink-cmp-copilot", + "folke/lazydev.nvim", + { "saghen/blink.compat", version = "*", }, }, - config = function() - vim.api.nvim_set_hl(0, "CmpGhostText", { link = "Comment", default = true }) - local cmp = require("cmp") - - local cmp_autopairs = require("nvim-autopairs.completion.cmp") - cmp.event:on("confirm_done", cmp_autopairs.on_confirm_done()) - - local defaults = require("cmp.config.default")() - local window_opts = { + opts = function() + local window_options = { border = "rounded", - side_padding = 1, - -- fix colors for catppuccin colorscheme - winhighlight = "Normal:Pmenu,FloatBorder:FloatBorder,CursorLine:PmenuSel,Search:None", + winblend = vim.o.pumblend, } - local opts = { - visible_docs = false, - completion = { - completeopt = "menu,menuone,noinsert", + + ---@module 'blink.cmp' + ---@type blink.cmp.Config + return { + sources = { + providers = { + dadbod = { name = "Dadbod", module = "vim_dadbod_completion.blink" }, + lazydev = { name = "LazyDev", module = "lazydev.integrations.blink" }, + copilot = { + name = "copilot", + module = "blink-cmp-copilot", + score_offset = 5, + enabled = function() + if vim.g.copilot_autocomplete_enabled == nil then + return false + end + return vim.g.copilot_autocomplete_enabled + end, + }, + luasnip = { + name = 'luasnip', + module = 'blink.compat.source', + score_offset = -3, + opts = { + use_show_condition = false, + show_autosnippets = true, + }, + }, + }, + -- nvim-cmp sources + compat = {}, + completion = { + enabled_providers = { + "copilot", + "lsp", + "path", + "snippets", + "buffer", + "dadbod", + "lazydev", + }, + }, }, - snippet = { - expand = function(args) - require("luasnip").lsp_expand(args.body) - end, + accept = { + auto_brackets = { enabled = true }, + expand_snippet = function(snippet) require('luasnip').lsp_expand(snippet) end, }, - mapping = cmp.mapping.preset.insert({ - [""] = cmp.mapping.select_next_item({ behavior = cmp.SelectBehavior.Insert }), - [""] = cmp.mapping.select_prev_item({ behavior = cmp.SelectBehavior.Insert }), - [""] = cmp.mapping.select_next_item({ behavior = cmp.SelectBehavior.Insert }), - [""] = cmp.mapping.select_prev_item({ behavior = cmp.SelectBehavior.Insert }), - [""] = cmp.mapping.scroll_docs(-4), - [""] = cmp.mapping.scroll_docs(4), - [""] = function() - if cmp.visible_docs() then - cmp.close_docs() - else - cmp.open_docs() - end - end, - [""] = cmp.mapping.complete(), - [""] = cmp.mapping.abort(), - ["
"] = cmp.mapping.abort(), - [""] = cmp.mapping.confirm({ select = false }), -- Confirm only if selected an item - [""] = cmp.mapping.confirm({ - -- Auto confirms first item - behavior = cmp.ConfirmBehavior.Replace, - select = true, + trigger = { signature_help = { enabled = true } }, + keymap = { + preset = "enter", + [""] = { 'scroll_documentation_up', 'fallback' }, + [""] = { 'scroll_documentation_down', 'fallback' }, + }, + highlight = { + -- sets the fallback highlight groups to nvim-cmp's highlight groups + -- useful for when your theme doesn't support blink.cmp + -- will be removed in a future release, assuming themes add support + use_nvim_cmp_as_default = false, + }, + -- set to 'mono' for 'Nerd Font Mono' or 'normal' for 'Nerd Font' + -- adjusts spacing to ensure icons are aligned + nerd_font_variant = "mono", + windows = { + autocomplete = vim.tbl_extend("force", window_options, { + selection = "manual", + ---@type blink.cmp.Draw + draw = { + components = { + kind_icon = { + text = function(ctx) + if ctx.item.source_name == "copilot" then + ctx.kind_icon = require("aleidk.constants").icons.kinds.Copilot + end + + return ctx.kind_icon .. ctx.icon_gap + end, + } + } + } + }), + documentation = vim.tbl_extend("force", window_options, { + auto_show = true, + winblend = 0, }), - }), - sources = cmp.config.sources({ - { name = "conventionalcommits" }, - { name = "copilot" }, - { name = "nvim_lsp" }, - { name = "luasnip" }, - { name = "buffer" }, - { name = "path" }, - }), - formatting = { - fields = { "kind", "abbr", "menu" }, - format = function(_, item) - local icons = require("aleidk.constants").icons.kinds - if icons[item.kind] then - item.kind = icons[item.kind] .. item.kind - end - return item - end, - }, - window = { - completion = cmp.config.window.bordered(window_opts), - documentation = cmp.config.window.bordered(window_opts), - }, - experimental = { ghost_text = { - hl_group = "CmpGhostText", - }, - }, - sorting = { - priority_weight = 2, - comparators = { - require("copilot_cmp.comparators").prioritize, - - -- Below is the default comparitor list and order for nvim-cmp - cmp.config.compare.offset, - -- cmp.config.compare.scopes, --this is commented in nvim-cmp too - cmp.config.compare.exact, - cmp.config.compare.score, - cmp.config.compare.recently_used, - cmp.config.compare.locality, - cmp.config.compare.kind, - cmp.config.compare.sort_text, - cmp.config.compare.length, - cmp.config.compare.order, + enabled = true, }, }, + kind_icons = require("aleidk.constants").icons.kinds, } - - cmp.setup(opts) - end, + end } diff --git a/config/nvim/lua/aleidk/plugins-ide/lsp.lua b/config/nvim/lua/aleidk/plugins-ide/lsp.lua index 2565d96..fd35eea 100644 --- a/config/nvim/lua/aleidk/plugins-ide/lsp.lua +++ b/config/nvim/lua/aleidk/plugins-ide/lsp.lua @@ -21,6 +21,7 @@ return { -- Automatically install LSPs to stdpath for neovim { "williamboman/mason.nvim", config = true }, "williamboman/mason-lspconfig.nvim", + { 'saghen/blink.cmp' } -- autocompletion }, config = function() @@ -146,7 +147,7 @@ return { -- nvim-cmp supports additional completion capabilities, so broadcast that to servers local capabilities = vim.lsp.protocol.make_client_capabilities() - capabilities = require("cmp_nvim_lsp").default_capabilities(capabilities) + capabilities = require("blink.cmp").get_lsp_capabilities(capabilities) -- Ensure the servers above are installed local mason_lspconfig = require("mason-lspconfig") From 75cfaf54a4b5468555603ba2bc8a7e823683806d Mon Sep 17 00:00:00 2001 From: aleidk Date: Mon, 25 Nov 2024 16:23:52 -0300 Subject: [PATCH 23/31] create custom prompt for AI chat --- config/nvim/lua/aleidk/plugins-ide/ai.lua | 149 ++++++++++++++-------- 1 file changed, 99 insertions(+), 50 deletions(-) diff --git a/config/nvim/lua/aleidk/plugins-ide/ai.lua b/config/nvim/lua/aleidk/plugins-ide/ai.lua index aa9a4c1..a4f2f00 100644 --- a/config/nvim/lua/aleidk/plugins-ide/ai.lua +++ b/config/nvim/lua/aleidk/plugins-ide/ai.lua @@ -24,52 +24,76 @@ return { end, }, }, - opts = function() - local user = vim.env.USER or "User" - user = user:sub(1, 1):upper() .. user:sub(2) + opts = + ---@type CopilotChat.config + { + ---@type table + prompts = { + HowDoI = { + system_prompt = [[ + > /COPILOT_EXPLAIN - return { - prompts = { - Explain = { - prompt = '> /COPILOT_EXPLAIN\n\nWrite an explanation for the selected code as paragraphs of text.', - }, - Review = { - prompt = '> /COPILOT_REVIEW\n\nReview the selected code.', - -- see config.lua for implementation - }, - Fix = { - prompt = - '> /COPILOT_GENERATE\n\nThere is a problem in this code. Rewrite the code to show it with the bug fixed.', - }, - Optimize = { - prompt = '> /COPILOT_GENERATE\n\nOptimize the selected code to improve performance and readability.', - }, - Docs = { - prompt = '> /COPILOT_GENERATE\n\nPlease add documentation comments to the selected code.', - }, - Tests = { - prompt = '> /COPILOT_GENERATE\n\nPlease generate tests for my code.', - }, - Commit = { - prompt = - '> #git:staged\n\nWrite commit message for the change with commitizen convention. Make sure the title has maximum 50 characters and message is wrapped at 72 characters. Wrap the whole message in code block with language gitcommit.', - }, - }, - question_header = " " .. user .. " ", - answer_header = " Copilot ", - window = { - layout = 'float', -- 'vertical', 'horizontal', 'float', 'replace' - width = 0.8, -- fractional width of parent, or absolute width in columns when > 1 - height = 0.8, -- fractional height of parent, or absolute height in rows when > 1 - -- Options below only apply to floating windows - relative = 'editor', -- 'editor', 'win', 'cursor', 'mouse' - border = 'rounded', -- 'none', single', 'double', 'rounded', 'solid', 'shadow' - title = ' ', -- title of chat window - zindex = 1, -- determines if window is on top or below other floating windows - }, - } - end, + You are gonna be asked for guidance about how to solve a problem or archeive a goal. For that your answers need to follow these rules: + 1. Provide brief, consice and unambiguos responses. + 2. You need to response with an step by step list of actions needed to complete the task. + 3. **You never have to give an explicit answer**, instead provide a high level overview of how to complete the task. + 4. Unless explicity asked by the user, **you never have to provide code snippets** in your responses. Only provide code snippets when the user says so in each question. + 5. If the user ask for a code snippet, **prefer to respond in pseudo code**, unless the user explicity asked for a concrete language. + 6. You need to have into consideration good and clean code practices, code performance and other standards, comunicate in your response this considerations and common pitfalls to avoid. + 7. If possible, include how the user can test the task is completed successfully with the title "## Testing". + 8. Use markdawn syntax highlighting when possible. + 9. You are allowed to reference the following elements but without giving examples of usage (unless the user ask for it): + - Elements from the language syntaxis. + - Standard library of the lenguage. + - External libraries and/or frameworks. + - The idiomatic way of acomplish something in the language. + - Data structures and algorithms that could help complete the task. + + If you have multiple aproaches of how the task can be solved, insert the title "## Options", then generate separate list of task, each in the form of "### Option A", "### Option B", etc so he/her can have it into consideration. + The numbering of each list needs to be independen of each other, also provide only 1 list per aproach. + + The user can ask follow up question, which needs to follow the same rules. + ]] + }, + Explain = { + prompt = '> /COPILOT_EXPLAIN\n\nWrite an explanation for the selected code as paragraphs of text.', + }, + Review = { + prompt = '> /COPILOT_REVIEW\n\nReview the selected code.', + -- see config.lua for implementation + }, + Fix = { + prompt = + '> /COPILOT_GENERATE\n\nThere is a problem in this code. Rewrite the code to show it with the bug fixed.', + }, + Optimize = { + prompt = '> /COPILOT_GENERATE\n\nOptimize the selected code to improve performance and readability.', + }, + Docs = { + prompt = '> /COPILOT_GENERATE\n\nPlease add documentation comments to the selected code.', + }, + Tests = { + prompt = '> /COPILOT_GENERATE\n\nPlease generate tests for my code.', + }, + Commit = { + prompt = + '> #git:staged\n\nWrite commit message for the change with commitizen convention. Make sure the title has maximum 50 characters and message is wrapped at 72 characters. Wrap the whole message in code block with language gitcommit.', + }, + }, + question_header = " " .. vim.env.USER or "User" .. " ", + answer_header = " Copilot ", + window = { + layout = 'float', -- 'vertical', 'horizontal', 'float', 'replace' + width = 0.8, -- fractional width of parent, or absolute width in columns when > 1 + height = 0.8, -- fractional height of parent, or absolute height in rows when > 1 + -- Options below only apply to floating windows + relative = 'editor', -- 'editor', 'win', 'cursor', 'mouse' + border = 'rounded', -- 'none', single', 'double', 'rounded', 'solid', 'shadow' + title = ' ', -- title of chat window + zindex = 1, -- determines if window is on top or below other floating windows + }, + }, keys = { { "at", @@ -82,14 +106,31 @@ return { { "aa", function() - local input = vim.fn.input("Quick Chat: ") - if input ~= "" then - require("CopilotChat").ask(input) + local input = vim.fn.input(" Quick Chat: ") + if input == "" then + return end + require("CopilotChat").ask(input) end, desc = "Quick chat", mode = { "n", "v" }, }, + { + "ah", + function() + local input = vim.fn.input(" How do I...") + if input == "" then + return + end + + local chat = require("CopilotChat") + + local promptConfig = chat.prompts()["HowDoI"] + chat.ask(input, promptConfig) + end, + desc = "How do I...", + mode = { "n", "v" }, + }, { "aA", function() @@ -97,9 +138,10 @@ return { local actions = require("CopilotChat.actions") -- Pick prompt actions - actions.pick(actions.prompt_actions({ - selection = require("CopilotChat.select").visual, - })) + actions.pick(actions.prompt_actions({}), { + prompt = " Prompts:", + } + ) end, desc = "Select action", mode = { "n", "v" }, @@ -112,5 +154,12 @@ return { desc = "Clear chat", mode = { "n", "v" }, }, + { + "al", + function() + return require("CopilotChat").log_level("debug") + end, + desc = "Set debug level", + }, } } From 29574b6e365bc17f4bdfafa8ae81eec7e7e69ba6 Mon Sep 17 00:00:00 2001 From: aleidk Date: Mon, 25 Nov 2024 17:47:34 -0300 Subject: [PATCH 24/31] fix compat issues with vim-dadbod-completion --- config/nvim/lazy-lock.json | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/config/nvim/lazy-lock.json b/config/nvim/lazy-lock.json index fb0acf6..2d93562 100644 --- a/config/nvim/lazy-lock.json +++ b/config/nvim/lazy-lock.json @@ -10,12 +10,12 @@ "conform.nvim": { "branch": "master", "commit": "0ebe875d9c306f5fc829db38492ffff2a70d8e9d" }, "copilot-lualine": { "branch": "main", "commit": "f40450c3e138766026327e7807877ea860618258" }, "copilot.lua": { "branch": "master", "commit": "f8d8d872bb319f640d5177dad5fbf01f7a16d7d0" }, - "dressing.nvim": { "branch": "master", "commit": "fc78a3ca96f4db9f8893bb7e2fd9823e0780451b" }, + "dressing.nvim": { "branch": "master", "commit": "6741f1062d3dc6e4755367a7e9b347b553623f04" }, "friendly-snippets": { "branch": "main", "commit": "45a1b96e46efe5fce8af325d4bed45feb9d29d0f" }, "gitsigns.nvim": { "branch": "main", "commit": "e9c4187c3774a46df2d086a66cf3a7e6bea4c432" }, - "grapple.nvim": { "branch": "main", "commit": "b41ddfc1c39f87f3d1799b99c2f0f1daa524c5f7" }, - "indent-blankline.nvim": { "branch": "master", "commit": "7871a88056f7144defca9c931e311a3134c5d509" }, - "lazy.nvim": { "branch": "main", "commit": "56ead98e05bb37a4ec28930a54d836d033cf00f2" }, + "grapple.nvim": { "branch": "main", "commit": "7aedc261b05a6c030397c4bc26416efbe746ebf1" }, + "indent-blankline.nvim": { "branch": "master", "commit": "65e20ab94a26d0e14acac5049b8641336819dfc7" }, + "lazy.nvim": { "branch": "main", "commit": "7967abe55752aa90532e6bb4bd4663fe27a264cb" }, "lazydev.nvim": { "branch": "main", "commit": "d5800897d9180cea800023f2429bce0a94ed6064" }, "lualine.nvim": { "branch": "master", "commit": "6a40b530539d2209f7dc0492f3681c8c126647ad" }, "luvit-meta": { "branch": "main", "commit": "57d464c4acb5c2e66bd4145060f5dc9e96a7bbb7" }, @@ -31,7 +31,7 @@ "nvim-lint": { "branch": "master", "commit": "efc6fc83f0772283e064c53a8f9fb5645bde0bc0" }, "nvim-lspconfig": { "branch": "master", "commit": "216deb2d1b5fbf24398919228208649bbf5cbadf" }, "nvim-notify": { "branch": "master", "commit": "fbef5d32be8466dd76544a257d3f3dce20082a07" }, - "nvim-treesitter": { "branch": "master", "commit": "cd2acc803b9e2f9377fb31fbeb993f6e363466f5" }, + "nvim-treesitter": { "branch": "master", "commit": "7f4ac678770175cdf0d42c015f4a5b6e18b6cb33" }, "nvim-treesitter-context": { "branch": "master", "commit": "f56a1430f21334868a86eb980b12e0af55690e98" }, "nvim-treesitter-textobjects": { "branch": "master", "commit": "34867c69838078df7d6919b130c0541c0b400c47" }, "nvim-ts-autotag": { "branch": "main", "commit": "323a3e16ed603e2e17b26b1c836d1e86c279f726" }, @@ -45,12 +45,12 @@ "telescope-fzf-native.nvim": { "branch": "main", "commit": "cf48d4dfce44e0b9a2e19a008d6ec6ea6f01a83b" }, "telescope.nvim": { "branch": "0.1.x", "commit": "a0bbec21143c7bc5f8bb02e0005fa0b982edc026" }, "todo-comments.nvim": { "branch": "main", "commit": "d61567557e2ff5c548c74e96b2d9f8d33e5fcb34" }, - "treesj": { "branch": "main", "commit": "6e8bd008bacd5ad001c3953017c1dca20709e915" }, + "treesj": { "branch": "main", "commit": "0d81326b5afd36babe7dd480aabbb0b05f33e688" }, "trouble.nvim": { "branch": "main", "commit": "03c1fbf518bef683422a3be9643c3da190903488" }, "ts-node-action": { "branch": "master", "commit": "6d3b60754fd87963d70eadaa2f77873b447eac26" }, "typescript-tools.nvim": { "branch": "master", "commit": "5da4d695d66f676eb6ea766b946e86f93baaafe7" }, "undotree": { "branch": "master", "commit": "56c684a805fe948936cda0d1b19505b84ad7e065" }, - "vim-dadbod": { "branch": "master", "commit": "fe5a55e92b2dded7c404006147ef97fb073d8b1b" }, + "vim-dadbod": { "branch": "master", "commit": "7888cb7164d69783d3dce4e0283decd26b82538b" }, "vim-dadbod-completion": { "branch": "master", "commit": "da0e75c09c27a82aad078d993bb1b2f4afd43427" }, "vim-dadbod-ui": { "branch": "master", "commit": "f74a31e8c6c5a9dccc63450a09d5cd64a9294330" }, "vim-illuminate": { "branch": "master", "commit": "5eeb7951fc630682c322e88a9bbdae5c224ff0aa" }, From d2fbfc551e2f5c999ae4ccf8eb8c4ccabff76fac Mon Sep 17 00:00:00 2001 From: aleidk Date: Wed, 27 Nov 2024 10:17:09 -0300 Subject: [PATCH 25/31] update notifications plugins --- config/nvim/lua/aleidk/lazy.lua | 2 +- config/nvim/lua/aleidk/plugins-base/ui.lua | 30 ++++++++++++++++++++-- 2 files changed, 29 insertions(+), 3 deletions(-) diff --git a/config/nvim/lua/aleidk/lazy.lua b/config/nvim/lua/aleidk/lazy.lua index 31c475e..9327f45 100644 --- a/config/nvim/lua/aleidk/lazy.lua +++ b/config/nvim/lua/aleidk/lazy.lua @@ -27,7 +27,7 @@ require("lazy").setup({ }, install = { colorscheme = { "catppuccin" } }, - checker = { enabled = true }, + -- checker = { enabled = true }, }) return { diff --git a/config/nvim/lua/aleidk/plugins-base/ui.lua b/config/nvim/lua/aleidk/plugins-base/ui.lua index 1ef7277..b587ebb 100644 --- a/config/nvim/lua/aleidk/plugins-base/ui.lua +++ b/config/nvim/lua/aleidk/plugins-base/ui.lua @@ -1,4 +1,22 @@ +local icons = require("aleidk.constants").icons + return { + { + "rcarriga/nvim-notify", + opts = { + render = "compact", + fps = "60", + timeout = 2000, + stages = "slide", + icons = { + DEBUG = "", + TRACE = "✎", + ERROR = icons.diagnostics.Error, + INFO = icons.diagnostics.Info, + WARN = icons.diagnostics.Warn, + } + } + }, { -- better imputs "stevearc/dressing.nvim", @@ -16,6 +34,7 @@ return { "MunifTanjim/nui.nvim", "rcarriga/nvim-notify", }, + ---@type NoiceConfig opts = { presets = { bottom_search = true, @@ -40,6 +59,7 @@ return { view = "mini_left" } }, + ---@type NoiceRouteConfig[] routes = { { -- Don't show these messages @@ -53,13 +73,18 @@ return { { event = "msg_show", kind = "", - find = "written", + find = "written", -- file saved msg }, { event = "msg_show", kind = "", find = "yazi.nvim", }, + { + event = "msg_show", + kind = "", + find = "%d+ (more|fewer) lines", -- undo/redo msg + }, } }, }, @@ -68,7 +93,7 @@ return { event = "notify", min_height = 15 }, - view = 'popup' + view = 'popup', }, { filter = { @@ -78,6 +103,7 @@ return { view = 'mini' }, }, + ---@type NoiceConfigViews views = { notify = { merge = true From 26fafff8e2881b7424654eeeb5b9fc3d142dafca Mon Sep 17 00:00:00 2001 From: aleidk Date: Wed, 27 Nov 2024 10:17:25 -0300 Subject: [PATCH 26/31] open bookmarks on nvim-enter --- .../lua/aleidk/plugins-base/bookmarks.lua | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/config/nvim/lua/aleidk/plugins-base/bookmarks.lua b/config/nvim/lua/aleidk/plugins-base/bookmarks.lua index fe3a1a2..54b941a 100644 --- a/config/nvim/lua/aleidk/plugins-base/bookmarks.lua +++ b/config/nvim/lua/aleidk/plugins-base/bookmarks.lua @@ -15,6 +15,30 @@ return { }, lazy = false, cmd = "Grapple", + config = function() + -- Open graple window when open without arguments + local g = vim.api.nvim_create_augroup('Grapple-User', { clear = true }) + + vim.api.nvim_create_autocmd('StdinReadPre', { + group = g, + callback = function() + vim.g.read_from_stdin = 1 + end, + }) + + vim.api.nvim_create_autocmd('UIEnter', { + group = g, + callback = function() + if + vim.fn.argc() == 0 + and vim.api.nvim_buf_get_name(0) == '' + and vim.g.read_from_stdin == nil + then + require("grapple").toggle_tags() + end + end, + }) + end, keys = { { "a", "Grapple toggle", desc = "Toggle bookmark for current file" }, { "D", "Grapple reset", desc = "Delete all bookmarks" }, From 343b59a5920920533cfdbe39079cf2226b52ed1c Mon Sep 17 00:00:00 2001 From: aleidk Date: Wed, 27 Nov 2024 14:49:39 -0300 Subject: [PATCH 27/31] update neovim plugins --- config/nvim/lazy-lock.json | 88 +++++++++++++++++++------------------- 1 file changed, 44 insertions(+), 44 deletions(-) diff --git a/config/nvim/lazy-lock.json b/config/nvim/lazy-lock.json index 2d93562..aac2ace 100644 --- a/config/nvim/lazy-lock.json +++ b/config/nvim/lazy-lock.json @@ -1,59 +1,59 @@ { - "CopilotChat.nvim": { "branch": "canary", "commit": "df19e7ab15537436a26f59fa991f2fa81d847a0d" }, - "LuaSnip": { "branch": "master", "commit": "ce0a05ab4e2839e1c48d072c5236cce846a387bc" }, + "CopilotChat.nvim": { "branch": "canary", "commit": "3968c25e9418a544d5faa3c242d577526b0710e7" }, + "LuaSnip": { "branch": "master", "commit": "0f7bbce41ea152a94d12aea286f2ce98e63c0f58" }, "blink-cmp-copilot": { "branch": "main", "commit": "e3eedf36ceda1932e296ec894de4ceea8ddeacb6" }, "blink.cmp": { "branch": "main", "commit": "81069e3955a8b4d5063287a2a6a47a844e9ca2cb" }, "blink.compat": { "branch": "main", "commit": "08943fdf2eb00432d6205db6d0239434135416bd" }, - "catppuccin": { "branch": "main", "commit": "637d99e638bc6f1efedac582f6ccab08badac0c6" }, - "ccc.nvim": { "branch": "main", "commit": "4fb5abaef2f2e0540fe22d4d74a9841205fff9e4" }, + "catppuccin": { "branch": "main", "commit": "faf15ab0201b564b6368ffa47b56feefc92ce3f4" }, + "ccc.nvim": { "branch": "main", "commit": "7c639042583c7bdc7ce2e37e5a0e0aa6d0659c6a" }, "comment-box.nvim": { "branch": "main", "commit": "06bb771690bc9df0763d14769b779062d8f12bc5" }, - "conform.nvim": { "branch": "master", "commit": "0ebe875d9c306f5fc829db38492ffff2a70d8e9d" }, + "conform.nvim": { "branch": "master", "commit": "a203480a350b03092e473bf3001733d547160a73" }, "copilot-lualine": { "branch": "main", "commit": "f40450c3e138766026327e7807877ea860618258" }, "copilot.lua": { "branch": "master", "commit": "f8d8d872bb319f640d5177dad5fbf01f7a16d7d0" }, - "dressing.nvim": { "branch": "master", "commit": "6741f1062d3dc6e4755367a7e9b347b553623f04" }, - "friendly-snippets": { "branch": "main", "commit": "45a1b96e46efe5fce8af325d4bed45feb9d29d0f" }, - "gitsigns.nvim": { "branch": "main", "commit": "e9c4187c3774a46df2d086a66cf3a7e6bea4c432" }, - "grapple.nvim": { "branch": "main", "commit": "7aedc261b05a6c030397c4bc26416efbe746ebf1" }, - "indent-blankline.nvim": { "branch": "master", "commit": "65e20ab94a26d0e14acac5049b8641336819dfc7" }, - "lazy.nvim": { "branch": "main", "commit": "7967abe55752aa90532e6bb4bd4663fe27a264cb" }, - "lazydev.nvim": { "branch": "main", "commit": "d5800897d9180cea800023f2429bce0a94ed6064" }, - "lualine.nvim": { "branch": "master", "commit": "6a40b530539d2209f7dc0492f3681c8c126647ad" }, + "dressing.nvim": { "branch": "master", "commit": "fc78a3ca96f4db9f8893bb7e2fd9823e0780451b" }, + "friendly-snippets": { "branch": "main", "commit": "de8fce94985873666bd9712ea3e49ee17aadb1ed" }, + "gitsigns.nvim": { "branch": "main", "commit": "5f808b5e4fef30bd8aca1b803b4e555da07fc412" }, + "grapple.nvim": { "branch": "main", "commit": "b41ddfc1c39f87f3d1799b99c2f0f1daa524c5f7" }, + "indent-blankline.nvim": { "branch": "master", "commit": "7871a88056f7144defca9c931e311a3134c5d509" }, + "lazy.nvim": { "branch": "main", "commit": "56ead98e05bb37a4ec28930a54d836d033cf00f2" }, + "lazydev.nvim": { "branch": "main", "commit": "f59bd14a852ca43db38e3662395354cb2a9b13e0" }, + "lualine.nvim": { "branch": "master", "commit": "2a5bae925481f999263d6f5ed8361baef8df4f83" }, "luvit-meta": { "branch": "main", "commit": "57d464c4acb5c2e66bd4145060f5dc9e96a7bbb7" }, - "mason-lspconfig.nvim": { "branch": "main", "commit": "37a336b653f8594df75c827ed589f1c91d91ff6c" }, - "mason.nvim": { "branch": "main", "commit": "f96a31855fa8aea55599cea412fe611b85a874ed" }, - "mini.clue": { "branch": "main", "commit": "08f792869781b4bfdfcaa55eb905b9635c0a243f" }, - "mini.comment": { "branch": "main", "commit": "c8406379987c321ecdef9f53e1ca741a55002104" }, - "mini.surround": { "branch": "main", "commit": "3cb5b509ad34f2402df4b977be607a614c8c7524" }, - "neogen": { "branch": "main", "commit": "0daffcec249bf42275e322361fe55b89a05ff278" }, - "noice.nvim": { "branch": "main", "commit": "6263b6696811f0b11c88d8d2371134b1cc1762fc" }, - "nui.nvim": { "branch": "main", "commit": "61574ce6e60c815b0a0c4b5655b8486ba58089a1" }, - "nvim-autopairs": { "branch": "master", "commit": "78a4507bb9ffc9b00f11ae0ac48243d00cb9194d" }, - "nvim-lint": { "branch": "master", "commit": "efc6fc83f0772283e064c53a8f9fb5645bde0bc0" }, - "nvim-lspconfig": { "branch": "master", "commit": "216deb2d1b5fbf24398919228208649bbf5cbadf" }, + "mason-lspconfig.nvim": { "branch": "main", "commit": "43894adcf10bb1190c2184bd7c1750e8ea2b3dce" }, + "mason.nvim": { "branch": "main", "commit": "e2f7f9044ec30067bc11800a9e266664b88cda22" }, + "mini.clue": { "branch": "main", "commit": "8e329f586a7cfd06085859066a4b60965fc4ecce" }, + "mini.comment": { "branch": "main", "commit": "03c13e37318bdb18481311c0ac1adc9ed731caf1" }, + "mini.surround": { "branch": "main", "commit": "0e67c4bc147f2a15cee94e7c94dcc0e115b9f55e" }, + "neogen": { "branch": "main", "commit": "dc50715c009f89b8111197fd2f282f6042daa7ea" }, + "noice.nvim": { "branch": "main", "commit": "c6f6fb178ebe9b4fd90383de743c3399f8c3a37c" }, + "nui.nvim": { "branch": "main", "commit": "b58e2bfda5cea347c9d58b7f11cf3012c7b3953f" }, + "nvim-autopairs": { "branch": "master", "commit": "b464658e9b880f463b9f7e6ccddd93fb0013f559" }, + "nvim-lint": { "branch": "master", "commit": "6b46370d02cd001509a765591a3ffc481b538794" }, + "nvim-lspconfig": { "branch": "master", "commit": "4ae9796c4e95ca84ec77946a9f9089b8f1a3eec9" }, "nvim-notify": { "branch": "master", "commit": "fbef5d32be8466dd76544a257d3f3dce20082a07" }, - "nvim-treesitter": { "branch": "master", "commit": "7f4ac678770175cdf0d42c015f4a5b6e18b6cb33" }, - "nvim-treesitter-context": { "branch": "master", "commit": "f56a1430f21334868a86eb980b12e0af55690e98" }, - "nvim-treesitter-textobjects": { "branch": "master", "commit": "34867c69838078df7d6919b130c0541c0b400c47" }, - "nvim-ts-autotag": { "branch": "main", "commit": "323a3e16ed603e2e17b26b1c836d1e86c279f726" }, - "nvim-ts-context-commentstring": { "branch": "main", "commit": "6b5f95aa4d24f2c629a74f2c935c702b08dbde62" }, - "nvim-web-devicons": { "branch": "master", "commit": "c0cfc1738361b5da1cd0a962dd6f774cc444f856" }, - "overseer.nvim": { "branch": "master", "commit": "15b6249eaf71ebbc8bf0ed279e045f2bc1f28007" }, - "plenary.nvim": { "branch": "master", "commit": "a3e3bc82a3f95c5ed0d7201546d5d2c19b20d683" }, - "remote-sshfs.nvim": { "branch": "main", "commit": "8f05563150fbd713027471eed56f391b053ba8b8" }, - "render-markdown": { "branch": "main", "commit": "123048b428eb85618780fcef9ea9f4d68b5d2508" }, - "smart-splits.nvim": { "branch": "master", "commit": "95833675cd92538bf9cded1d2d58d1fc271c5428" }, + "nvim-treesitter": { "branch": "master", "commit": "8d4fdc5e47e2a4e00179e43f56221250ce365973" }, + "nvim-treesitter-context": { "branch": "master", "commit": "6b081ea63a3711243d11540ce28ccdb6f35ecd33" }, + "nvim-treesitter-textobjects": { "branch": "master", "commit": "ad8f0a472148c3e0ae9851e26a722ee4e29b1595" }, + "nvim-ts-autotag": { "branch": "main", "commit": "e239a560f338be31337e7abc3ee42515daf23f5e" }, + "nvim-ts-context-commentstring": { "branch": "main", "commit": "9c74db656c3d0b1c4392fc89a016b1910539e7c0" }, + "nvim-web-devicons": { "branch": "master", "commit": "edbe0a65cfacbbfff6a4a1e98ddd60c28c560509" }, + "overseer.nvim": { "branch": "master", "commit": "10ee48ff96c8d1049efb278ea4c8cf9f3b0e4326" }, + "plenary.nvim": { "branch": "master", "commit": "2d9b06177a975543726ce5c73fca176cedbffe9d" }, + "remote-sshfs.nvim": { "branch": "main", "commit": "03f6c40c4032eeb1ab91368e06db9c3f3a97a75d" }, + "render-markdown": { "branch": "main", "commit": "6096cf3608b576a38fd1396227dbc0473091714d" }, + "smart-splits.nvim": { "branch": "master", "commit": "d8b0e772a0244169534b1fd57c1660c9bf323d26" }, "telescope-fzf-native.nvim": { "branch": "main", "commit": "cf48d4dfce44e0b9a2e19a008d6ec6ea6f01a83b" }, "telescope.nvim": { "branch": "0.1.x", "commit": "a0bbec21143c7bc5f8bb02e0005fa0b982edc026" }, - "todo-comments.nvim": { "branch": "main", "commit": "d61567557e2ff5c548c74e96b2d9f8d33e5fcb34" }, - "treesj": { "branch": "main", "commit": "0d81326b5afd36babe7dd480aabbb0b05f33e688" }, - "trouble.nvim": { "branch": "main", "commit": "03c1fbf518bef683422a3be9643c3da190903488" }, + "todo-comments.nvim": { "branch": "main", "commit": "ae0a2afb47cf7395dc400e5dc4e05274bf4fb9e0" }, + "treesj": { "branch": "main", "commit": "03415ac60791d48e120a80d37e080744faf3ac15" }, + "trouble.nvim": { "branch": "main", "commit": "46cf952fc115f4c2b98d4e208ed1e2dce08c9bf6" }, "ts-node-action": { "branch": "master", "commit": "6d3b60754fd87963d70eadaa2f77873b447eac26" }, - "typescript-tools.nvim": { "branch": "master", "commit": "5da4d695d66f676eb6ea766b946e86f93baaafe7" }, - "undotree": { "branch": "master", "commit": "56c684a805fe948936cda0d1b19505b84ad7e065" }, - "vim-dadbod": { "branch": "master", "commit": "7888cb7164d69783d3dce4e0283decd26b82538b" }, + "typescript-tools.nvim": { "branch": "master", "commit": "346062e8cd06e82776b60785a040dfbbdcb6de77" }, + "undotree": { "branch": "master", "commit": "78b5241191852ffa9bb5da5ff2ee033160798c3b" }, + "vim-dadbod": { "branch": "master", "commit": "fe5a55e92b2dded7c404006147ef97fb073d8b1b" }, "vim-dadbod-completion": { "branch": "master", "commit": "da0e75c09c27a82aad078d993bb1b2f4afd43427" }, - "vim-dadbod-ui": { "branch": "master", "commit": "f74a31e8c6c5a9dccc63450a09d5cd64a9294330" }, + "vim-dadbod-ui": { "branch": "master", "commit": "28a16902cb2134c934b85da5250033ee43b0dee5" }, "vim-illuminate": { "branch": "master", "commit": "5eeb7951fc630682c322e88a9bbdae5c224ff0aa" }, - "vim-sleuth": { "branch": "master", "commit": "1cc4557420f215d02c4d2645a748a816c220e99b" }, - "yazi.nvim": { "branch": "main", "commit": "faa03e9acb894533b91c811d0dafd816b995088f" } + "vim-sleuth": { "branch": "master", "commit": "be69bff86754b1aa5adcbb527d7fcd1635a84080" }, + "yazi.nvim": { "branch": "main", "commit": "053867916a9be3cb46f84b6f095ee731bbddd213" } } From c421ab7b8fc27d2f0e7f761d1a1c7f4b5d8a9832 Mon Sep 17 00:00:00 2001 From: aleidk Date: Wed, 27 Nov 2024 18:23:07 -0300 Subject: [PATCH 28/31] minor update --- config/nvim/lua/aleidk/plugins-ide/completion.lua | 2 ++ 1 file changed, 2 insertions(+) diff --git a/config/nvim/lua/aleidk/plugins-ide/completion.lua b/config/nvim/lua/aleidk/plugins-ide/completion.lua index d46396b..de47bb6 100644 --- a/config/nvim/lua/aleidk/plugins-ide/completion.lua +++ b/config/nvim/lua/aleidk/plugins-ide/completion.lua @@ -63,6 +63,8 @@ return { trigger = { signature_help = { enabled = true } }, keymap = { preset = "enter", + [""] = { 'select_next', 'fallback' }, + [""] = { 'select_prev', 'fallback' }, [""] = { 'scroll_documentation_up', 'fallback' }, [""] = { 'scroll_documentation_down', 'fallback' }, }, From f7c229fcf681c017750ee6a33cdf8f248c9434e1 Mon Sep 17 00:00:00 2001 From: aleidk Date: Wed, 27 Nov 2024 19:13:12 -0300 Subject: [PATCH 29/31] add no-ff to global git config --- config/git/config | 2 ++ 1 file changed, 2 insertions(+) diff --git a/config/git/config b/config/git/config index 65fa801..faff1ec 100644 --- a/config/git/config +++ b/config/git/config @@ -10,5 +10,7 @@ path = ~/.config/git/config-work [merge] autoStash = true + edit = no + ff = no [rebase] autoStash = true From e17b1607bf1857e01bae5cac2a3f7abb9abe8aa8 Mon Sep 17 00:00:00 2001 From: aleidk Date: Thu, 28 Nov 2024 10:53:53 -0300 Subject: [PATCH 30/31] minor-update --- config/nvim/lua/aleidk/plugins-base/bookmarks.lua | 5 ++++- config/nvim/lua/aleidk/plugins-core/telescope.lua | 12 ++---------- config/nvim/lua/aleidk/plugins-ide/remote-sshfs.lua | 2 +- 3 files changed, 7 insertions(+), 12 deletions(-) diff --git a/config/nvim/lua/aleidk/plugins-base/bookmarks.lua b/config/nvim/lua/aleidk/plugins-base/bookmarks.lua index 54b941a..239a03b 100644 --- a/config/nvim/lua/aleidk/plugins-base/bookmarks.lua +++ b/config/nvim/lua/aleidk/plugins-base/bookmarks.lua @@ -16,6 +16,9 @@ return { lazy = false, cmd = "Grapple", config = function() + local telescope = require("telescope") + telescope.load_extension("grapple") + -- Open graple window when open without arguments local g = vim.api.nvim_create_augroup('Grapple-User', { clear = true }) @@ -34,7 +37,7 @@ return { and vim.api.nvim_buf_get_name(0) == '' and vim.g.read_from_stdin == nil then - require("grapple").toggle_tags() + telescope.extensions.grapple.tags() end end, }) diff --git a/config/nvim/lua/aleidk/plugins-core/telescope.lua b/config/nvim/lua/aleidk/plugins-core/telescope.lua index ad89cf6..a520cf0 100644 --- a/config/nvim/lua/aleidk/plugins-core/telescope.lua +++ b/config/nvim/lua/aleidk/plugins-core/telescope.lua @@ -22,8 +22,7 @@ return { defaults = { prompt_prefix = " ", selection_caret = " ", - layout_strategy = "vertical", - layout_config = { vertical = { height = 0.99, mirror = true, prompt_position = "top" } }, + layout_strategy = "flex", mappings = { i = { [""] = actions.preview_scrolling_up, @@ -37,6 +36,7 @@ return { [""] = actions.send_selected_to_qflist + actions.open_qflist, [""] = require("trouble.sources.telescope").open, [""] = require("trouble.sources.telescope").open, + [""] = actions.which_key, }, }, }, @@ -45,15 +45,7 @@ return { -- Enable telescope fzf native, if installed pcall(telescope.load_extension, "fzf") - pcall(telescope.load_extension, "aerial") - -- Find files - vim.keymap.set( - "n", - "fe", - ":Telescope file_browser path=%:p:h select_buffer=true", - { desc = "File Explorer" } - ) vim.keymap.set("n", "fb", builtin.buffers, { desc = "Find buffers" }) vim.keymap.set("n", "ff", builtin.find_files, { desc = "Find files" }) vim.keymap.set("n", "fF", function() diff --git a/config/nvim/lua/aleidk/plugins-ide/remote-sshfs.lua b/config/nvim/lua/aleidk/plugins-ide/remote-sshfs.lua index f62134c..c5727cc 100644 --- a/config/nvim/lua/aleidk/plugins-ide/remote-sshfs.lua +++ b/config/nvim/lua/aleidk/plugins-ide/remote-sshfs.lua @@ -1,7 +1,7 @@ return { "nosduco/remote-sshfs.nvim", dependencies = { "nvim-telescope/telescope.nvim" }, - cmd = { "RemoteSSHFSConnec" }, + cmd = { "RemoteSSHFSConnect" }, config = function() require("remote-sshfs").setup({}) require("telescope").load_extension("remote-sshfs") From 658808b8209cfcac5fc11259be18c9506fa06e1f Mon Sep 17 00:00:00 2001 From: aleidk Date: Thu, 28 Nov 2024 10:59:26 -0300 Subject: [PATCH 31/31] remove oudated configuration and files --- .gitmodules | 0 chezmoi/.chezmoi.toml.tmpl | 10 - chezmoi/.chezmoiexternal.toml | 32 -- chezmoi/.chezmoiignore | 5 - .../run_once_after_setup_wol.sh.tmpl | 23 -- .../run_once_setup_gtk_theme.sh.tmpl | 19 -- .../run_onchange_bootstrap.tmpl | 46 --- config/hypr/executable_gdm-wrapper.sh | 39 --- config/hypr/hyprland.conf | 158 ---------- config/hypr/hyprpaper.conf | 4 - config/mako/config | 11 - config/php-cs-fixer-conf.php | 5 - config/pycodestyle | 2 - config/river/executable_init | 10 - config/river/init.lua | 40 --- config/river/logger.lua | 49 --- config/river/river.lua | 80 ----- config/swappy/config | 10 - config/sway/config | 283 ------------------ config/sway/executable_autorotate | 61 ---- config/sway/executable_lock.sh | 16 - config/sway/executable_sway-bar.sh | 13 - config/sway/themes/catppuccin/.keep | 0 config/waybar/config | 160 ---------- config/waybar/style.css | 179 ----------- config/waybar/themes/catppuccin/LICENSE | 21 -- config/waybar/themes/catppuccin/README.md | 79 ----- .../catppuccin/assets/empty_dot_gitkeep | 0 .../themes/catppuccin/assets/frappe.webp | Bin 3218 -> 0 bytes .../themes/catppuccin/assets/latte.webp | Bin 3502 -> 0 bytes .../themes/catppuccin/assets/macchiato.webp | Bin 3196 -> 0 bytes .../themes/catppuccin/assets/mocha.webp | Bin 3210 -> 0 bytes .../themes/catppuccin/assets/preview.webp | Bin 22584 -> 0 bytes .../themes/catppuccin/dot_catppuccin.yaml | 26 -- .../waybar/themes/catppuccin/dot_editorconfig | 34 --- config/waybar/themes/catppuccin/dot_git | 1 - .../themes/catppuccin/themes/frappe.css | 37 --- .../waybar/themes/catppuccin/themes/latte.css | 37 --- .../themes/catppuccin/themes/macchiato.css | 37 --- .../waybar/themes/catppuccin/themes/mocha.css | 37 --- config/zk/config.toml | 205 ------------- exports/Gnome Extensions | 1 - exports/flatpak-apps.txt | 19 -- exports/gnome-minimal.json | 1 - 44 files changed, 1790 deletions(-) delete mode 100644 .gitmodules delete mode 100644 chezmoi/.chezmoi.toml.tmpl delete mode 100644 chezmoi/.chezmoiexternal.toml delete mode 100644 chezmoi/.chezmoiignore delete mode 100644 chezmoi/.chezmoiscripts/run_once_after_setup_wol.sh.tmpl delete mode 100644 chezmoi/.chezmoiscripts/run_once_setup_gtk_theme.sh.tmpl delete mode 100644 chezmoi/.chezmoiscripts/run_onchange_bootstrap.tmpl delete mode 100644 config/hypr/executable_gdm-wrapper.sh delete mode 100644 config/hypr/hyprland.conf delete mode 100644 config/hypr/hyprpaper.conf delete mode 100644 config/mako/config delete mode 100644 config/php-cs-fixer-conf.php delete mode 100644 config/pycodestyle delete mode 100644 config/river/executable_init delete mode 100644 config/river/init.lua delete mode 100644 config/river/logger.lua delete mode 100644 config/river/river.lua delete mode 100644 config/swappy/config delete mode 100644 config/sway/config delete mode 100644 config/sway/executable_autorotate delete mode 100644 config/sway/executable_lock.sh delete mode 100644 config/sway/executable_sway-bar.sh delete mode 100644 config/sway/themes/catppuccin/.keep delete mode 100644 config/waybar/config delete mode 100644 config/waybar/style.css delete mode 100644 config/waybar/themes/catppuccin/LICENSE delete mode 100644 config/waybar/themes/catppuccin/README.md delete mode 100644 config/waybar/themes/catppuccin/assets/empty_dot_gitkeep delete mode 100644 config/waybar/themes/catppuccin/assets/frappe.webp delete mode 100644 config/waybar/themes/catppuccin/assets/latte.webp delete mode 100644 config/waybar/themes/catppuccin/assets/macchiato.webp delete mode 100644 config/waybar/themes/catppuccin/assets/mocha.webp delete mode 100644 config/waybar/themes/catppuccin/assets/preview.webp delete mode 100644 config/waybar/themes/catppuccin/dot_catppuccin.yaml delete mode 100644 config/waybar/themes/catppuccin/dot_editorconfig delete mode 100644 config/waybar/themes/catppuccin/dot_git delete mode 100644 config/waybar/themes/catppuccin/themes/frappe.css delete mode 100644 config/waybar/themes/catppuccin/themes/latte.css delete mode 100644 config/waybar/themes/catppuccin/themes/macchiato.css delete mode 100644 config/waybar/themes/catppuccin/themes/mocha.css delete mode 100644 config/zk/config.toml delete mode 100644 exports/Gnome Extensions delete mode 100644 exports/flatpak-apps.txt delete mode 100644 exports/gnome-minimal.json diff --git a/.gitmodules b/.gitmodules deleted file mode 100644 index e69de29..0000000 diff --git a/chezmoi/.chezmoi.toml.tmpl b/chezmoi/.chezmoi.toml.tmpl deleted file mode 100644 index bc7f2a9..0000000 --- a/chezmoi/.chezmoi.toml.tmpl +++ /dev/null @@ -1,10 +0,0 @@ -{{- $osid := .chezmoi.os -}} -{{- if hasKey .chezmoi.osRelease "id" -}} -{{- $osid = printf "%s-%s" .chezmoi.os .chezmoi.osRelease.id -}} -{{- end -}} - -[data] - osid = {{ $osid | quote }} - hasGui = {{ promptBoolOnce . "hasGui" "Does this machine needs gui configs/apps?" }} - hasWOL = {{ promptBoolOnce . "hasWOL" "Does this machine WOL?" }} - openAIKey = {{ promptStringOnce . "openAIKey" "Enter Open AI key for chatGPT integration (or leave blank)" | quote }} diff --git a/chezmoi/.chezmoiexternal.toml b/chezmoi/.chezmoiexternal.toml deleted file mode 100644 index 7067d6a..0000000 --- a/chezmoi/.chezmoiexternal.toml +++ /dev/null @@ -1,32 +0,0 @@ -[".local/share/zinit"] - type = "git-repo" - url = "https://github.com/zdharma-continuum/zinit.git" - refreshPeriod = "168h" - -[".config/alacritty/themes/catppuccin/catppuccin-macchiato.toml"] - type = "file" - url = "https://raw.githubusercontent.com/catppuccin/alacritty/main/catppuccin-macchiato.toml" - refreshPeriod = "168h" - -[".config/bat/themes/Catppuccin-macchiato.tmTheme"] - # Run "bat cache --build" to make the theme available - type = "file" - url = "https://github.com/catppuccin/bat/raw/main/themes/Catppuccin%20Macchiato.tmTheme" - refreshPeriod = "168h" - -["Repos/Source/xdg-ninja"] - type = "git-repo" - url = "https://github.com/b3nj5m1n/xdg-ninja.git" - refreshPeriod = "168h" - -[".local/bin/sesh"] - type = "archive-file" - url = "https://github.com/joshmedeski/sesh/releases/latest/download/sesh_Linux_x86_64.tar.gz" - path = "sesh" - refreshPeriod = "168h" - -[".local/bin/zk"] - type = "archive-file" - url = "https://github.com/zk-org/zk/releases/latest/download/zk-v0.14.1-linux-amd64.tar.gz" - path = "zk" - refreshPeriod = "168h" diff --git a/chezmoi/.chezmoiignore b/chezmoi/.chezmoiignore deleted file mode 100644 index 18fae4d..0000000 --- a/chezmoi/.chezmoiignore +++ /dev/null @@ -1,5 +0,0 @@ -**/original_* -.config/lazygit/state.yml - -config/tmux/plugins/* -!config/tmux/plugins/.gitkeep diff --git a/chezmoi/.chezmoiscripts/run_once_after_setup_wol.sh.tmpl b/chezmoi/.chezmoiscripts/run_once_after_setup_wol.sh.tmpl deleted file mode 100644 index e543e79..0000000 --- a/chezmoi/.chezmoiscripts/run_once_after_setup_wol.sh.tmpl +++ /dev/null @@ -1,23 +0,0 @@ -{{- if eq .hasWOL true -}} -#!/usr/bin/env bash - -set -e - -# run as sudo so it ask for the password here and not inside FZF -sudo echo -e "\nSetting up wol...\n" - -interface="$( - nmcli --fields name --terse con show | - fzf \ - --height 10 \ - --header 'Select network interface' \ - --preview 'nmcli c show {} | grep 802-3-ethernet.wake-on-lan' -)" - -if [[ -z "$interface" ]]; then - echo "no interface selected" - exit -fi -nmcli c modify "$interface" 802-3-ethernet.wake-on-lan magic -nmcli c modify "$interface" 802-3-ethernet.auto-negotiate yes -{{ end }} diff --git a/chezmoi/.chezmoiscripts/run_once_setup_gtk_theme.sh.tmpl b/chezmoi/.chezmoiscripts/run_once_setup_gtk_theme.sh.tmpl deleted file mode 100644 index b138e5f..0000000 --- a/chezmoi/.chezmoiscripts/run_once_setup_gtk_theme.sh.tmpl +++ /dev/null @@ -1,19 +0,0 @@ -{{- if eq .hasGui true -}} -#!/usr/bin/env bash - -# ╭──────────────────────────────────────────────────────────╮ -# │ Setup Catppuccin GTK theme │ -# ╰──────────────────────────────────────────────────────────╯ - -set -e - -tmp_dir="$(mktemp -d)" - -cd "$tmp_dir" - -curl -LsS "https://raw.githubusercontent.com/catppuccin/gtk/main/install.py" -o install.py - -python3 install.py macchiato teal - -rm -rf "$tmp_dir" -{{ end }} diff --git a/chezmoi/.chezmoiscripts/run_onchange_bootstrap.tmpl b/chezmoi/.chezmoiscripts/run_onchange_bootstrap.tmpl deleted file mode 100644 index df9d632..0000000 --- a/chezmoi/.chezmoiscripts/run_onchange_bootstrap.tmpl +++ /dev/null @@ -1,46 +0,0 @@ -#!/usr/bin/env bash - -set -e - -NO_FORMAT="\033[0m" -C_DODGERBLUE1="\033[38;5;33m" -echo -e "${C_DODGERBLUE1}Installing packages...${NO_FORMAT}" - -{{- if eq .osid "darwin" }} -# macOS-specific code -{{- else if eq .osid "linux-debian" }} -# Debian-specific code -{{- else if eq .osid "linux-fedora" }} - - # ╭──────────────────────────────────────────────────────────╮ - # │ Add COPR repos │ - # ╰──────────────────────────────────────────────────────────╯ - - sudo dnf install -yq 'dnf-command(copr)' - - {{ range .packages.dnf.copr -}} - sudo dnf copr enable -y {{ . | quote }} &> /dev/null - {{ end -}} - - # ╭──────────────────────────────────────────────────────────╮ - # │ Install DNF packages │ - # ╰──────────────────────────────────────────────────────────╯ - - sudo dnf install -y {{ range .packages.dnf.packages }} {{ . | quote }} {{- end -}} - -{{ end }} - -# ╭──────────────────────────────────────────────────────────╮ -# │ Install Rust │ -# ╰──────────────────────────────────────────────────────────╯ - -curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --no-modify-path --default-toolchain stable - -rustup update - -# ╭──────────────────────────────────────────────────────────╮ -# │ Install Cargo Packages │ -# ╰──────────────────────────────────────────────────────────╯ - -cargo install {{ range .packages.cargo }} {{ . | quote }} {{- end -}} - diff --git a/config/hypr/executable_gdm-wrapper.sh b/config/hypr/executable_gdm-wrapper.sh deleted file mode 100644 index 3b0982d..0000000 --- a/config/hypr/executable_gdm-wrapper.sh +++ /dev/null @@ -1,39 +0,0 @@ -#!/usr/bin/sh - -if [ "x$XDG_SESSION_TYPE" = "xwayland" ] && - [ "x$XDG_SESSION_CLASS" != "xgreeter" ] && - [ -n "$SHELL" ] && - grep -q "$SHELL" /etc/shells && - ! (echo "$SHELL" | grep -q "false") && - ! (echo "$SHELL" | grep -q "nologin"); then - if [ "$1" != '-l' ]; then - exec bash -c "exec -l '$SHELL' -c '$0 -l $*'" - else - shift - fi -fi - -SETTING=$(G_MESSAGES_DEBUG='' gsettings get org.gnome.system.locale region) -REGION=${SETTING#\'} -REGION=${REGION%\'} - -if [ -n "$REGION" ]; then - unset LC_TIME LC_NUMERIC LC_MONETARY LC_MEASUREMENT LC_PAPER - - if [ "$LANG" != "$REGION" ]; then - # LC_CTYPE - export LC_NUMERIC=$REGION - export LC_TIME=$REGION - # LC_COLLATE - export LC_MONETARY=$REGION - # LC_MESSAGES - export LC_PAPER=$REGION - # LC_NAME - export LC_ADDRESS=$REGION - export LC_TELEPHONE=$REGION - export LC_MEASUREMENT=$REGION - # LC_IDENTIFICATION - fi -fi - -exec Hyprland diff --git a/config/hypr/hyprland.conf b/config/hypr/hyprland.conf deleted file mode 100644 index b484ab6..0000000 --- a/config/hypr/hyprland.conf +++ /dev/null @@ -1,158 +0,0 @@ -# -# Please note not all available settings / options are set here. -# For a full list, see the wiki -# - -# See https://wiki.hyprland.org/Configuring/Monitors/ -monitor=,highrr,auto,1 - -# Execute your favorite apps at launch -exec-once = waybar & hyprpaper - -# Source a file (multi-file configs) -# source = ~/.config/hypr/myColors.conf - -# Some default env vars. -env = XCURSOR_SIZE,24 - -# For all categories, see https://wiki.hyprland.org/Configuring/Variables/ -input { - kb_layout = latam - kb_variant = - kb_model = - kb_options = caps:escape - kb_rules = - - follow_mouse = 1 - - touchpad { - natural_scroll = true - } - - sensitivity = 0 # -1.0 - 1.0, 0 means no modification. -} - -general { - # See https://wiki.hyprland.org/Configuring/Variables/ for more - - gaps_in = 5 - gaps_out = 10 - border_size = 2 - col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg - col.inactive_border = rgba(595959aa) - - layout = dwindle -} - -decoration { - # See https://wiki.hyprland.org/Configuring/Variables/ for more - rounding = 10 - drop_shadow = true - shadow_range = 4 - shadow_render_power = 3 - col.shadow = rgba(1a1a1aee) - - blur { - enabled = true - size = 3 - passes = 1 - new_optimizations = true - } -} - -animations { - enabled = true - - # Some default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more - - bezier = myBezier, 0.05, 0.9, 0.1, 1.05 - - animation = windows, 1, 7, myBezier - animation = windowsOut, 1, 7, default, popin 80% - animation = border, 1, 10, default - animation = borderangle, 1, 8, default - animation = fade, 1, 7, default - animation = workspaces, 1, 6, default -} - -dwindle { - # See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more - pseudotile = true # master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below - preserve_split = true # you probably want this -} - -master { - # See https://wiki.hyprland.org/Configuring/Master-Layout/ for more - new_is_master = true -} - -gestures { - # See https://wiki.hyprland.org/Configuring/Variables/ for more - workspace_swipe = true - workspace_swipe_invert = false -} - -# Example per-device config -# See https://wiki.hyprland.org/Configuring/Keywords/#per-device-input-configs for more -device:epic-mouse-v1 { - sensitivity = -0.5 -} - -# Example windowrule v1 -# windowrule = float, ^(kitty)$ -# Example windowrule v2 -# windowrulev2 = float,class:^(kitty)$,title:^(kitty)$ -# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more - - -# See https://wiki.hyprland.org/Configuring/Keywords/ for more -$mainMod = SUPER - -# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more -bind = $mainMod, Q, exec, alacritty -bind = $mainMod, C, killactive, -bind = $mainMod, M, exit, -bind = $mainMod, E, exec, dolphin -bind = $mainMod, V, togglefloating, -bind = $mainMod, D, exec, wofi --show drun -bind = $mainMod, P, pseudo, # dwindle -bind = $mainMod, J, togglesplit, # dwindle - -# Move focus with mainMod + arrow keys -bind = $mainMod, h, movefocus, l -bind = $mainMod, j, movefocus, d -bind = $mainMod, k, movefocus, u -bind = $mainMod, l, movefocus, r - -# Switch workspaces with mainMod + [0-9] -bind = $mainMod, 1, workspace, 1 -bind = $mainMod, 2, workspace, 2 -bind = $mainMod, 3, workspace, 3 -bind = $mainMod, 4, workspace, 4 -bind = $mainMod, 5, workspace, 5 -bind = $mainMod, 6, workspace, 6 -bind = $mainMod, 7, workspace, 7 -bind = $mainMod, 8, workspace, 8 -bind = $mainMod, 9, workspace, 9 -bind = $mainMod, 0, workspace, 10 - -# Move active window to a workspace with mainMod + SHIFT + [0-9] -bind = $mainMod SHIFT, 1, movetoworkspace, 1 -bind = $mainMod SHIFT, 2, movetoworkspace, 2 -bind = $mainMod SHIFT, 3, movetoworkspace, 3 -bind = $mainMod SHIFT, 4, movetoworkspace, 4 -bind = $mainMod SHIFT, 5, movetoworkspace, 5 -bind = $mainMod SHIFT, 6, movetoworkspace, 6 -bind = $mainMod SHIFT, 7, movetoworkspace, 7 -bind = $mainMod SHIFT, 8, movetoworkspace, 8 -bind = $mainMod SHIFT, 9, movetoworkspace, 9 -bind = $mainMod SHIFT, 0, movetoworkspace, 10 - -# Scroll through existing workspaces with mainMod + scroll -bind = $mainMod, mouse_down, workspace, e+1 -bind = $mainMod, mouse_up, workspace, e-1 - -# Move/resize windows with mainMod + LMB/RMB and dragging -bindm = $mainMod, mouse:272, movewindow -bindm = $mainMod, mouse:273, resizewindow - diff --git a/config/hypr/hyprpaper.conf b/config/hypr/hyprpaper.conf deleted file mode 100644 index e71274d..0000000 --- a/config/hypr/hyprpaper.conf +++ /dev/null @@ -1,4 +0,0 @@ -preload = ~/Pictures/wallpaper.jpg - -#set the default wallpaper(s) seen on inital workspace(s) --depending on the number of monitors used -wallpaper = ,~/Pictures/wallpaper.jpg diff --git a/config/mako/config b/config/mako/config deleted file mode 100644 index 1b7531f..0000000 --- a/config/mako/config +++ /dev/null @@ -1,11 +0,0 @@ -default-timeout=5000 - -# Colors - -background-color=#24273a -text-color=#cad3f5 -border-color=#8aadf4 -progress-color=over #363a4f - -[urgency=high] -border-color=#f5a97f diff --git a/config/php-cs-fixer-conf.php b/config/php-cs-fixer-conf.php deleted file mode 100644 index d9bed33..0000000 --- a/config/php-cs-fixer-conf.php +++ /dev/null @@ -1,5 +0,0 @@ -setIndent(" "); diff --git a/config/pycodestyle b/config/pycodestyle deleted file mode 100644 index 62e7381..0000000 --- a/config/pycodestyle +++ /dev/null @@ -1,2 +0,0 @@ -[pycodestyle] -max-line-length = 100 diff --git a/config/river/executable_init b/config/river/executable_init deleted file mode 100644 index 4f28cd0..0000000 --- a/config/river/executable_init +++ /dev/null @@ -1,10 +0,0 @@ -#!/usr/bin/env bash - -# Wrapper for launching the configuration from lua. This will add the river -# directory to the LUA_PATH global variable so the configuration can be -# splitted into multiple files - -config_dir="${XDG_CONFIG_HOME:-$HOME/.config}/river" -export LUA_PATH="$config_dir/?.lua;$config_dir/?/init.lua;$LUA_PATH" - -lua "$config_dir"/init.lua diff --git a/config/river/init.lua b/config/river/init.lua deleted file mode 100644 index cd73a7c..0000000 --- a/config/river/init.lua +++ /dev/null @@ -1,40 +0,0 @@ -local River = require('river') -local Logger = require('logger') - -local logger = Logger:new() -logger:log( - [[ - +---------------------------------------------------------+ - | Initializing River... | - +---------------------------------------------------------+ - ]] -) - -local config = { - -} - -local river = River:new() -print(type(river)) - -river:set_bg("$HOME/Pictures/Minimalist__cron.png") - --- ╭─────────────────────────────────────────────────────────╮ --- │ Keymaps │ --- ╰─────────────────────────────────────────────────────────╯ - -local mods = river.keys.modifiers -river:map { mods.super, "Return", "spawn kitty" } -river:map { mods.super_shift, "q", "exit" } - --- river:exec("rivertile -view-padding 2 -outer-padding 2 -main-ratio 0.5 -main-count 1 &") - -local cmds = { - "waybar", -} - -for _, cmd in ipairs(cmds) do - river:spawn(cmd) -end - -logger:close() diff --git a/config/river/logger.lua b/config/river/logger.lua deleted file mode 100644 index 4f43c93..0000000 --- a/config/river/logger.lua +++ /dev/null @@ -1,49 +0,0 @@ ---- Logger interface ----@class Logger ----@field available_outputs table Available outputs to use in the logger ----@field output file* The open file to write to -local Logger = { - available_outputs = { - stdout = io.stdout - }, - output = io.stdout -} - -Logger.__index = Logger - ---- Create a new logger instance ----@param output? file* io.stdout by default, [see Logger.available_outputs](lua://Logger.available_outputs) for possible values ----@return Logger -function Logger:new(output) - local obj = { - output = output or Logger.available_outputs.stdout - } - - setmetatable(obj, self) - self.__index = self - - self:open() - - return obj -end - -function Logger:open() - self:log("\n\n") - self:log("Opening logger...\n") -end - -function Logger:close() - self:log("Closing logger...") - self:log("\n\n") - self.output:close() -end - ---- Write data to ouput, it passes the arguments directly to file:write(...) ----@param ... string|number the data to write -function Logger:log(...) - self.output:write(...) - self.output:write("\n") - self.output:flush() -end - -return Logger diff --git a/config/river/river.lua b/config/river/river.lua deleted file mode 100644 index 5cbc9e4..0000000 --- a/config/river/river.lua +++ /dev/null @@ -1,80 +0,0 @@ ----@enum Modifiers -local modifiers = { - super = "Super ", - ctrl = "Control ", - shift = "Shift ", - alt = "Alt ", - - super_shift = "Super+Shift ", - super_ctrl = "Super+Control ", - super_ctrl_shift = "Super+Control+Shift ", - - ctrl_shift = "Control+Shift ", - - none = "None ", -} - - ---- Wrapper around the riverctl cmd ----@class River -local River = { - cmds = { - background = "swaybg -i %s" - }, - keys = { - modifiers = modifiers - } -} - -River.__index = River - ---- River class constructor ----@param new? River to override properties ----@return River -function River:new(new) - local obj = new or {} - - setmetatable(obj, self) - self.__index = self - - return obj -end - ---- Exec an arbitrary system command ----@param cmd string the command to execute ----@private ----@return string? -function River:exec(cmd) - os.execute(cmd) -end - ---- Execute the given command with riverctl spawn ----@param cmd string the command to execute -function River:spawn(cmd) - self:exec(string.format([[riverctl spawn "%s"]], cmd)) -end - ---- Set a new wallpaper with the default cmds.background ----@param path string The path to the image -function River:set_bg(path) - self:spawn(string.format(self.cmds.background, path)) -end - ----@class MapArgs ----@field [1] Modifiers The modifier to use ----@field [2] string ----@field [3] string ----@field mode? ("normal"|"locked")[], } - ---- Create a new mapping ---- @param args MapArgs -function River:map(args) - local modes = args.mode or { "normal" } - - for _, mode in ipairs(modes) do - local map = string.format([[riverctl map %s %s %s %s]], mode, args[1], args[2], args[3]) - self:exec(map) - end -end - -return River diff --git a/config/swappy/config b/config/swappy/config deleted file mode 100644 index d0fa954..0000000 --- a/config/swappy/config +++ /dev/null @@ -1,10 +0,0 @@ -[Default] -save_dir=$HOME/Pictures -save_filename_format=screenshot-%Y%m%d-%H%M%S.png -show_panel=true -line_size=5 -text_size=20 -text_font=sans-serif -paint_mode=arrow -early_exit=true -fill_shape=false diff --git a/config/sway/config b/config/sway/config deleted file mode 100644 index 8e7d066..0000000 --- a/config/sway/config +++ /dev/null @@ -1,283 +0,0 @@ - -### Variables -# -# Logo key. Use Mod1 for Alt. -set $mod Mod4 - -# Home row direction keys, like vim -set $left h -set $down j -set $up k -set $right l - -# Your preferred terminal emulator -set $term alacritty - -# Your preferred application launcher -# Note: pass the final command to swaymsg so that the resulting window can be opened -# on the original workspace that the command was run on. -set $menu bemenu-run -iw -l 20 -P '>' -p 'Open:' \ ---fn "JetBrainsMono 13" \ ---ab "#24273add" \ ---af "#f4dbd6" \ ---fb "#24273add" \ ---ff "#8bd5ca" \ ---hb "#24273add" \ ---hf "#a6da95" \ ---nb "#24273add" \ ---nf "#f4dbd6" \ ---nf "#f4dbd6" \ ---tb "#24273add" \ ---tf "#c6a0f6dd" \ ---scb "#24273add" \ ---scf "#c6a0f6" - -### Output configuration -# -# Default wallpaper (more resolutions are available in /usr/share/backgrounds/sway/) -output * bg ~/Pictures/wallpaper.png fill -# -# Example configuration: -# -# output HDMI-A-1 resolution 1920x1080 position 1920,0 -# -# You can get the names of your outputs by running: swaymsg -t get_outputs - -### Idle configuration -# -# Example configuration: -# -exec swayidle -w \ - timeout 300 'systemctl suspend' \ - before-sleep '~/.config/sway/lock.sh' - -# This will lock your screen after 300 seconds of inactivity, then turn off -# your displays after another 300 seconds, and turn your screens back on when -# resumed. It will also lock your screen before your computer goes to sleep. - -### Input configuration -# -# Example configuration: -# -input "type:touchpad" { - dwt enabled - tap enabled - natural_scroll enabled - middle_emulation enabled -} - -input "type:keyboard" { - xkb_layout latam - xkb_options caps:escape -} -# -# You can get the names of your inputs by running: swaymsg -t get_inputs -# Read `man 5 sway-input` for more information about this section. - -### Key bindings -# -# Basics: -# - # Start a terminal - bindsym $mod+Return exec $term - - # Kill focused window - bindsym $mod+Shift+q kill - - # Start your launcher - bindsym $mod+d exec $menu - - # Drag floating windows by holding down $mod and left mouse button. - # Resize them with right mouse button + $mod. - # Despite the name, also works for non-floating windows. - # Change normal to inverse to use left mouse button for resizing and right - # mouse button for dragging. - floating_modifier $mod normal - - # Exit sway (logs you out of your Wayland session) - bindsym $mod+Shift+e exec swaynag -t warning -m 'You pressed the exit shortcut. Do you really want to exit sway? This will end your Wayland session.' -B 'Yes, exit sway' 'swaymsg exit' - bindsym $mod+Shift+r reload -# -# Moving around: -# - # Move your focus around - bindsym $mod+$left focus left - bindsym $mod+$down focus down - bindsym $mod+$up focus up - bindsym $mod+$right focus right - # Or use $mod+[up|down|left|right] - bindsym $mod+Left focus left - bindsym $mod+Down focus down - bindsym $mod+Up focus up - bindsym $mod+Right focus right - - # Move the focused window with the same, but add Shift - bindsym $mod+Shift+$left move left - bindsym $mod+Shift+$down move down - bindsym $mod+Shift+$up move up - bindsym $mod+Shift+$right move right - # Ditto, with arrow keys - bindsym $mod+Shift+Left move left - bindsym $mod+Shift+Down move down - bindsym $mod+Shift+Up move up - bindsym $mod+Shift+Right move right -# -# Workspaces: -# - # Switch to workspace - bindsym $mod+bar workspace back_and_forth - bindsym $mod+1 workspace number 1 - bindsym $mod+2 workspace number 2 - bindsym $mod+3 workspace number 3 - bindsym $mod+4 workspace number 4 - bindsym $mod+5 workspace number 5 - bindsym $mod+6 workspace number 6 - bindsym $mod+7 workspace number 7 - bindsym $mod+8 workspace number 8 - bindsym $mod+9 workspace number 9 - bindsym $mod+0 workspace number 10 - # Move focused container to workspace - bindsym $mod+Shift+1 move container to workspace number 1 - bindsym $mod+Shift+2 move container to workspace number 2 - bindsym $mod+Shift+3 move container to workspace number 3 - bindsym $mod+Shift+4 move container to workspace number 4 - bindsym $mod+Shift+5 move container to workspace number 5 - bindsym $mod+Shift+6 move container to workspace number 6 - bindsym $mod+Shift+7 move container to workspace number 7 - bindsym $mod+Shift+8 move container to workspace number 8 - bindsym $mod+Shift+9 move container to workspace number 9 - bindsym $mod+Shift+0 move container to workspace number 10 - # Note: workspaces can have any name you want, not just numbers. - # We just use 1-10 as the default. -# -# Layout stuff: -# - - # Switch the current container between different layout styles - bindsym $mod+s layout stacking - bindsym $mod+w layout tabbed - bindsym $mod+v layout toggle split - - # Make the current focus fullscreen - bindsym $mod+f fullscreen - - # Toggle the current focus between tiling and floating mode - bindsym $mod+Shift+space floating toggle - - # Swap focus between the tiling area and the floating area - bindsym $mod+space focus mode_toggle - - # Move focus to the parent container - bindsym $mod+a focus parent -# -# Scratchpad: -# - # Sway has a "scratchpad", which is a bag of holding for windows. - # You can send windows there and get them back later. - - # Move the currently focused window to the scratchpad - bindsym $mod+Shift+minus move scratchpad - - # Show the next scratchpad window or hide the focused scratchpad window. - # If there are multiple scratchpad windows, this command cycles through them. - bindsym $mod+minus scratchpad show - -# -# System: -# - # screenshot current window - bindsym print exec grim -g "$(swaymsg -t get_tree | jq -j '.. | select(.type?) | select(.focused).rect | "\(.x),\(.y) \(.width)x\(.height)"')" - | wl-copy - # screenshot area - bindsym print+shift exec grim -g "$(slurp)" - | wl-copy - # screenshot area and edit it - bindsym print+ctrl exec grim -g "$(slurp)" - | swappy -f - - - bindsym XF86AudioRaiseVolume exec wpctl set-volume -l 1.0 @DEFAULT_AUDIO_SINK@ 5%+ - bindsym XF86AudioLowerVolume exec wpctl set-volume -l 1.0 @DEFAULT_AUDIO_SINK@ 5%- - bindsym XF86AudioMute exec wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle - bindsym XF86AudioMicMute exec wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle - bindsym XF86AudioPlay exec playerctl play-pause - bindsym XF86AudioNext exec playerctl next - bindsym XF86AudioPrev exec playerctl previous - bindsym XF86MonBrightnessUp exec brightnessctl set +5% - bindsym XF86MonBrightnessDown exec brightnessctl set 5%- - - -# -# Resizing containers: -# -mode "resize" { - # left will shrink the containers width - # right will grow the containers width - # up will shrink the containers height - # down will grow the containers height - bindsym $left resize shrink width 10px - bindsym $down resize grow height 10px - bindsym $up resize shrink height 10px - bindsym $right resize grow width 10px - - # Ditto, with arrow keys - bindsym Left resize shrink width 10px - bindsym Down resize grow height 10px - bindsym Up resize shrink height 10px - bindsym Right resize grow width 10px - - # Return to default mode - bindsym Return mode "default" - bindsym Escape mode "default" -} -bindsym $mod+r mode "resize" - -# -# Status Bar: -# -# Read `man 5 sway-bar` for more information about this section. -bar { - position top - - swaybar_command waybar - - colors { - statusline #ffffff - background #323232 - inactive_workspace #32323200 #32323200 #5c5c5c - } -} - -# Start Stuff - -# create a master stack layout -exec_always autotiling -l 2 -exec dbus-update-activation-environment --systemd DISPLAY WAYLAND_DISPLAY SWAYSOCK -exec mako - -# Auto rotate screen -# 1 option uses accelerometer (requires iio-sensors-proxy) -# 2 option uses tablet events - -# exec monitor-sensor | bash $DOTS/config/sway/autorotate &> /tmp/autorotate.log -bindswitch tablet:toggle output "eDP-1" transform 180 clockwise ; input "type:touch" map_to_output "eDP-1" ; input "type:tablet_tool" map_to_output "eDP-1" -# bindswitch tablet:on busctl call --user sm.puri.OSK0 /sm/puri/OSK0 sm.puri.OSK0 SetVisible b true -# bindswitch tablet:off busctl call --user sm.puri.OSK0 /sm/puri/OSK0 sm.puri.OSK0 SetVisible b false - -bindgesture swipe:left workspace prev -bindgesture swipe:right workspace next -bindgesture swipe:up scratchpad show - -gaps inner 10 -gaps outer 2 -default_border pixel 2 -smart_borders on -default_floating_border pixel 2 - -xwayland enable - -include ./themes/catppuccin/themes/catppuccin-macchiato - -# target title bg text indicator border -client.focused $teal $base $text $teal $teal -client.focused_inactive $base $base $text $base $base -client.unfocused $base $base $text $base $base -client.urgent $peach $base $peach $peach $peach -client.placeholder $overlay0 $base $text $overlay0 $overlay0 -client.background $base diff --git a/config/sway/executable_autorotate b/config/sway/executable_autorotate deleted file mode 100644 index b734d9c..0000000 --- a/config/sway/executable_autorotate +++ /dev/null @@ -1,61 +0,0 @@ - -#!/bin/bash - -# This script handles rotation of the screen and related input devices automatically -# using the output of the monitor-sensor command (part of the iio-sensor-proxy package) -# for sway. -# The target screen and input device names should be configured in the below variables. -# Note: input devices using the libinput driver (e.g. touchscreens) should be included -# in the WAYLANDINPUT array. -# -# You can get a list of input devices with the `swaymsg -t output` command. -# -# This scritp was frok from https://gitlab.com/snippets/1793649 by Fishonadish - - -SCREEN="eDP-1" -WAYLANDINPUT=( - "type:mouse" - "type:touchpad" - "type:tablet_tool" - "type:touch" -) - - -function rotate_ms { - case $1 in - "normal") - rotate 0 - ;; - "right-up") - rotate 90 - ;; - "bottom-up") - rotate 180 - ;; - "left-up") - rotate 270 - ;; - esac -} - -function rotate { - - TARGET_ORIENTATION=$1 - - echo "Rotating to" $TARGET_ORIENTATION - - swaymsg output $SCREEN transform $TARGET_ORIENTATION - - for i in "${WAYLANDINPUT[@]}" - do - swaymsg input "$i" map_to_output "$SCREEN" - done - -} - -while IFS='$\n' read -r line; do - rotation="$(echo $line | sed -En "s/^.*orientation changed: (.*)/\1/p")" - [[ ! -z $rotation ]] && rotate_ms $rotation -done < <(stdbuf -oL monitor-sensor) - diff --git a/config/sway/executable_lock.sh b/config/sway/executable_lock.sh deleted file mode 100644 index 2cef125..0000000 --- a/config/sway/executable_lock.sh +++ /dev/null @@ -1,16 +0,0 @@ -#!/usr/bin/env bash - -swaylock \ - --screenshots \ - --clock \ - --indicator \ - --indicator-radius 100 \ - --indicator-thickness 7 \ - --effect-blur 7x5 \ - --effect-vignette 0.5:0.5 \ - --ring-color 3b4252 \ - --key-hl-color 880033 \ - --line-color 00000000 \ - --inside-color 00000088 \ - --separator-color 00000000 \ - --grace 2 diff --git a/config/sway/executable_sway-bar.sh b/config/sway/executable_sway-bar.sh deleted file mode 100644 index ffc6ce1..0000000 --- a/config/sway/executable_sway-bar.sh +++ /dev/null @@ -1,13 +0,0 @@ -#!/usr/bin/env bash - -# Date -date=$(date "+%a %F %R") - -# Battery -battery=$(cat /sys/class/power_supply/BAT*/capacity) - -# Alsa master volume -volume=$(amixer get Master | grep "Right:" | cut -f 7,8 -d " ") - -# Status bar -echo "Vol: $volume | Bat: ${battery}% | $date" diff --git a/config/sway/themes/catppuccin/.keep b/config/sway/themes/catppuccin/.keep deleted file mode 100644 index e69de29..0000000 diff --git a/config/waybar/config b/config/waybar/config deleted file mode 100644 index ef406f2..0000000 --- a/config/waybar/config +++ /dev/null @@ -1,160 +0,0 @@ -{ - // "layer": "top", // Waybar at top layer - // "height": 30, // Waybar height (to be removed for auto height) - "spacing": 4, // Gaps between modules (4px) - // Choose the order of the modules - "modules-left": [ - "hyprland/workspaces", - "custom/media" - ], - "modules-center": [ - "tray" - ], - "modules-right": [ - "idle_inhibitor", - "pulseaudio", - "network", - "battery", - "clock" - ], - // Modules configuration - "hyprland/workspaces": { - "disable-scroll": true, - "warp-on-scroll": true, - "format": "{icon}", - "format-icons": { - "1": "", - "2": "", - "3": "", - "9": "", - "10": "󰌳", - "default": "" - } - }, - "keyboard-state": { - "numlock": true, - "capslock": true, - "format": "{name} {icon}", - "format-icons": { - "locked": "", - "unlocked": "" - } - }, - "mpd": { - "format": "{stateIcon} {consumeIcon}{randomIcon}{repeatIcon}{singleIcon}{artist} - {album} - {title} ({elapsedTime:%M:%S}/{totalTime:%M:%S}) ⸨{songPosition}|{queueLength}⸩ {volume}% ", - "format-disconnected": "Disconnected ", - "format-stopped": "{consumeIcon}{randomIcon}{repeatIcon}{singleIcon}Stopped ", - "unknown-tag": "N/A", - "interval": 2, - "consume-icons": { - "on": " " - }, - "random-icons": { - "off": " ", - "on": " " - }, - "repeat-icons": { - "on": " " - }, - "single-icons": { - "on": "1 " - }, - "state-icons": { - "paused": "", - "playing": "" - }, - "tooltip-format": "MPD (connected)", - "tooltip-format-disconnected": "MPD (disconnected)" - }, - "idle_inhibitor": { - "format": "{icon}", - "format-icons": { - "activated": "󰅶", - "deactivated": "󰾪" - } - }, - "tray": { - // "icon-size": 21, - "spacing": 10 - }, - "clock": { - // "timezone": "America/New_York", - "format": "{:%I:%M}", - "tooltip-format": "{:%Y %B}\n{calendar}", - "format-alt": "{:%Y-%m-%d}" - }, - "cpu": { - "format": "{usage}% ", - "tooltip": false - }, - "memory": { - "format": "{}% " - }, - "temperature": { - // "thermal-zone": 2, - // "hwmon-path": "/sys/class/hwmon/hwmon2/temp1_input", - "critical-threshold": 80, - // "format-critical": "{temperatureC}°C {icon}", - "format": "{temperatureC}°C {icon}", - "format-icons": ["", "", ""] - }, - "backlight": { - // "device": "acpi_video1", - "format": "{percent}% {icon}", - "format-icons": ["", "", "", "", "", "", "", "", ""] - }, - "battery": { - "states": { - // "good": 95, - "warning": 30, - "critical": 15 - }, - "format": "{capacity}% {icon}", - "format-charging": "{capacity}% ", - "format-plugged": "{capacity}% ", - "format-alt": "{time} {icon}", - // "format-good": "", // An empty format will hide the module - // "format-full": "", - "format-icons": ["", "", "", "", ""] - }, - "network": { - // "interface": "wlp2*", // (Optional) To force the use of this interface - "format-wifi": "{essid} ({signalStrength}%) ", - "format-ethernet": "{ipaddr}/{cidr} ", - "tooltip-format": "{ifname} via {gwaddr} ", - "format-linked": "{ifname} (No IP) ", - "format-disconnected": "Disconnected ⚠", - "format-alt": "{ifname}: {ipaddr}/{cidr}" - }, - "pulseaudio": { - // "scroll-step": 1, // %, can be a float - "format": "{volume}% {icon} {format_source}", - "format-bluetooth": "{volume}% {icon} {format_source}", - "format-bluetooth-muted": " {icon} {format_source}", - "format-muted": " {format_source}", - "format-source": "{volume}% ", - "format-source-muted": "", - "format-icons": { - "headphone": "", - "hands-free": "", - "headset": "", - "phone": "", - "portable": "", - "car": "", - "default": ["", "", ""] - }, - "on-click": "pavucontrol" - }, - "custom/media": { - "format": "{icon} {}", - "return-type": "json", - "max-length": 40, - "format-icons": { - "spotify": "", - "default": "🎜" - }, - "escape": true, - "exec": "$HOME/.config/waybar/mediaplayer.py 2> /dev/null" // Script in resources folder - // "exec": "$HOME/.config/waybar/mediaplayer.py --player spotify 2> /dev/null" // Filter player based on name - } -} diff --git a/config/waybar/style.css b/config/waybar/style.css deleted file mode 100644 index 0781fd4..0000000 --- a/config/waybar/style.css +++ /dev/null @@ -1,179 +0,0 @@ -@import "./themes/catppuccin/themes/macchiato.css"; - -@keyframes blink_red { - to { - background-color: @red; - color: @base; - } -} - -* { - /* `otf-font-awesome` is required to be installed for icons */ - font-family: JetBrainsMono Roboto, Helvetica, Arial, sans-serif; - font-size: 1rem; -} - -box.modules-left, -box.modules-center, -box.modules-right { - border-radius: 1rem; - background-color: @base; -} - -.warning, -.critical, -.urgent { - animation-name: blink_red; - animation-duration: 800ms; - animation-timing-function: linear; - animation-iteration-count: infinite; - animation-direction: alternate; -} - -#mode, -#clock, -#memory, -#temperature, -#cpu, -#custom-weather, -#mpd, -#idle_inhibitor, -#backlight, -#pulseaudio, -#network, -#battery, -#custom-powermenu, -#custom-cava-internal, -#custom-launcher, -#tray, -#disk, -#custom-pacman, -#custom-scratchpad-indicator { - padding: 0 0.6rem; - background-color: @red; -} - -/* Bar */ -window#waybar { - background-color: transparent; -} - -window > box { - background-color: transparent; - margin: 5px 11px; - margin-bottom: 0; -} - -window#waybar button:not(:first-child), -window#waybar button:not(:last-child) { - border-radius: 0; -} - -window#waybar button:first-child { - border-radius: 1rem 0 0 1rem; -} - -window#waybar button:last-child { - border-radius: 0 1rem 1rem 0; -} - -/* Workspaces */ -#workspaces button { - padding: 0.2rem 0.75rem; - color: @text; -} - -#workspaces button label { - background-color: transparent; - font-size: 1.2rem; -} - -#workspaces button:not(:first-child) label { - /* Fix fontawesome miss alignment, depends of the padding above and font size */ - margin-right: 0.45rem; -} - -#workspaces button.focused { - color: @teal; - background-color: alpha(@teal, 0.15); -} - -#workspaces button:hover { - /* border: .2px solid transparent; */ - background: alpha(@blue, 0.15); - color: @blue; - border-color: transparent; - box-shadow: inherit; - text-shadow: inherit; -} - -/* Tooltip */ -tooltip { - background-color: @base; -} - -tooltip label { - color: @rosewater; -} - -/* battery */ -#battery { - color: @mauve; - padding-right: 1.15rem; -} -#battery.full { - color: @green; -} -#battery.charging { - color: @teal; -} -#battery.discharging { - color: @peach; -} -#battery.critical:not(.charging) { - color: @pink; -} -#custom-powermenu { - color: @red; -} - -#memory { - color: @peach; -} -#cpu { - color: @blue; -} -#clock { - color: @rosewater; -} -#idle_inhibitor { - color: @green; - padding-right: 0.9rem; -} -#temperature { - color: @sapphire; -} -#backlight { - color: @green; -} -#pulseaudio { - color: @mauve; /* not active */ -} -#network { - color: @pink; /* not active */ -} -#network.disconnected { - color: @foreground; /* not active */ -} -#disk { - color: @maroon; -} -#custom-pacman { - color: @sky; -} -#custom-scratchpad-indicator { - color: @yellow; -} -#custom-weather { - color: @red; -} diff --git a/config/waybar/themes/catppuccin/LICENSE b/config/waybar/themes/catppuccin/LICENSE deleted file mode 100644 index 006383b..0000000 --- a/config/waybar/themes/catppuccin/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -MIT License - -Copyright (c) 2021 Catppuccin - -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. diff --git a/config/waybar/themes/catppuccin/README.md b/config/waybar/themes/catppuccin/README.md deleted file mode 100644 index 8144e63..0000000 --- a/config/waybar/themes/catppuccin/README.md +++ /dev/null @@ -1,79 +0,0 @@ -

- Logo
- - Catppuccin for Waybar - -

- -

- - - -

- -

- -

- -## Previews - -
-🌻 Latte - -
-
-🪴 Frappé - -
-
-🌺 Macchiato - -
-
-🌿 Mocha - -
- -## Usage - -1. Download the file with your desired flavor e.g. `mocha.css` (to be found in the [release](https://github.com/catppuccin/waybar/releases/latest) or after cloning the repository) -2. Copy it into your waybar config e.g. `~/.config/waybar/` -3. Include the file at the top of your `style.css` - ```css - @import ".css"; - ``` -4. Use the colors in your Waybar `style.css`. Waybar uses [GTK3 CSS](https://docs.gtk.org/gtk3/css-overview.html#colors). - ```css - * { - /* reference the color by using @color-name */ - color: @text; - } - - window#waybar { - /* you can also GTK3 CSS functions! */ - background-color: shade(@base, 0.9); - border: 2px solid alpha(@crust, 0.3); - } - ``` - -## 🙋 FAQ - -- Q: **_"Waybar doesn't work with the colors"_**\ - A: Make sure you included the file in the right place and you are using `@COLOR` -## 💝 Thanks to - -- [rubyowo](https://github.com/rubyowo) - -  - -

- -

- -

- Copyright © 2021-present Catppuccin Org -

- -

- -

diff --git a/config/waybar/themes/catppuccin/assets/empty_dot_gitkeep b/config/waybar/themes/catppuccin/assets/empty_dot_gitkeep deleted file mode 100644 index e69de29..0000000 diff --git a/config/waybar/themes/catppuccin/assets/frappe.webp b/config/waybar/themes/catppuccin/assets/frappe.webp deleted file mode 100644 index 7c7fea9edfee20e6b7b065d70495e45fb79a940e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3218 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 diff --git a/config/waybar/themes/catppuccin/assets/macchiato.webp b/config/waybar/themes/catppuccin/assets/macchiato.webp deleted file mode 100644 index 53d7fa7a89da74ee1e8cac322beef5d4f65b5288..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3196 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 iT6#1l-ho{AUycM!mj8sBBCL%=%BC? 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

tXG!qiOzQ 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 z zJfron@yO7Z*HwO>G)-HNB;7@ph2>#C=~&R55V;G2#AV3v3qT8`6AcANCisAWTsw4m zwoENzqonVqN#z+zbCc3^xxbWbxGZQi9FHnMV<6YP#KMqMO9+x=<{ibL(Q+mLyaG@Y zTA-ZfmCA)N77ZrFXAT=ovg00j&w{qk?X$oCxdFPBz3%W2zelZnk{MC-XJdhylF$!RMTTLsz=DDR84+#) z=`q&@24+TJL6}tB%LGiJ=MvE9pG5!!L*}GzD@TP|)Lu*%NnHxb^(~0dm2A8#6v`;_katmT!@(WUruW z8Kf0=z`HBF69l^7{j*g`mrGuA0c0$BEJ{bfB9V^3n3>Ckd;{-RYCpHlG6H^ZBd@v19KeMT&c@ zM^AwmLEy3H^Y^`7oyZr#8bR&^u>&CMP<`+^^e*lC4z2tM=O!2siwKYI?u!pJn0;o^|u}`Fr`yh4btCuksA-?~96bAV@Exo3&GSZl8ks zPTZC{x>$V|*5Y&i({#adal5swOSi2jx01MRUfVV)=6tAEA{h@?-9`%Pl-aw?w`{Y4 zsE}pYo*SK1OT@SJ1$T5=pJnEnUhdyX^MdreEGM znXU(Z+pf0gF8g&cCnm~roIiE$!cSf3*Mw&%l1OK|^1aIhXM1k+W0xKhy_hvXmtHR? zKgwo=p-9@!mwI#^(RABj3-v^Geael{rR&a(`lX%IiF%jtruL27-8SzPR|X`V*`6o0 zg-e7IYRuA?yknh-+(bNPavA4P7m1e%%ivAi!PNn&vVNDQ15(axGh06IxzUV`j=-%U zxtY7Q6Lu060$a|RPM}LI5Zh|LO-iIOPWw~#%(Jf}m+kpcTlAHwzDDckCi1QXevz1@ f{_Q!_)sjOrHZadfiha@.css\";` to include the file in your style.css" diff --git a/config/waybar/themes/catppuccin/dot_editorconfig b/config/waybar/themes/catppuccin/dot_editorconfig deleted file mode 100644 index d86ac02..0000000 --- a/config/waybar/themes/catppuccin/dot_editorconfig +++ /dev/null @@ -1,34 +0,0 @@ -# EditorConfig helps developers define and maintain consistent -# coding styles between different editors and IDEs -# EditorConfig is awesome: https://EditorConfig.org - -root = true - -[*] -charset = utf-8 -indent_size = 2 -indent_style = space -end_of_line = lf -insert_final_newline = true -trim_trailing_whitespace = true - -# go -[*.go] -indent_style = tab -indent_size = 4 - -# python -[*.{ini,py,py.tpl,rst}] -indent_size = 4 - -# rust -[*.rs] -indent_size = 4 - -# documentation, utils -[*.{md,mdx,diff}] -trim_trailing_whitespace = false - -# windows shell scripts -[*.{cmd,bat,ps1}] -end_of_line = crlf diff --git a/config/waybar/themes/catppuccin/dot_git b/config/waybar/themes/catppuccin/dot_git deleted file mode 100644 index b8f00b3..0000000 --- a/config/waybar/themes/catppuccin/dot_git +++ /dev/null @@ -1 +0,0 @@ -gitdir: ../../../../.git/modules/Waybar Catppuccin Theme diff --git a/config/waybar/themes/catppuccin/themes/frappe.css b/config/waybar/themes/catppuccin/themes/frappe.css deleted file mode 100644 index 18520fb..0000000 --- a/config/waybar/themes/catppuccin/themes/frappe.css +++ /dev/null @@ -1,37 +0,0 @@ -/* -* -* Catppuccin Frappe palette -* Maintainer: rubyowo -* -*/ - -@define-color base #303446; -@define-color mantle #292c3c; -@define-color crust #232634; - -@define-color text #c6d0f5; -@define-color subtext0 #a5adce; -@define-color subtext1 #b5bfe2; - -@define-color surface0 #414559; -@define-color surface1 #51576d; -@define-color surface2 #626880; - -@define-color overlay0 #737994; -@define-color overlay1 #838ba7; -@define-color overlay2 #949cbb; - -@define-color blue #8caaee; -@define-color lavender #babbf1; -@define-color sapphire #85c1dc; -@define-color sky #99d1db; -@define-color teal #81c8be; -@define-color green #a6d189; -@define-color yellow #e5c890; -@define-color peach #ef9f76; -@define-color maroon #ea999c; -@define-color red #e78284; -@define-color mauve #ca9ee6; -@define-color pink #f4b8e4; -@define-color flamingo #eebebe; -@define-color rosewater #f2d5cf; diff --git a/config/waybar/themes/catppuccin/themes/latte.css b/config/waybar/themes/catppuccin/themes/latte.css deleted file mode 100644 index 085cc3e..0000000 --- a/config/waybar/themes/catppuccin/themes/latte.css +++ /dev/null @@ -1,37 +0,0 @@ -/* -* -* Catppuccin Latte palette -* Maintainer: rubyowo -* -*/ - -@define-color base #eff1f5; -@define-color mantle #e6e9ef; -@define-color crust #dce0e8; - -@define-color text #4c4f69; -@define-color subtext0 #6c6f85; -@define-color subtext1 #5c5f77; - -@define-color surface0 #ccd0da; -@define-color surface1 #bcc0cc; -@define-color surface2 #acb0be; - -@define-color overlay0 #9ca0b0; -@define-color overlay1 #8c8fa1; -@define-color overlay2 #7c7f93; - -@define-color blue #1e66f5; -@define-color lavender #7287fd; -@define-color sapphire #209fb5; -@define-color sky #04a5e5; -@define-color teal #179299; -@define-color green #40a02b; -@define-color yellow #df8e1d; -@define-color peach #fe640b; -@define-color maroon #e64553; -@define-color red #d20f39; -@define-color mauve #8839ef; -@define-color pink #ea76cb; -@define-color flamingo #dd7878; -@define-color rosewater #dc8a78; diff --git a/config/waybar/themes/catppuccin/themes/macchiato.css b/config/waybar/themes/catppuccin/themes/macchiato.css deleted file mode 100644 index 6880473..0000000 --- a/config/waybar/themes/catppuccin/themes/macchiato.css +++ /dev/null @@ -1,37 +0,0 @@ -/* -* -* Catppuccin Macchiato palette -* Maintainer: rubyowo -* -*/ - -@define-color base #24273a; -@define-color mantle #1e2030; -@define-color crust #181926; - -@define-color text #cad3f5; -@define-color subtext0 #a5adcb; -@define-color subtext1 #b8c0e0; - -@define-color surface0 #363a4f; -@define-color surface1 #494d64; -@define-color surface2 #5b6078; - -@define-color overlay0 #6e738d; -@define-color overlay1 #8087a2; -@define-color overlay2 #939ab7; - -@define-color blue #8aadf4; -@define-color lavender #b7bdf8; -@define-color sapphire #7dc4e4; -@define-color sky #91d7e3; -@define-color teal #8bd5ca; -@define-color green #a6da95; -@define-color yellow #eed49f; -@define-color peach #f5a97f; -@define-color maroon #ee99a0; -@define-color red #ed8796; -@define-color mauve #c6a0f6; -@define-color pink #f5bde6; -@define-color flamingo #f0c6c6; -@define-color rosewater #f4dbd6; diff --git a/config/waybar/themes/catppuccin/themes/mocha.css b/config/waybar/themes/catppuccin/themes/mocha.css deleted file mode 100644 index 98e218a..0000000 --- a/config/waybar/themes/catppuccin/themes/mocha.css +++ /dev/null @@ -1,37 +0,0 @@ -/* -* -* Catppuccin Mocha palette -* Maintainer: rubyowo -* -*/ - -@define-color base #1e1e2e; -@define-color mantle #181825; -@define-color crust #11111b; - -@define-color text #cdd6f4; -@define-color subtext0 #a6adc8; -@define-color subtext1 #bac2de; - -@define-color surface0 #313244; -@define-color surface1 #45475a; -@define-color surface2 #585b70; - -@define-color overlay0 #6c7086; -@define-color overlay1 #7f849c; -@define-color overlay2 #9399b2; - -@define-color blue #89b4fa; -@define-color lavender #b4befe; -@define-color sapphire #74c7ec; -@define-color sky #89dceb; -@define-color teal #94e2d5; -@define-color green #a6e3a1; -@define-color yellow #f9e2af; -@define-color peach #fab387; -@define-color maroon #eba0ac; -@define-color red #f38ba8; -@define-color mauve #cba6f7; -@define-color pink #f5c2e7; -@define-color flamingo #f2cdcd; -@define-color rosewater #f5e0dc; diff --git a/config/zk/config.toml b/config/zk/config.toml deleted file mode 100644 index e97936f..0000000 --- a/config/zk/config.toml +++ /dev/null @@ -1,205 +0,0 @@ -# zk configuration file -# -# Uncomment the properties you want to customize. - -# NOTE SETTINGS -# -# Defines the default options used when generating new notes. -[note] - -# Language used when writing notes. -# This is used to generate slugs or with date formats. -#language = "en" - -# The default title used for new note, if no `--title` flag is provided. -#default-title = "Untitled" - -# Template used to generate a note's filename, without extension. -filename = "{{slug title}}" - -# The file extension used for the notes. -#extension = "md" - -# Template used to generate a note's content. -# If not an absolute path, it is relative to .zk/templates/ -template = "default.md" - -# Path globs ignored while indexing existing notes. -#ignore = [ -# "drafts/*", -# "log.md" -#] - -# Configure random ID generation. - -# The charset used for random IDs. You can use: -# * letters: only letters from a to z. -# * numbers: 0 to 9 -# * alphanum: letters + numbers -# * hex: hexadecimal, from a to f and 0 to 9 -# * custom string: will use any character from the provided value -#id-charset = "alphanum" - -# Length of the generated IDs. -id-length = 8 - -# Letter case for the random IDs, among lower, upper or mixed. -#id-case = "lower" - - -# EXTRA VARIABLES -# -# A dictionary of variables you can use for any custom values when generating -# new notes. They are accessible in templates with {{extra.}} -[extra] - -#key = "value" - - -# GROUP OVERRIDES -# -# You can override global settings from [note] and [extra] for a particular -# group of notes by declaring a [group.""] section. -# -# Specify the list of directories which will automatically belong to the group -# with the optional `paths` property. -# -# Omitting `paths` is equivalent to providing a single path equal to the name of -# the group. This can be useful to quickly declare a group by the name of the -# directory it applies to. - -#[group.""] -#paths = ["", ""] -#[group."".note] -#filename = "{{format-date now}}" -#[group."".extra] -#key = "value" - - -# MARKDOWN SETTINGS -[format.markdown] - -# Format used to generate links between notes. -# Either "wiki", "markdown" or a custom template. Default is "markdown". -link-format = "wiki" -# Indicates whether a link's path will be percent-encoded. -# Defaults to true for "markdown" format and false for "wiki" format. -#link-encode-path = true -# Indicates whether a link's path file extension will be removed. -# Defaults to true. -#link-drop-extension = true - -# Enable support for #hashtags. -hashtags = true -# Enable support for :colon:separated:tags:. -colon-tags = false -# Enable support for Bear's #multi-word tags# -# Hashtags must be enabled for multi-word tags to work. -multiword-tags = false - - -# EXTERNAL TOOLS -[tool] - -# Default editor used to open notes. When not set, the EDITOR or VISUAL -# environment variables are used. -#editor = "vim" - -# Pager used to scroll through long output. If you want to disable paging -# altogether, set it to an empty string "". -#pager = "less -FIRX" - -fzf-line = "{{style 'title' title}}{{#each tags}} #{{this}}{{/each}}" -fzf-preview = "bat -p --color always --style header,grid {-1}" -fzf-bind-new = "" -fzf-options = """ - --layout reverse - --height 100% - --no-hscroll - --preview-window down,wrap,border-none,70% - --header "C-A: New note in root with query as slug\nC-N: New note respecting query path" - --bind "ctrl-n:abort+execute(mkdir -p $(dirname '{q}') && zk new $(dirname '{q}') --title $(basename '{q}'))" - --bind "ctrl-a:abort+execute(mkdir -p $(dirname '{q}') && zk new $(dirname '{q}') --title $(basename '{q}'))" -""" - - -# LSP -# -# Configure basic editor integration for LSP-compatible editors. -# See https://github.com/zk-org/zk/blob/main/docs/editors-integration.md -# -[lsp] - -[lsp.diagnostics] -# Each diagnostic can have for value: none, hint, info, warning, error - -# Report titles of wiki-links as hints. -# wiki-title = "hint" -# Warn for dead links between notes. -dead-link = "error" - -[lsp.completion] -# Customize the completion pop-up of your LSP client. - -# Show the note title in the completion pop-up, or fallback on its path if empty. -#note-label = "" -# Filter out the completion pop-up using the note title or its path. -#note-filter-text = " " -# Show the note filename without extension as detail. -#note-detail = "" - - -# NAMED FILTERS -# -# A named filter is a set of note filtering options used frequently together. -# -[filter] - -# Matches the notes created the last two weeks. For example: -# $ zk list recents --limit 15 -# $ zk edit recents --interactive -#recents = "--sort created- --created-after 'last two weeks'" - - -# COMMAND ALIASES -# -# Aliases are user commands called with `zk [] []`. -# -# The alias will be executed with `$SHELL -c`, please refer to your shell's -# man page to see the available syntax. In most shells: -# * $@ can be used to expand all the provided flags and arguments -# * you can pipe commands together with the usual | character -# -[alias] -# Here are a few aliases to get you started. - -# Shortcut to a command. -ls = "zk list --interactive --sort path+ $@" - -e = "zk edit --interactive --sort path+ $@" - -# Default flags for an existing command. -#list = "zk list --quiet $@" - -# Edit the last modified note. -#editlast = "zk edit --limit 1 --sort modified- $@" - -# Edit the notes selected interactively among the notes created the last two weeks. -# This alias doesn't take any argument, so we don't use $@. -#recent = "zk edit --sort created- --created-after 'last two weeks' --interactive" - -# Print paths separated with colons for the notes found with the given -# arguments. This can be useful to expand a complex search query into a flag -# taking only paths. For example: -# zk list --link-to "`zk path -m potatoe`" -#path = "zk list --quiet --format {{path}} --delimiter , $@" - -# Show a random note. -#lucky = "zk list --quiet --format full --sort random --limit 1" - -# Returns the Git history for the notes found with the given arguments. -# Note the use of a pipe and the location of $@. -#hist = "zk list --format path --delimiter0 --quiet $@ | xargs -t -0 git log --patch --" - -# Edit this configuration file. -#conf = '$EDITOR "$ZK_NOTEBOOK_DIR/.zk/config.toml"' diff --git a/exports/Gnome Extensions b/exports/Gnome Extensions deleted file mode 100644 index 26b4723..0000000 --- a/exports/Gnome Extensions +++ /dev/null @@ -1 +0,0 @@ -{"extensions":{"vertical-workspaces@G-dH.github.com":{"/org/gnome/shell/extensions/vertical-workspaces/":"[/]\ncenter-app-grid=true\ncenter-dash-to-ws=false\ncenter-search=true\ndash-position=0\nfix-ubuntu-dock=true\noverview-bg-blur-sigma=20\noverview-mode=0\nshow-bg-in-overview=false\nshow-search-entry=true\nshow-ws-preview-bg=true\nshow-ws-switcher-bg=false\nshow-wst-labels=0\nstartup-state=1\nworkspace-animation=0\nws-thumbnails-position=2"},"easy_docker_containers@red.software.systems":{"/red/software/systems/easy_docker_containers/":""},"user-theme@gnome-shell-extensions.gcampax.github.com":{"/org/gnome/shell/extensions/user-theme/":"[/]\nname='Catppuccin-Macchiato-Standard-Teal-Dark'"},"gnome-shell-go-to-last-workspace@github.com":{"/org/gnome/shell/extensions/go-to-last-workspace/":"[/]\nshortcut-key=['bar']"},"widgets@aylur":{"/org/gnome/shell/extensions/aylurs-widgets/":"[/]\nbackground-clock=false\nbattery-bar=false\ndash-app-icon-size=46\ndash-apps-cols=5\ndash-apps-rows=5\ndash-board=true\ndash-button-enable=true\ndash-button-label=''\ndash-button-show-icon=false\ndash-hide-activities=true\ndash-layout=0\ndash-levels-show-battery=false\ndash-levels-show-storage=false\ndash-link-names=['reddit', 'youtube', 'gmail', 'twitter', 'github']\ndash-link-urls=['https://www.reddit.com/', 'https://www.youtube.com/', 'https://www.gmail.com/', 'https://twitter.com/', 'https://www.github.com/']\ndash-shortcut=['Escape']\ndate-menu-date-format='%I:%M - %d de %b'\ndate-menu-hide-notifications=true\ndate-menu-hide-stock-mpris=true\ndate-menu-indicator-position=2\ndate-menu-mirror=false\ndate-menu-offset=0\ndate-menu-position=1\ndate-menu-remove-padding=true\ndate-menu-show-clocks=false\ndate-menu-show-media=false\ndate-menu-show-system-levels=false\ndate-menu-show-user=false\ndate-menu-show-weather=false\ndate-menu-tweaks=true\nmedia-player-cover-height=70\nmedia-player-cover-width=70\nmedia-player-enable-controls=false\nmedia-player-enable-track=true\nmedia-player-offset=1\nmedia-player-position=1\nmedia-player-show-volume=false\nmedia-player-style=2\nnotification-indicator=false\npower-menu=false\nquick-settings-adjust-roundness=true\nquick-settings-show-media=false\nquick-settings-show-notifications=true\nquick-settings-show-system-levels=false\nquick-settings-style=2\nworkspace-indicator-offset=2\nworkspace-indicator-show-names=false"},"floating-panel@aylur":{}},"keybindings":{"/org/gnome/mutter/keybindings/":"","/org/gnome/mutter/wayland/keybindings/":"","/org/gnome/shell/keybindings/":"","/org/gnome/desktop/wm/keybindings/":"[/]\nalways-on-top=['t']\nclose=['F4', 'q']\nminimize=['z']\nmove-to-workspace-1=['1']\nmove-to-workspace-10=['0']\nmove-to-workspace-11=@as []\nmove-to-workspace-2=['2']\nmove-to-workspace-3=['3']\nmove-to-workspace-4=['4']\nmove-to-workspace-5=['5']\nmove-to-workspace-6=['6']\nmove-to-workspace-7=['7']\nmove-to-workspace-8=['8']\nmove-to-workspace-9=['9']\nswitch-applications=@as []\nswitch-applications-backward=@as []\nswitch-group=@as []\nswitch-group-backward=@as []\nswitch-to-workspace-1=['1']\nswitch-to-workspace-10=['0']\nswitch-to-workspace-2=['2']\nswitch-to-workspace-3=['3']\nswitch-to-workspace-4=['4']\nswitch-to-workspace-5=['5']\nswitch-to-workspace-6=['6']\nswitch-to-workspace-7=['7']\nswitch-to-workspace-8=['8']\nswitch-to-workspace-9=['9']\nswitch-to-workspace-down=['Down', 'KP_Down', 'u']\nswitch-to-workspace-up=['Up', 'KP_Up', 'i']\nswitch-windows=['Tab']\nswitch-windows-backward=['Tab']\ntoggle-on-all-workspaces=['p']","/org/gnome/settings-daemon/plugins/media-keys/":"[/]\ncustom-keybindings=['/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/']\nemail=@as []\nhelp=@as []\nhome=@as []\nwww=@as []\n\n[custom-keybindings/custom0]\nbinding='Return'\ncommand='gnome-terminal'\nname='Launch Terminal'"},"tweaks":{"/org/gnome/desktop/background/":"","/org/gnome/desktop/calendar/":"","/org/gnome/desktop/input-sources/":"[/]\nshow-all-sources=false\nsources=[('xkb', 'latam')]\nxkb-options=@as []","/org/gnome/desktop/interface/":"[/]\ncolor-scheme='prefer-dark'\ncursor-size=32\ncursor-theme='Catppuccin-Macchiato-Teal-Cursors'\nenable-animations=true\nfont-antialiasing='grayscale'\nfont-hinting='slight'\ngtk-theme='Catppuccin-Macchiato-Standard-Teal-Dark'\nicon-theme='Papirus-Dark'\ntoolkit-accessibility=false","/org/gnome/desktop/peripherals/":"[keyboard]\nnumlock-state=true\nremember-numlock-state=true\n\n[mouse]\nspeed=0.68141592920353977\n\n[touchpad]\ntwo-finger-scrolling-enabled=true","/org/gnome/desktop/screensaver/":"[/]\npicture-uri='file:///usr/share/backgrounds/gnome/drool-l.svg'","/org/gnome/desktop/sound/":"[/]\nallow-volume-above-100-percent=true\nevent-sounds=true\ntheme-name='__custom'","/org/gnome/desktop/wm/preferences/":"[/]\nnum-workspaces=10\nresize-with-right-button=true\nworkspace-names=@as []","/org/gnome/mutter/":"[/]\ndynamic-workspaces=false\nedge-tiling=true\nexperimental-features=['scale-monitor-framebuffer', 'x11-randr-fractional-scaling']\noverlay-key='Super_L'","/org/gnome/settings-daemon/plugins/xsettings/":""}} \ No newline at end of file diff --git a/exports/flatpak-apps.txt b/exports/flatpak-apps.txt deleted file mode 100644 index ddde01c..0000000 --- a/exports/flatpak-apps.txt +++ /dev/null @@ -1,19 +0,0 @@ -com.brave.Browser -com.github.iwalton3.jellyfin-media-player -com.github.qarmin.czkawka -com.github.tchx84.Flatseal -com.hunterwittenborn.Celeste -com.neatdecisions.Detwinner -com.slack.Slack -com.spotify.Client -in.srev.guiscrcpy -io.bassi.Amberol -io.beekeeperstudio.Studio -io.github.realmazharhussain.GdmSettings -io.gitlab.librewolf-community -me.kozec.syncthingtk -nz.mega.MEGAsync -org.gnome.World.PikaBackup -org.kde.kid3 -org.signal.Signal -re.sonny.Junction diff --git a/exports/gnome-minimal.json b/exports/gnome-minimal.json deleted file mode 100644 index d0a36a0..0000000 --- a/exports/gnome-minimal.json +++ /dev/null @@ -1 +0,0 @@ -{"extensions":{"just-perfection-desktop@just-perfection":{"/org/gnome/shell/extensions/just-perfection/":""},"dash-to-dock@micxgx.gmail.com":{"/org/gnome/shell/extensions/dash-to-dock/":"[/]\napply-custom-theme=true\nbackground-opacity=0.80000000000000004\ncustom-theme-shrink=false\ndash-max-icon-size=48\ndisable-overview-on-startup=true\ndock-position='RIGHT'\nheight-fraction=0.90000000000000002\nhot-keys=false\npreferred-monitor=-2\npreferred-monitor-by-connector='eDP-1'"},"caffeine@patapon.info":{"/org/gnome/shell/extensions/caffeine/":"[/]\nindicator-position-max=1"},"arcmenu@arcmenu.com":{"/org/gnome/shell/extensions/arcmenu/":"[/]\ncontext-menu-shortcuts=[['', '', 'org.gnome.Extensions.desktop'], ['ArcMenu Settings', '/home/aleidk/.local/share/gnome-shell/extensions/arcmenu@arcmenu.com/icons/arcmenu-logo-symbolic.svg', 'ArcMenu_Settings'], ['Panel Extension Settings', 'application-x-addon-symbolic', 'ArcMenu_PanelExtensionSettings'], ['Separator', 'list-remove-symbolic', 'ArcMenu_Separator'], ['Power Options', 'system-shutdown-symbolic', 'ArcMenu_PowerOptions'], ['Activities Overview', 'view-fullscreen-symbolic', 'ArcMenu_ActivitiesOverview'], ['Show Desktop', 'computer-symbolic', 'ArcMenu_ShowDesktop']]\nenable-menu-hotkey=false\nenable-standlone-runner-menu=true\nhide-overview-on-startup=true\nmenu-background-color='rgba(48,48,49,0.98)'\nmenu-border-color='rgb(60,60,60)'\nmenu-button-appearance='Icon'\nmenu-foreground-color='rgb(223,223,223)'\nmenu-item-active-bg-color='rgb(25,98,163)'\nmenu-item-active-fg-color='rgb(255,255,255)'\nmenu-item-hover-bg-color='rgb(21,83,158)'\nmenu-item-hover-fg-color='rgb(255,255,255)'\nmenu-layout='Elementary'\nmenu-separator-color='rgba(255,255,255,0.1)'\nprefs-visible-page=0\nrunner-menu-custom-hotkey=['d']\nrunner-position='Centered'\nrunner-search-display-style='List'\nrunner-show-frequent-apps=true\nsearch-entry-border-radius=(true, 25)"},"appindicatorsupport@rgcjonas.gmail.com":{"/org/gnome/shell/extensions/appindicator/":""},"gnome-shell-go-to-last-workspace@github.com":{"/org/gnome/shell/extensions/go-to-last-workspace/":"[/]\nshortcut-key=['bar']"},"easy_docker_containers@red.software.systems":{"/red/software/systems/easy_docker_containers/":""}},"keybindings":{"/org/gnome/mutter/keybindings/":"[/]\ntoggle-tiled-left=['h']\ntoggle-tiled-right=['l']","/org/gnome/mutter/wayland/keybindings/":"","/org/gnome/shell/keybindings/":"[/]\nfocus-active-notification=@as []\nscreenshot=['Print']\nswitch-to-application-1=@as []\nswitch-to-application-2=@as []\nswitch-to-application-3=@as []\nswitch-to-application-4=@as []\nswitch-to-application-5=@as []\nswitch-to-application-6=@as []\nswitch-to-application-7=@as []\nswitch-to-application-8=@as []\nswitch-to-application-9=@as []\ntoggle-message-tray=@as []","/org/gnome/desktop/wm/keybindings/":"[/]\nclose=['q']\nmaximize=@as []\nminimize=['n']\nmove-to-workspace-1=['1']\nmove-to-workspace-10=['0']\nmove-to-workspace-2=['2']\nmove-to-workspace-3=['3']\nmove-to-workspace-4=['4']\nmove-to-workspace-5=['5']\nmove-to-workspace-6=['6']\nmove-to-workspace-7=['7']\nmove-to-workspace-8=['8']\nmove-to-workspace-9=['9']\nswitch-applications=@as []\nswitch-applications-backward=@as []\nswitch-group=@as []\nswitch-to-workspace-1=['1']\nswitch-to-workspace-10=['0']\nswitch-to-workspace-2=['2']\nswitch-to-workspace-3=['3']\nswitch-to-workspace-4=['4']\nswitch-to-workspace-5=['5']\nswitch-to-workspace-6=['6']\nswitch-to-workspace-7=['7']\nswitch-to-workspace-8=['8']\nswitch-to-workspace-9=['9']\nswitch-windows=['Tab', 'Tab']\nswitch-windows-backward=['Tab', 'Tab']\ntoggle-fullscreen=['f']\ntoggle-maximized=['m']\ntoggle-on-all-workspaces=['p']","/org/gnome/settings-daemon/plugins/media-keys/":"[/]\ncustom-keybindings=['/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/']\non-screen-keyboard=['F11']\nscreensaver=@as []\n\n[custom-keybindings/custom0]\nbinding='Return'\ncommand='alacritty'\nname='Terminal'"},"tweaks":{"/org/gnome/desktop/background/":"[/]\npicture-options='zoom'\npicture-uri='/home/aleidk/.config/background'\npicture-uri-dark='/home/aleidk/.config/background'","/org/gnome/desktop/calendar/":"","/org/gnome/desktop/input-sources/":"[/]\ncurrent=uint32 0\nsources=[('xkb', 'latam')]\nxkb-options=['terminate:ctrl_alt_bksp', 'caps:escape']","/org/gnome/desktop/interface/":"[/]\ncolor-scheme='prefer-dark'\ncursor-theme='Catppuccin-Macchiato-Teal-Cursors'\nenable-animations=true\nfont-antialiasing='grayscale'\nfont-hinting='slight'\ngtk-theme='Catppuccin-Macchiato-Teal-Dark'\nlocate-pointer=false\nshow-battery-percentage=true\ntoolkit-accessibility=false","/org/gnome/desktop/peripherals/":"[stylus/9f0f8ae3]\neraser-pressure-curve=[0, 0, 100, 100]\npressure-curve=[0, 0, 100, 100]\n\n[touchpad]\ntap-to-click=true\ntwo-finger-scrolling-enabled=true","/org/gnome/desktop/screensaver/":"","/org/gnome/desktop/sound/":"","/org/gnome/desktop/wm/preferences/":"[/]\nnum-workspaces=6","/org/gnome/mutter/":"[/]\noverlay-key='Super_L'\n\n[keybindings]\ntoggle-tiled-left=['h']\ntoggle-tiled-right=['l']","/org/gnome/settings-daemon/plugins/xsettings/":""}} \ No newline at end of file