From 2bba7045ef1453648b6515f2ee005ff5d0bb16fa Mon Sep 17 00:00:00 2001 From: Amy Retzerau Date: Mon, 23 Feb 2026 14:35:46 +0100 Subject: [PATCH 01/11] feat: added xieves dotfiles as sub --- .config/xieves-dotfiles | 1 + .gitmodules | 3 +++ 2 files changed, 4 insertions(+) create mode 160000 .config/xieves-dotfiles diff --git a/.config/xieves-dotfiles b/.config/xieves-dotfiles new file mode 160000 index 0000000..1555dea --- /dev/null +++ b/.config/xieves-dotfiles @@ -0,0 +1 @@ +Subproject commit 1555dea674f8c8ac7f8931199b8de56d0c66c1b4 diff --git a/.gitmodules b/.gitmodules index a6da8cf..f97faf3 100644 --- a/.gitmodules +++ b/.gitmodules @@ -10,3 +10,6 @@ [submodule ".ohmyzsh"] path = .ohmyzsh url = https://github.com/ohmyzsh/ohmyzsh.git +[submodule ".config/xieves-dotfiles"] + path = .config/xieves-dotfiles + url = https://gitlab.com/xieve/dotfiles From fdea1f727071f2e2c22b81d65adebaefa25f6c42 Mon Sep 17 00:00:00 2001 From: Amy Retzerau Date: Mon, 23 Feb 2026 14:40:01 +0100 Subject: [PATCH 02/11] feat: inlay hints for ts and more LSPs --- .config/nvim/init.lua | 11 +++++++++- .config/nvim/lsp/ts_ls.lua | 29 +++++++++++++++++++++++++ .config/nvim/lua/plugins/lsp.lua | 13 +++++++++-- .config/nvim/lua/plugins/treesitter.lua | 2 +- 4 files changed, 51 insertions(+), 4 deletions(-) create mode 100644 .config/nvim/lsp/ts_ls.lua diff --git a/.config/nvim/init.lua b/.config/nvim/init.lua index 8081414..75a3083 100644 --- a/.config/nvim/init.lua +++ b/.config/nvim/init.lua @@ -15,6 +15,15 @@ vim.filetype.add({extension = {svx = "markdown"}}) vim.cmd('syntax enable') vim.cmd('filetype plugin indent on') -require("config.lazy") +require("config.lazy") --vim.cmd[[colorscheme tokyonight]] + +vim.api.nvim_create_user_command( + "Inlay", + function() + vim.lsp.inlay_hint.enable(not vim.lsp.inlay_hint.is_enabled()) + end, + {desc = 'Toggles Inlay Hints'} +) + diff --git a/.config/nvim/lsp/ts_ls.lua b/.config/nvim/lsp/ts_ls.lua new file mode 100644 index 0000000..5a28926 --- /dev/null +++ b/.config/nvim/lsp/ts_ls.lua @@ -0,0 +1,29 @@ +return { + settings = { + typescript = { + inlayHints = { + includeInlayParameterNameHints = "all", + includeInlayParameterNameHintsWhenArgumentMatchesName = true, + includeInlayFunctionParameterTypeHints = true, + includeInlayVariableTypeHints = true, + includeInlayVariableTypeHintsWhenTypeMatchesName = true, + includeInlayPropertyDeclarationTypeHints = true, + includeInlayFunctionLikeReturnTypeHints = true, + includeInlayEnumMemberValueHints = true, + }, + }, + javascript = { + inlayHints = { + includeInlayParameterNameHints = "all", + includeInlayParameterNameHintsWhenArgumentMatchesName = true, + includeInlayFunctionParameterTypeHints = true, + includeInlayVariableTypeHints = true, + includeInlayVariableTypeHintsWhenTypeMatchesName = true, + includeInlayPropertyDeclarationTypeHints = true, + includeInlayFunctionLikeReturnTypeHints = true, + includeInlayEnumMemberValueHints = true, + }, + }, + } +} + diff --git a/.config/nvim/lua/plugins/lsp.lua b/.config/nvim/lua/plugins/lsp.lua index fa9eaad..3b498f2 100644 --- a/.config/nvim/lua/plugins/lsp.lua +++ b/.config/nvim/lua/plugins/lsp.lua @@ -1,3 +1,4 @@ + return { { @@ -18,7 +19,12 @@ return { { "williamboman/mason-lspconfig.nvim", opts = { - ensure_installed = { "clangd" }, + ensure_installed = { + "svelte", + "clangd", + "ts_ls", + "pyright" + }, }, dependencies = { { "mason-org/mason.nvim", opts = {} }, @@ -34,6 +40,7 @@ return { { name = 'path' }, } }, + event = "InsertEnter", dependencies = { {'L3MON4D3/LuaSnip'}, {'hrsh7th/cmp-buffer'}, @@ -47,13 +54,14 @@ return { -- Define your formatters formatters_by_ft = { cpp = { "clang-format" }, + python = {"black"} }, -- Set default options default_format_opts = { lsp_format = "fallback", }, -- Set up format-on-save - format_on_save = { timeout_ms = 500 }, + format_on_save = { timeout_ms = 1000 }, -- Customize formatters formatters = { ['clang-format'] = { @@ -65,3 +73,4 @@ return { }, } } + diff --git a/.config/nvim/lua/plugins/treesitter.lua b/.config/nvim/lua/plugins/treesitter.lua index 0b48c5d..cd48506 100644 --- a/.config/nvim/lua/plugins/treesitter.lua +++ b/.config/nvim/lua/plugins/treesitter.lua @@ -11,7 +11,7 @@ return{ local configs = require("nvim-treesitter.configs") configs.setup({ - ensure_installed = { "c", "cpp", "lua", "vim", "vimdoc", "query", "elixir", "heex", "javascript", "html" }, + ensure_installed = { "c", "cpp","haskell", "lua","svelte","python", "vim", "vimdoc", "query", "elixir", "heex", "javascript", "html" }, sync_install = false, highlight = { enable = true }, indent = { enable = true }, From 5b298dac0143ead1e093c10f4998eb046e459087 Mon Sep 17 00:00:00 2001 From: Amy Retzerau Date: Mon, 23 Feb 2026 22:04:31 +0100 Subject: [PATCH 03/11] fix: adapted new treesitter api --- .config/nvim/lua/plugins/treesitter.lua | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.config/nvim/lua/plugins/treesitter.lua b/.config/nvim/lua/plugins/treesitter.lua index cd48506..998480b 100644 --- a/.config/nvim/lua/plugins/treesitter.lua +++ b/.config/nvim/lua/plugins/treesitter.lua @@ -8,9 +8,9 @@ return{ }, config = function () - local configs = require("nvim-treesitter.configs") + local treesitter = require("nvim-treesitter") - configs.setup({ + treesitter.setup({ ensure_installed = { "c", "cpp","haskell", "lua","svelte","python", "vim", "vimdoc", "query", "elixir", "heex", "javascript", "html" }, sync_install = false, highlight = { enable = true }, From 48353fab32185b52690e504ac2a91a2de6c1a6af Mon Sep 17 00:00:00 2001 From: Amy Retzerau Date: Mon, 23 Feb 2026 22:13:46 +0100 Subject: [PATCH 04/11] feat: added tmux conf --- .tmux.conf | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 .tmux.conf diff --git a/.tmux.conf b/.tmux.conf new file mode 100644 index 0000000..78ae9bb --- /dev/null +++ b/.tmux.conf @@ -0,0 +1,3 @@ +set -g history-limit 30000 +set -g mouse on +set -g allow-passthrough on From bb89997e23cee59a77f079b12d014d64efb05764 Mon Sep 17 00:00:00 2001 From: Amy Retzerau Date: Mon, 23 Feb 2026 22:14:19 +0100 Subject: [PATCH 05/11] fix: removed fish from bashrc --- .bashrc | 5 ----- 1 file changed, 5 deletions(-) diff --git a/.bashrc b/.bashrc index 1985b42..31ccb19 100644 --- a/.bashrc +++ b/.bashrc @@ -4,11 +4,6 @@ # If not running interactively, don't do anything [[ $- != *i* ]] && return -if [[ $(ps --no-header --pid=$PPID --format=comm) != "fish" && -z ${BASH_EXECUTION_STRING} && ${SHLVL} == 1 ]] -then - shopt -q login_shell && LOGIN_OPTION='--login' || LOGIN_OPTION='' - exec fish $LOGIN_OPTION -fi alias ls='ls --color=auto' alias grep='grep --color=auto' From 7cb5b2d4b62baedba5ca7e44c23521ff952e2458 Mon Sep 17 00:00:00 2001 From: Amy Retzerau Date: Sun, 8 Mar 2026 10:37:07 +0100 Subject: [PATCH 06/11] feat: migrated plugin manager from lazy to vim.pack --- .config/nvim/init.lua | 48 +++++++---- .config/nvim/lua/config/lazy.lua | 35 -------- .config/nvim/lua/plugins/conform.lua | 24 ++++++ .config/nvim/lua/plugins/lsp.lua | 95 +++++----------------- .config/nvim/lua/plugins/nvim-neo-tree.lua | 21 ++--- .config/nvim/lua/plugins/rose-pine.lua | 27 +++--- .config/nvim/lua/plugins/treesitter.lua | 27 ++---- .config/nvim/nvim-pack-lock.json | 44 ++++++++++ 8 files changed, 155 insertions(+), 166 deletions(-) delete mode 100644 .config/nvim/lua/config/lazy.lua create mode 100644 .config/nvim/lua/plugins/conform.lua create mode 100644 .config/nvim/nvim-pack-lock.json diff --git a/.config/nvim/init.lua b/.config/nvim/init.lua index 75a3083..9705ad0 100644 --- a/.config/nvim/init.lua +++ b/.config/nvim/init.lua @@ -1,29 +1,47 @@ -- Basic settings -vim.o.number = true -- Enable line numbers +vim.o.number = true -- Enable line numbers vim.o.relativenumber = true -- Enable relative line numbers -vim.o.tabstop = 4 -- Number of spaces a tab represents -vim.o.shiftwidth = 4 -- Number of spaces for each indentation -vim.o.expandtab = true -- Convert tabs to spaces -vim.o.smartindent = true -- Automatically indent new lines -vim.o.wrap = false -- Disable line wrapping -vim.o.cursorline = true -- Highlight the current line -vim.o.termguicolors = true -- Enable 24-bit RGB colors +vim.o.tabstop = 4 -- Number of spaces a tab represents +vim.o.shiftwidth = 4 -- Number of spaces for each indentation +vim.o.expandtab = true -- Convert tabs to spaces +vim.o.smartindent = true -- Automatically indent new lines +vim.o.wrap = false -- Disable line wrapping +vim.o.cursorline = true -- Highlight the current line +vim.o.termguicolors = true -- Enable 24-bit RGB colors vim.o.clipboard = "unnamedplus" -vim.filetype.add({extension = {svx = "markdown"}}) +vim.filetype.add({ extension = { svx = "markdown" } }) + +require('plugins.nvim-neo-tree') +require('plugins.rose-pine') +require('plugins.treesitter') +require('plugins.conform') +require('plugins.lsp') --- Syntax highlighting and filetype plugins vim.cmd('syntax enable') -vim.cmd('filetype plugin indent on') -require("config.lazy") ---vim.cmd[[colorscheme tokyonight]] - vim.api.nvim_create_user_command( "Inlay", function() vim.lsp.inlay_hint.enable(not vim.lsp.inlay_hint.is_enabled()) end, - {desc = 'Toggles Inlay Hints'} + { desc = 'Toggles Inlay Hints' } ) +vim.api.nvim_create_autocmd('LspAttach', { + callback = function(ev) + local client = vim.lsp.get_client_by_id(ev.data.client_id) + if client and client:supports_method(vim.lsp.protocol.Methods.textDocument_completion) then + vim.opt.completeopt = { 'menu', 'menuone', 'noinsert', 'fuzzy', 'popup' } + vim.lsp.completion.enable(true, client.id, ev.buf, { autotrigger = true }) + vim.keymap.set('i', '', function() + vim.lsp.completion.get() + end) + end + end, +}) +vim.diagnostic.config({ + virtual_lines = { + current_line = true, + }, +}) diff --git a/.config/nvim/lua/config/lazy.lua b/.config/nvim/lua/config/lazy.lua deleted file mode 100644 index 65ee338..0000000 --- a/.config/nvim/lua/config/lazy.lua +++ /dev/null @@ -1,35 +0,0 @@ --- Bootstrap lazy.nvim -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) - --- Make sure to setup `mapleader` and `maplocalleader` before --- loading lazy.nvim so that mappings are correct. --- This is also a good place to setup other settings (vim.opt) -vim.g.mapleader = " " -vim.g.maplocalleader = "\\" - --- Setup lazy.nvim -require("lazy").setup({ - spec = { - -- import your plugins - { import = "plugins" }, - }, - -- Configure any other settings here. See the documentation for more details. - -- colorscheme that will be used when installing plugins. - install = { colorscheme = {"tokyonight", "habamax" } }, - -- automatically check for plugin updates - checker = { enabled = true, notify = false }, -}) diff --git a/.config/nvim/lua/plugins/conform.lua b/.config/nvim/lua/plugins/conform.lua new file mode 100644 index 0000000..428cdf7 --- /dev/null +++ b/.config/nvim/lua/plugins/conform.lua @@ -0,0 +1,24 @@ +vim.pack.add({ + 'https://github.com/stevearc/conform.nvim' +}) + +require('conform').setup({ + formatters_by_ft = { + cpp = { "clang-format" }, + python = { "black" } + }, + -- Set default options + default_format_opts = { + lsp_format = "fallback", + }, + -- Set up format-on-save + format_on_save = { timeout_ms = 1000 }, + -- Customize formatters + formatters = { + ['clang-format'] = { + append_args = function(self, ctx) + return { "-style={IndentWidth: 4}" } + end, + }, + }, +}) diff --git a/.config/nvim/lua/plugins/lsp.lua b/.config/nvim/lua/plugins/lsp.lua index 3b498f2..1a71aa0 100644 --- a/.config/nvim/lua/plugins/lsp.lua +++ b/.config/nvim/lua/plugins/lsp.lua @@ -1,76 +1,25 @@ +vim.pack.add({ + 'https://github.com/neovim/nvim-lspconfig', + 'https://github.com/mason-org/mason.nvim', + 'https://github.com/mason-org/mason-lspconfig.nvim', +}) -return { - - { - "neovim/nvim-lspconfig", - }, - { - "mason-org/mason.nvim", - opts = { - ui = { - icons = { - package_installed = "✓", - package_pending = "➜", - package_uninstalled = "✗" - } - } +require('mason').setup({ + ui = { + icons = { + package_installed = "✓", + package_pending = "➜", + package_uninstalled = "✗" } - }, - { - "williamboman/mason-lspconfig.nvim", - opts = { - ensure_installed = { - "svelte", - "clangd", - "ts_ls", - "pyright" - }, - }, - dependencies = { - { "mason-org/mason.nvim", opts = {} }, - "neovim/nvim-lspconfig", - }, - }, - { - 'hrsh7th/nvim-cmp', - opts = { - sources = { - { name = 'nvim_lsp' }, - { name = 'buffer' }, - { name = 'path' }, - } - }, - event = "InsertEnter", - dependencies = { - {'L3MON4D3/LuaSnip'}, - {'hrsh7th/cmp-buffer'}, - {'hrsh7th/cmp-nvim-lsp'}, - {'saadparwaiz1/cmp_luasnip'}, - }, - }, - { - 'stevearc/conform.nvim', - opts = { - -- Define your formatters - formatters_by_ft = { - cpp = { "clang-format" }, - python = {"black"} - }, - -- Set default options - default_format_opts = { - lsp_format = "fallback", - }, - -- Set up format-on-save - format_on_save = { timeout_ms = 1000 }, - -- Customize formatters - formatters = { - ['clang-format'] = { - append_args = function(self, ctx) - return { "-style={IndentWidth: 4}" } - end, - }, - }, - }, } -} - +}) +require('mason-lspconfig').setup({ + ensure_installed = { + "svelte", + "clangd", + "ts_ls", + "pyright", + "lua_ls" + }, + automatic_enable = true, +}) diff --git a/.config/nvim/lua/plugins/nvim-neo-tree.lua b/.config/nvim/lua/plugins/nvim-neo-tree.lua index 8103f54..f1a81cf 100644 --- a/.config/nvim/lua/plugins/nvim-neo-tree.lua +++ b/.config/nvim/lua/plugins/nvim-neo-tree.lua @@ -1,10 +1,11 @@ -return { - "nvim-neo-tree/neo-tree.nvim", - branch = "v3.x", - dependencies = { - "nvim-lua/plenary.nvim", - "nvim-tree/nvim-web-devicons", -- not strictly required, but recommended - "MunifTanjim/nui.nvim", - {"3rd/image.nvim", opts = {}}, -- Optional image support in preview window: See `# Preview Mode` for more information - } -} +vim.pack.add({ + --Neo-Tree + 'https://github.com/MunifTanjim/nui.nvim', + 'https://github.com/nvim-lua/plenary.nvim', + "https://github.com/nvim-tree/nvim-web-devicons", + 'https://github.com/nvim-neo-tree/neo-tree.nvim', +}) + +require("neo-tree").setup({ + close_if_last_window = true, +}) diff --git a/.config/nvim/lua/plugins/rose-pine.lua b/.config/nvim/lua/plugins/rose-pine.lua index f850d40..deaff85 100644 --- a/.config/nvim/lua/plugins/rose-pine.lua +++ b/.config/nvim/lua/plugins/rose-pine.lua @@ -1,17 +1,14 @@ -return { - "rose-pine/neovim", - name = "rose-pine", - - config = function() - local configs = require("rose-pine"); - configs.setup({ - variant = "moon", - styles = { - transparency = true; - } - }) +vim.pack.add({ + 'https://github.com/rose-pine/neovim', +}) - vim.cmd("colorscheme rose-pine") - end -} +require("rose-pine").setup({ + variant = "moon", + styles = { + transparency = true; + } +}) + + +vim.cmd[[colorscheme rose-pine]] diff --git a/.config/nvim/lua/plugins/treesitter.lua b/.config/nvim/lua/plugins/treesitter.lua index 998480b..2c65ae2 100644 --- a/.config/nvim/lua/plugins/treesitter.lua +++ b/.config/nvim/lua/plugins/treesitter.lua @@ -1,20 +1,11 @@ -return{ - "nvim-treesitter/nvim-treesitter", - build = ":TSUpdate", - dependencies = { - -- Automatically install LSPs and related tools to stdpath for Neovim - "williamboman/mason.nvim", - "williamboman/mason-lspconfig.nvim", - }, - config = function () +vim.pack.add({ + 'https://github.com/nvim-treesitter/nvim-treesitter' +}) - local treesitter = require("nvim-treesitter") +require('nvim-treesitter').setup({}) +require('nvim-treesitter').install( {'lua','rust', 'javascript', 'zig', "c","typescript", "cpp","haskell","svelte","python", "vim", "vimdoc", "html" }) - treesitter.setup({ - ensure_installed = { "c", "cpp","haskell", "lua","svelte","python", "vim", "vimdoc", "query", "elixir", "heex", "javascript", "html" }, - sync_install = false, - highlight = { enable = true }, - indent = { enable = true }, - }) - end - } +vim.api.nvim_create_autocmd('FileType', { + pattern = { 'python', 'lua' }, + callback = function() vim.treesitter.start() end, +}) diff --git a/.config/nvim/nvim-pack-lock.json b/.config/nvim/nvim-pack-lock.json new file mode 100644 index 0000000..44724f7 --- /dev/null +++ b/.config/nvim/nvim-pack-lock.json @@ -0,0 +1,44 @@ +{ + "plugins": { + "conform.nvim": { + "rev": "40dcec5555f960b0a04340d76eabdf4efe78599d", + "src": "https://github.com/stevearc/conform.nvim" + }, + "mason-lspconfig.nvim": { + "rev": "a324581a3c83fdacdb9804b79de1cbe00ce18550", + "src": "https://github.com/mason-org/mason-lspconfig.nvim" + }, + "mason.nvim": { + "rev": "44d1e90e1f66e077268191e3ee9d2ac97cc18e65", + "src": "https://github.com/mason-org/mason.nvim" + }, + "neo-tree.nvim": { + "rev": "9d6826582a3e8c84787bd7355df22a2812a1ad59", + "src": "https://github.com/nvim-neo-tree/neo-tree.nvim" + }, + "neovim": { + "rev": "cf2a288696b03d0934da713d66c6d71557b5c997", + "src": "https://github.com/rose-pine/neovim" + }, + "nui.nvim": { + "rev": "de740991c12411b663994b2860f1a4fd0937c130", + "src": "https://github.com/MunifTanjim/nui.nvim" + }, + "nvim-lspconfig": { + "rev": "2163c54bb6cfec53e3e555665ada945b8c8331b9", + "src": "https://github.com/neovim/nvim-lspconfig" + }, + "nvim-treesitter": { + "rev": "5cb05e1b0fa3c469958a2b26f36b3fe930af221c", + "src": "https://github.com/nvim-treesitter/nvim-treesitter" + }, + "nvim-web-devicons": { + "rev": "737cf6c657898d0c697311d79d361288a1343d50", + "src": "https://github.com/nvim-tree/nvim-web-devicons" + }, + "plenary.nvim": { + "rev": "b9fd5226c2f76c951fc8ed5923d85e4de065e509", + "src": "https://github.com/nvim-lua/plenary.nvim" + } + } +} \ No newline at end of file From 43166f9f111eafda2350dc84a278f4f321b51688 Mon Sep 17 00:00:00 2001 From: Amy Retzerau Date: Sun, 8 Mar 2026 10:42:54 +0100 Subject: [PATCH 07/11] setup: added readme --- README.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..ec8a8e2 --- /dev/null +++ b/README.md @@ -0,0 +1,5 @@ +# Personal Dotfiles + +# Nvim + +As I'm using vim.pack for plugin managing, nvim >= 12.0 is required. From 5f83f33abc2757b2a4a15f4cc2c350504fd14f9e Mon Sep 17 00:00:00 2001 From: Amy Retzerau Date: Sun, 8 Mar 2026 10:56:26 +0100 Subject: [PATCH 08/11] setup: added luarc for nvim --- .config/nvim/.luarc.json | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 .config/nvim/.luarc.json diff --git a/.config/nvim/.luarc.json b/.config/nvim/.luarc.json new file mode 100644 index 0000000..ceb1818 --- /dev/null +++ b/.config/nvim/.luarc.json @@ -0,0 +1,12 @@ +{ + "runtime.version": "LuaJIT", + "runtime.path": [ + "lua/?.lua", + "lua/?/init.lua" + ], + "diagnostics.globals": ["vim"], + "workspace.checkThirdParty": false, + "workspace.library": [ + "$VIMRUNTIME" + ] +} From 706ed1e2e7d5c3f99978dfa97ab77bbf67e15136 Mon Sep 17 00:00:00 2001 From: Amy Retzerau Date: Tue, 21 Jul 2026 13:15:33 +0200 Subject: [PATCH 09/11] feat: mirgated to neovims internal plugin manager --- .config/nvim/init.lua | 61 ++++++++++++---------- .config/nvim/lua/plugins/codecompanion.lua | 14 +++++ .config/nvim/lua/plugins/conform.lua | 40 +++++++------- .config/nvim/lua/plugins/diffview.lua | 6 +++ .config/nvim/lua/plugins/lsp.lua | 38 ++++++++------ .config/nvim/lua/plugins/treesitter.lua | 17 ++++-- .config/nvim/lua/plugins/which-key.lua | 7 +++ 7 files changed, 115 insertions(+), 68 deletions(-) create mode 100644 .config/nvim/lua/plugins/codecompanion.lua create mode 100644 .config/nvim/lua/plugins/diffview.lua create mode 100644 .config/nvim/lua/plugins/which-key.lua diff --git a/.config/nvim/init.lua b/.config/nvim/init.lua index 9705ad0..5670a7d 100644 --- a/.config/nvim/init.lua +++ b/.config/nvim/init.lua @@ -1,47 +1,54 @@ -- Basic settings -vim.o.number = true -- Enable line numbers -vim.o.relativenumber = true -- Enable relative line numbers -vim.o.tabstop = 4 -- Number of spaces a tab represents -vim.o.shiftwidth = 4 -- Number of spaces for each indentation -vim.o.expandtab = true -- Convert tabs to spaces -vim.o.smartindent = true -- Automatically indent new lines -vim.o.wrap = false -- Disable line wrapping -vim.o.cursorline = true -- Highlight the current line -vim.o.termguicolors = true -- Enable 24-bit RGB colors +vim.o.number = true -- Enable line numbers +-- vim.o.relativenumber = true -- Enable relative line numbers +vim.o.tabstop = 2 -- Number of spaces a tab represents +vim.o.shiftwidth = 2 -- Number of spaces for each indentation +vim.o.expandtab = true -- Convert tabs to spaces +vim.o.smartindent = true -- Automatically indent new lines +vim.o.wrap = false -- Disable line wrapping +vim.o.cursorline = true -- Highlight the current line +vim.o.termguicolors = true -- Enable 24-bit RGB colors vim.o.clipboard = "unnamedplus" vim.filetype.add({ extension = { svx = "markdown" } }) +vim.opt.listchars = { tab = "\\│\\", nbsp = "␣", trail = "·", extends = "›", precedes = "‹", leadmultispace = "│ " } +vim.opt.list = true require('plugins.nvim-neo-tree') require('plugins.rose-pine') require('plugins.treesitter') require('plugins.conform') require('plugins.lsp') +require('plugins.diffview') +require('plugins.which-key') +require('plugins.codecompanion') vim.cmd('syntax enable') vim.api.nvim_create_user_command( - "Inlay", - function() - vim.lsp.inlay_hint.enable(not vim.lsp.inlay_hint.is_enabled()) - end, - { desc = 'Toggles Inlay Hints' } + "Inlay", + function() + vim.lsp.inlay_hint.enable(not vim.lsp.inlay_hint.is_enabled()) + end, + { desc = 'Toggles Inlay Hints' } ) vim.api.nvim_create_autocmd('LspAttach', { - callback = function(ev) - local client = vim.lsp.get_client_by_id(ev.data.client_id) - if client and client:supports_method(vim.lsp.protocol.Methods.textDocument_completion) then - vim.opt.completeopt = { 'menu', 'menuone', 'noinsert', 'fuzzy', 'popup' } - vim.lsp.completion.enable(true, client.id, ev.buf, { autotrigger = true }) - vim.keymap.set('i', '', function() - vim.lsp.completion.get() - end) - end - end, + callback = function(ev) + local client = vim.lsp.get_client_by_id(ev.data.client_id) + if client and client:supports_method(vim.lsp.protocol.Methods.textDocument_completion) then + vim.opt.completeopt = { 'menu', 'menuone', 'noinsert', 'fuzzy', 'popup' } + vim.lsp.completion.enable(true, client.id, ev.buf, { autotrigger = true }) + vim.keymap.set('i', '', function() + vim.lsp.completion.get() + end) + end + end, }) vim.diagnostic.config({ - virtual_lines = { - current_line = true, - }, + virtual_lines = { + current_line = true, + }, }) + +vim.cmd.source("~/.config/nvim/.vimrc") diff --git a/.config/nvim/lua/plugins/codecompanion.lua b/.config/nvim/lua/plugins/codecompanion.lua new file mode 100644 index 0000000..45cc3ac --- /dev/null +++ b/.config/nvim/lua/plugins/codecompanion.lua @@ -0,0 +1,14 @@ +vim.pack.add({ { + src = "https://www.github.com/olimorris/codecompanion.nvim", + version = vim.version.range("^19.0.0") +} }) + +-- Somewhere in your config +require("codecompanion").setup({ + interactions = { + chat = { + adapter = "ollama", + model = "qwen2.5-coder:7b " + }, + }, +}) diff --git a/.config/nvim/lua/plugins/conform.lua b/.config/nvim/lua/plugins/conform.lua index 428cdf7..08ef4ac 100644 --- a/.config/nvim/lua/plugins/conform.lua +++ b/.config/nvim/lua/plugins/conform.lua @@ -1,24 +1,26 @@ vim.pack.add({ - 'https://github.com/stevearc/conform.nvim' + 'https://github.com/stevearc/conform.nvim' }) require('conform').setup({ - formatters_by_ft = { - cpp = { "clang-format" }, - python = { "black" } - }, - -- Set default options - default_format_opts = { - lsp_format = "fallback", - }, - -- Set up format-on-save - format_on_save = { timeout_ms = 1000 }, - -- Customize formatters - formatters = { - ['clang-format'] = { - append_args = function(self, ctx) - return { "-style={IndentWidth: 4}" } - end, - }, - }, + formatters_by_ft = { + cpp = { "clang-format" }, + python = { "black" }, + typescript = { "prettier" }, + typescriptreact = { "prettier" }, + }, + -- Set default options + default_format_opts = { + lsp_format = "fallback", + }, + -- Set up format-on-save + format_on_save = { timeout_ms = 10000 }, + -- Customize formatters + formatters = { + -- ['clang-format'] = { + -- append_args = function(self, ctx) + -- return { "-style={IndentWidth: 4}" } + -- end, + -- }, + }, }) diff --git a/.config/nvim/lua/plugins/diffview.lua b/.config/nvim/lua/plugins/diffview.lua new file mode 100644 index 0000000..6248f37 --- /dev/null +++ b/.config/nvim/lua/plugins/diffview.lua @@ -0,0 +1,6 @@ +vim.pack.add({ + 'https://github.com/sindrets/diffview.nvim', +}) + +require('diffview').setup({ +}) diff --git a/.config/nvim/lua/plugins/lsp.lua b/.config/nvim/lua/plugins/lsp.lua index 1a71aa0..b990dfe 100644 --- a/.config/nvim/lua/plugins/lsp.lua +++ b/.config/nvim/lua/plugins/lsp.lua @@ -1,25 +1,29 @@ vim.pack.add({ - 'https://github.com/neovim/nvim-lspconfig', - 'https://github.com/mason-org/mason.nvim', - 'https://github.com/mason-org/mason-lspconfig.nvim', + 'https://github.com/neovim/nvim-lspconfig', + 'https://github.com/mason-org/mason.nvim', + 'https://github.com/mason-org/mason-lspconfig.nvim', }) require('mason').setup({ - ui = { - icons = { - package_installed = "✓", - package_pending = "➜", - package_uninstalled = "✗" - } + ui = { + icons = { + package_installed = "✓", + package_pending = "➜", + package_uninstalled = "✗" } + } }) require('mason-lspconfig').setup({ - ensure_installed = { - "svelte", - "clangd", - "ts_ls", - "pyright", - "lua_ls" - }, - automatic_enable = true, + ensure_installed = { + "svelte", + "clangd", + "ts_ls", + "pyright", + "lua_ls" + }, + automatic_enable = true, +}) +vim.lsp.config('svelte', { + -- capabilities = svelte_lsp_capabilities, + filetypes = { "svelte" }, }) diff --git a/.config/nvim/lua/plugins/treesitter.lua b/.config/nvim/lua/plugins/treesitter.lua index 2c65ae2..0909d9b 100644 --- a/.config/nvim/lua/plugins/treesitter.lua +++ b/.config/nvim/lua/plugins/treesitter.lua @@ -1,11 +1,18 @@ vim.pack.add({ - 'https://github.com/nvim-treesitter/nvim-treesitter' + 'https://github.com/nvim-treesitter/nvim-treesitter' }) -require('nvim-treesitter').setup({}) -require('nvim-treesitter').install( {'lua','rust', 'javascript', 'zig', "c","typescript", "cpp","haskell","svelte","python", "vim", "vimdoc", "html" }) +require('nvim-treesitter').setup({ + highlight = { + enable = true + }, +}) +require('nvim-treesitter').install({ 'lua', 'rust', 'javascript', 'zig', "c", "typescript", "cpp", "haskell", "svelte", + "python", "vim", "vimdoc", "html", "wgsl" }) vim.api.nvim_create_autocmd('FileType', { - pattern = { 'python', 'lua' }, - callback = function() vim.treesitter.start() end, + callback = function(args) + pcall(vim.treesitter.start, args.buf) + end, }) +vim.filetype.add({ extension = { wgsl = "wgsl" } }) diff --git a/.config/nvim/lua/plugins/which-key.lua b/.config/nvim/lua/plugins/which-key.lua new file mode 100644 index 0000000..7c74a25 --- /dev/null +++ b/.config/nvim/lua/plugins/which-key.lua @@ -0,0 +1,7 @@ +vim.pack.add({ + 'https://github.com/folke/which-key.nvim', +}) + +require("which-key").setup({ + +}) From 9c2a72669f1643536c773351aba9d4bafa05f496 Mon Sep 17 00:00:00 2001 From: root Date: Tue, 21 Jul 2026 11:17:29 +0000 Subject: [PATCH 10/11] wip --- .config/nvim/init.lua | 1 - .config/nvim/nvim-pack-lock.json | 15 ++++++++++++++- .tmux.conf | 7 ++++++- 3 files changed, 20 insertions(+), 3 deletions(-) diff --git a/.config/nvim/init.lua b/.config/nvim/init.lua index 5670a7d..140a53f 100644 --- a/.config/nvim/init.lua +++ b/.config/nvim/init.lua @@ -8,7 +8,6 @@ vim.o.smartindent = true -- Automatically indent new lines vim.o.wrap = false -- Disable line wrapping vim.o.cursorline = true -- Highlight the current line vim.o.termguicolors = true -- Enable 24-bit RGB colors -vim.o.clipboard = "unnamedplus" vim.filetype.add({ extension = { svx = "markdown" } }) vim.opt.listchars = { tab = "\\│\\", nbsp = "␣", trail = "·", extends = "›", precedes = "‹", leadmultispace = "│ " } vim.opt.list = true diff --git a/.config/nvim/nvim-pack-lock.json b/.config/nvim/nvim-pack-lock.json index 44724f7..8e70f66 100644 --- a/.config/nvim/nvim-pack-lock.json +++ b/.config/nvim/nvim-pack-lock.json @@ -1,9 +1,18 @@ { "plugins": { + "codecompanion.nvim": { + "rev": "5b87dd95a5b62bbf198ef147b96d22751ccc1faa", + "src": "https://www.github.com/olimorris/codecompanion.nvim", + "version": "19.0.0 - 20.0.0" + }, "conform.nvim": { "rev": "40dcec5555f960b0a04340d76eabdf4efe78599d", "src": "https://github.com/stevearc/conform.nvim" }, + "diffview.nvim": { + "rev": "4516612fe98ff56ae0415a259ff6361a89419b0a", + "src": "https://github.com/sindrets/diffview.nvim" + }, "mason-lspconfig.nvim": { "rev": "a324581a3c83fdacdb9804b79de1cbe00ce18550", "src": "https://github.com/mason-org/mason-lspconfig.nvim" @@ -39,6 +48,10 @@ "plenary.nvim": { "rev": "b9fd5226c2f76c951fc8ed5923d85e4de065e509", "src": "https://github.com/nvim-lua/plenary.nvim" + }, + "which-key.nvim": { + "rev": "3aab2147e74890957785941f0c1ad87d0a44c15a", + "src": "https://github.com/folke/which-key.nvim" } } -} \ No newline at end of file +} diff --git a/.tmux.conf b/.tmux.conf index 78ae9bb..5cdb71c 100644 --- a/.tmux.conf +++ b/.tmux.conf @@ -1,3 +1,8 @@ +#set-option -g remain-on-exit on +set-option -g default-shell /bin/zsh set -g history-limit 30000 -set -g mouse on +# Allow Tmux to pass through OSC 52 escape sequences set -g allow-passthrough on + +set -g mouse on +set -g set-clipboard on From 4040855adb211afc468db095b9bed05a273135ff Mon Sep 17 00:00:00 2001 From: Amy Retzerau Date: Tue, 21 Jul 2026 11:22:28 +0000 Subject: [PATCH 11/11] feat: added zmx to p10k --- .config/zsh_custom/10-p10k.zsh | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/.config/zsh_custom/10-p10k.zsh b/.config/zsh_custom/10-p10k.zsh index 5cac3c0..7d8d6a8 100644 --- a/.config/zsh_custom/10-p10k.zsh +++ b/.config/zsh_custom/10-p10k.zsh @@ -37,6 +37,12 @@ # prompt_char # prompt symbol ) + function prompt_my_zmx_session() { + if [[ -n $ZMX_SESSION ]]; then + p10k segment -b '%k' -f '%f' -t "[$ZMX_SESSION]" + fi + } + # The list of segments shown on the right. Fill it with less important segments. # Right prompt on the last prompt line (where you are typing your commands) gets # automatically hidden when the input line reaches it. Right prompt above the @@ -110,6 +116,7 @@ # battery # internal battery # wifi # wifi speed # example # example user-defined segment (see prompt_example function below) + my_zmx_session ) # Defines character set used by powerlevel10k. It's best to let `p10k configure` set it for you.