From 4b9a161bfa347cdcbc8a34df62c8913e4f08d7dc Mon Sep 17 00:00:00 2001 From: MaasOedipa Date: Sat, 18 Oct 2025 21:50:04 +0200 Subject: [PATCH 01/32] updated README to more personal use --- README.md | 201 ++---------------------------------------------------- 1 file changed, 5 insertions(+), 196 deletions(-) diff --git a/README.md b/README.md index 4113950550d..cbe8dfe6f7a 100644 --- a/README.md +++ b/README.md @@ -1,14 +1,10 @@ # kickstart.nvim -## Introduction +Personal fork of kickstart.nvim -A starting point for Neovim that is: +Link to kickstart repo +https://github.com/nvim-lua/kickstart.nvim -* Small -* Single-file -* Completely Documented - -**NOT** a Neovim distribution, but instead a starting point for your configuration. ## Installation @@ -17,11 +13,9 @@ A starting point for Neovim that is: Kickstart.nvim targets *only* the latest ['stable'](https://github.com/neovim/neovim/releases/tag/stable) and latest ['nightly'](https://github.com/neovim/neovim/releases/tag/nightly) of Neovim. -If you are experiencing issues, please make sure you have the latest versions. ### Install External Dependencies -External Requirements: - Basic utils: `git`, `make`, `unzip`, C Compiler (`gcc`) - [ripgrep](https://github.com/BurntSushi/ripgrep#installation), [fd-find](https://github.com/sharkdp/fd#installation) @@ -29,209 +23,24 @@ External Requirements: - A [Nerd Font](https://www.nerdfonts.com/): optional, provides various icons - if you have it set `vim.g.have_nerd_font` in `init.lua` to true - Emoji fonts (Ubuntu only, and only if you want emoji!) `sudo apt install fonts-noto-color-emoji` -- Language Setup: - - If you want to write Typescript, you need `npm` - - If you want to write Golang, you will need `go` - - etc. - -> [!NOTE] -> See [Install Recipes](#Install-Recipes) for additional Windows and Linux specific notes -> and quick install snippets ### Install Kickstart -> [!NOTE] -> [Backup](#FAQ) your previous configuration (if any exists) - -Neovim's configurations are located under the following paths, depending on your OS: - -| OS | PATH | -| :- | :--- | -| Linux, MacOS | `$XDG_CONFIG_HOME/nvim`, `~/.config/nvim` | -| Windows (cmd)| `%localappdata%\nvim\` | -| Windows (powershell)| `$env:LOCALAPPDATA\nvim\` | - -#### Recommended Step - -[Fork](https://docs.github.com/en/get-started/quickstart/fork-a-repo) this repo -so that you have your own copy that you can modify, then install by cloning the -fork to your machine using one of the commands below, depending on your OS. - -> [!NOTE] -> Your fork's URL will be something like this: -> `https://github.com//kickstart.nvim.git` - -You likely want to remove `lazy-lock.json` from your fork's `.gitignore` file -too - it's ignored in the kickstart repo to make maintenance easier, but it's -[recommended to track it in version control](https://lazy.folke.io/usage/lockfile). - -#### Clone kickstart.nvim - -> [!NOTE] -> If following the recommended step above (i.e., forking the repo), replace -> `nvim-lua` with `` in the commands below - -
Linux and Mac - -```sh -git clone https://github.com/nvim-lua/kickstart.nvim.git "${XDG_CONFIG_HOME:-$HOME/.config}"/nvim -``` - -
- -
Windows - -If you're using `cmd.exe`: - -``` -git clone https://github.com/nvim-lua/kickstart.nvim.git "%localappdata%\nvim" -``` - -If you're using `powershell.exe` - -``` -git clone https://github.com/nvim-lua/kickstart.nvim.git "${env:LOCALAPPDATA}\nvim" -``` - -
- -### Post Installation - -Start Neovim - -```sh -nvim -``` - -That's it! Lazy will install all the plugins you have. Use `:Lazy` to view -the current plugin status. Hit `q` to close the window. - -#### Read The Friendly Documentation - -Read through the `init.lua` file in your configuration folder for more -information about extending and exploring Neovim. That also includes -examples of adding popularly requested plugins. - -> [!NOTE] -> For more information about a particular plugin check its repository's documentation. - +After cloning, move files into ~/.config/nvim/ ### Getting Started [The Only Video You Need to Get Started with Neovim](https://youtu.be/m8C0Cq9Uv9o) -### FAQ - -* What should I do if I already have a pre-existing Neovim configuration? - * You should back it up and then delete all associated files. - * This includes your existing init.lua and the Neovim files in `~/.local` - which can be deleted with `rm -rf ~/.local/share/nvim/` -* Can I keep my existing configuration in parallel to kickstart? - * Yes! You can use [NVIM_APPNAME](https://neovim.io/doc/user/starting.html#%24NVIM_APPNAME)`=nvim-NAME` - to maintain multiple configurations. For example, you can install the kickstart - configuration in `~/.config/nvim-kickstart` and create an alias: - ``` - alias nvim-kickstart='NVIM_APPNAME="nvim-kickstart" nvim' - ``` - When you run Neovim using `nvim-kickstart` alias it will use the alternative - config directory and the matching local directory - `~/.local/share/nvim-kickstart`. You can apply this approach to any Neovim - distribution that you would like to try out. -* What if I want to "uninstall" this configuration: - * See [lazy.nvim uninstall](https://lazy.folke.io/usage#-uninstalling) information -* Why is the kickstart `init.lua` a single file? Wouldn't it make sense to split it into multiple files? - * The main purpose of kickstart is to serve as a teaching tool and a reference - configuration that someone can easily use to `git clone` as a basis for their own. - As you progress in learning Neovim and Lua, you might consider splitting `init.lua` - into smaller parts. A fork of kickstart that does this while maintaining the - same functionality is available here: - * [kickstart-modular.nvim](https://github.com/dam9000/kickstart-modular.nvim) - * Discussions on this topic can be found here: - * [Restructure the configuration](https://github.com/nvim-lua/kickstart.nvim/issues/218) - * [Reorganize init.lua into a multi-file setup](https://github.com/nvim-lua/kickstart.nvim/pull/473) - -### Install Recipes +## Install Recipes Below you can find OS specific install instructions for Neovim and dependencies. After installing all the dependencies continue with the [Install Kickstart](#Install-Kickstart) step. -#### Windows Installation - -
Windows with Microsoft C++ Build Tools and CMake -Installation may require installing build tools and updating the run command for `telescope-fzf-native` - -See `telescope-fzf-native` documentation for [more details](https://github.com/nvim-telescope/telescope-fzf-native.nvim#installation) - -This requires: - -- Install CMake and the Microsoft C++ Build Tools on Windows - -```lua -{'nvim-telescope/telescope-fzf-native.nvim', build = 'cmake -S. -Bbuild -DCMAKE_BUILD_TYPE=Release && cmake --build build --config Release && cmake --install build --prefix build' } -``` -
-
Windows with gcc/make using chocolatey -Alternatively, one can install gcc and make which don't require changing the config, -the easiest way is to use choco: - -1. install [chocolatey](https://chocolatey.org/install) -either follow the instructions on the page or use winget, -run in cmd as **admin**: -``` -winget install --accept-source-agreements chocolatey.chocolatey -``` - -2. install all requirements using choco, exit the previous cmd and -open a new one so that choco path is set, and run in cmd as **admin**: -``` -choco install -y neovim git ripgrep wget fd unzip gzip mingw make -``` -
-
WSL (Windows Subsystem for Linux) - -``` -wsl --install -wsl -sudo add-apt-repository ppa:neovim-ppa/unstable -y -sudo apt update -sudo apt install make gcc ripgrep unzip git xclip neovim -``` -
- #### Linux Install
Ubuntu Install Steps -``` -sudo add-apt-repository ppa:neovim-ppa/unstable -y -sudo apt update -sudo apt install make gcc ripgrep unzip git xclip neovim -``` -
-
Debian Install Steps - -``` -sudo apt update -sudo apt install make gcc ripgrep unzip git xclip curl - -# Now we install nvim -curl -LO https://github.com/neovim/neovim/releases/latest/download/nvim-linux-x86_64.tar.gz -sudo rm -rf /opt/nvim-linux-x86_64 -sudo mkdir -p /opt/nvim-linux-x86_64 -sudo chmod a+rX /opt/nvim-linux-x86_64 -sudo tar -C /opt -xzf nvim-linux-x86_64.tar.gz - -# make it available in /usr/local/bin, distro installs to /usr/bin -sudo ln -sf /opt/nvim-linux-x86_64/bin/nvim /usr/local/bin/ -``` -
-
Fedora Install Steps - -``` -sudo dnf install -y gcc make git ripgrep fd-find unzip neovim -``` -
-
Arch Install Steps ``` From c3b8d37596e67465d9ccd74d8eccd152690ec74a Mon Sep 17 00:00:00 2001 From: MaasOedipa Date: Wed, 29 Oct 2025 10:25:07 +0100 Subject: [PATCH 02/32] init changes --- init.lua | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/init.lua b/init.lua index b98ffc6198a..d8b68c3add0 100644 --- a/init.lua +++ b/init.lua @@ -91,7 +91,7 @@ vim.g.mapleader = ' ' vim.g.maplocalleader = ' ' -- Set to true if you have a Nerd Font installed and selected in the terminal -vim.g.have_nerd_font = false +vim.g.have_nerd_font = true -- [[ Setting options ]] -- See `:help vim.o` @@ -102,7 +102,7 @@ vim.g.have_nerd_font = false vim.o.number = true -- You can also add relative line numbers, to help with jumping. -- Experiment for yourself to see if you like it! --- vim.o.relativenumber = true +vim.o.relativenumber = true -- Enable mouse mode, can be useful for resizing splits for example! vim.o.mouse = 'a' @@ -159,7 +159,7 @@ vim.o.inccommand = 'split' vim.o.cursorline = true -- Minimal number of screen lines to keep above and below the cursor. -vim.o.scrolloff = 10 +vim.o.scrolloff = 15 -- if performing an operation that would fail due to unsaved changes in the buffer (like `:q`), -- instead raise a dialog asking if you wish to save the current file(s) @@ -185,10 +185,10 @@ vim.keymap.set('n', 'q', vim.diagnostic.setloclist, { desc = 'Open diagn vim.keymap.set('t', '', '', { desc = 'Exit terminal mode' }) -- TIP: Disable arrow keys in normal mode --- vim.keymap.set('n', '', 'echo "Use h to move!!"') --- vim.keymap.set('n', '', 'echo "Use l to move!!"') --- vim.keymap.set('n', '', 'echo "Use k to move!!"') --- vim.keymap.set('n', '', 'echo "Use j to move!!"') +vim.keymap.set('n', '', 'echo "Use h to move!!"') +vim.keymap.set('n', '', 'echo "Use l to move!!"') +vim.keymap.set('n', '', 'echo "Use k to move!!"') +vim.keymap.set('n', '', 'echo "Use j to move!!"') -- Keybinds to make split navigation easier. -- Use CTRL+ to switch between windows @@ -458,7 +458,7 @@ require('lazy').setup({ -- Shortcut for searching your Neovim configuration files vim.keymap.set('n', 'sn', function() builtin.find_files { cwd = vim.fn.stdpath 'config' } - end, { desc = '[S]earch [N]eovim files' }) + end, { desc = '[S]earch [N]eovim in .config' }) end, }, @@ -894,7 +894,7 @@ require('lazy').setup({ -- Load the colorscheme here. -- Like many other themes, this one has different styles, and you could load -- any other, such as 'tokyonight-storm', 'tokyonight-moon', or 'tokyonight-day'. - vim.cmd.colorscheme 'tokyonight-night' + vim.cmd.colorscheme 'tokyonight-moon' end, }, @@ -984,7 +984,7 @@ require('lazy').setup({ -- This is the easiest way to modularize your config. -- -- Uncomment the following line and add your plugins to `lua/custom/plugins/*.lua` to get going. - -- { import = 'custom.plugins' }, + { import = 'custom.plugins' }, -- -- For additional information with loading, sourcing and examples see `:help lazy.nvim-🔌-plugin-spec` -- Or use telescope! From 89f1e22428dd18f8c8315b2674aa3850f9c366df Mon Sep 17 00:00:00 2001 From: MaasOedipa Date: Wed, 29 Oct 2025 10:32:33 +0100 Subject: [PATCH 03/32] vimtex added --- lua/custom/plugins/vimtex.lua | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 lua/custom/plugins/vimtex.lua diff --git a/lua/custom/plugins/vimtex.lua b/lua/custom/plugins/vimtex.lua new file mode 100644 index 00000000000..b632b8c4040 --- /dev/null +++ b/lua/custom/plugins/vimtex.lua @@ -0,0 +1,12 @@ +-- See the kickstart.nvim README for more information +return { + { + 'lervag/vimtex', + lazy = false, -- we don't want to lazy load VimTeX + -- tag = "v2.15", -- uncomment to pin to a specific release + init = function() + -- VimTeX configuration goes here, e.g. + vim.g.vimtex_view_method = 'zathura' + end, + }, +} From a25a3de15069dec84d36e9c4e55736819b9832e2 Mon Sep 17 00:00:00 2001 From: MaasOedipa Date: Wed, 29 Oct 2025 12:00:31 +0100 Subject: [PATCH 04/32] trying colorscheme --- init.lua | 2 +- lua/custom/plugins/colorscheme.lua | 19 +++++++++++++++++++ 2 files changed, 20 insertions(+), 1 deletion(-) create mode 100644 lua/custom/plugins/colorscheme.lua diff --git a/init.lua b/init.lua index d8b68c3add0..6640d85dc15 100644 --- a/init.lua +++ b/init.lua @@ -882,7 +882,7 @@ require('lazy').setup({ -- -- If you want to see what colorschemes are already installed, you can use `:Telescope colorscheme`. 'folke/tokyonight.nvim', - priority = 1000, -- Make sure to load this before all the other start plugins. + priority = 999, -- Make sure to load this before all the other start plugins. config = function() ---@diagnostic disable-next-line: missing-fields require('tokyonight').setup { diff --git a/lua/custom/plugins/colorscheme.lua b/lua/custom/plugins/colorscheme.lua new file mode 100644 index 00000000000..87bffcd8760 --- /dev/null +++ b/lua/custom/plugins/colorscheme.lua @@ -0,0 +1,19 @@ +return { + { + 'catppuccin/nvim', + name = 'catppuccin', + priority = 1000, -- ensure it loads first + config = function() + require('catppuccin').setup { + flavour = 'mocha', -- latte, frappe, macchiato, mocha + transparent_background = true, + integrations = { + treesitter = true, + native_lsp = { enabled = true }, + telescope = true, + }, + } + vim.cmd.colorscheme 'catppuccin' + end, + }, +} From 5235cedf6cd84ca9f572a4fe5b199229e9227494 Mon Sep 17 00:00:00 2001 From: MaasOedipa Date: Wed, 29 Oct 2025 12:17:31 +0100 Subject: [PATCH 05/32] aaa --- init.lua | 1 + lua/custom/{plugins/colorscheme.lua => themes/catpuccin.lua} | 0 2 files changed, 1 insertion(+) rename lua/custom/{plugins/colorscheme.lua => themes/catpuccin.lua} (100%) diff --git a/init.lua b/init.lua index 6640d85dc15..7805dd69d23 100644 --- a/init.lua +++ b/init.lua @@ -985,6 +985,7 @@ require('lazy').setup({ -- -- Uncomment the following line and add your plugins to `lua/custom/plugins/*.lua` to get going. { import = 'custom.plugins' }, + { import = 'custom.themes' }, -- -- For additional information with loading, sourcing and examples see `:help lazy.nvim-🔌-plugin-spec` -- Or use telescope! diff --git a/lua/custom/plugins/colorscheme.lua b/lua/custom/themes/catpuccin.lua similarity index 100% rename from lua/custom/plugins/colorscheme.lua rename to lua/custom/themes/catpuccin.lua From be98ef5738e6191fa4c05f800e33b4537abc9065 Mon Sep 17 00:00:00 2001 From: MaasOedipa Date: Thu, 30 Oct 2025 10:29:06 +0100 Subject: [PATCH 06/32] new theme support --- init.lua | 28 ++++------------------------ lua/custom/plugins/themes.lua | 5 +++++ lua/custom/themes/catppuccin.lua | 14 ++++++++++++++ lua/custom/themes/catpuccin.lua | 19 ------------------- lua/custom/themes/gruvbox.lua | 26 ++++++++++++++++++++++++++ lua/custom/themes/init.lua | 11 +++++++++++ lua/custom/themes/tokyonight.lua | 8 ++++++++ 7 files changed, 68 insertions(+), 43 deletions(-) create mode 100644 lua/custom/plugins/themes.lua create mode 100644 lua/custom/themes/catppuccin.lua delete mode 100644 lua/custom/themes/catpuccin.lua create mode 100644 lua/custom/themes/gruvbox.lua create mode 100644 lua/custom/themes/init.lua create mode 100644 lua/custom/themes/tokyonight.lua diff --git a/init.lua b/init.lua index 7805dd69d23..f776c6c52f4 100644 --- a/init.lua +++ b/init.lua @@ -139,7 +139,7 @@ vim.o.timeoutlen = 300 -- Configure how new splits should be opened vim.o.splitright = true -vim.o.splitbelow = true +vim.o.splitbelow = false -- Sets how neovim will display certain whitespace characters in the editor. -- See `:help 'list'` @@ -876,28 +876,6 @@ require('lazy').setup({ }, }, - { -- You can easily change to a different colorscheme. - -- Change the name of the colorscheme plugin below, and then - -- change the command in the config to whatever the name of that colorscheme is. - -- - -- If you want to see what colorschemes are already installed, you can use `:Telescope colorscheme`. - 'folke/tokyonight.nvim', - priority = 999, -- Make sure to load this before all the other start plugins. - config = function() - ---@diagnostic disable-next-line: missing-fields - require('tokyonight').setup { - styles = { - comments = { italic = false }, -- Disable italics in comments - }, - } - - -- Load the colorscheme here. - -- Like many other themes, this one has different styles, and you could load - -- any other, such as 'tokyonight-storm', 'tokyonight-moon', or 'tokyonight-day'. - vim.cmd.colorscheme 'tokyonight-moon' - end, - }, - -- Highlight todo, notes, etc in comments { 'folke/todo-comments.nvim', event = 'VimEnter', dependencies = { 'nvim-lua/plenary.nvim' }, opts = { signs = false } }, @@ -985,7 +963,7 @@ require('lazy').setup({ -- -- Uncomment the following line and add your plugins to `lua/custom/plugins/*.lua` to get going. { import = 'custom.plugins' }, - { import = 'custom.themes' }, + { import = 'custom.plugins.themes' }, -- -- For additional information with loading, sourcing and examples see `:help lazy.nvim-🔌-plugin-spec` -- Or use telescope! @@ -1015,3 +993,5 @@ require('lazy').setup({ -- The line beneath this is called `modeline`. See `:help modeline` -- vim: ts=2 sts=2 sw=2 et + +require 'custom.themes' diff --git a/lua/custom/plugins/themes.lua b/lua/custom/plugins/themes.lua new file mode 100644 index 00000000000..1d8d8cd3c67 --- /dev/null +++ b/lua/custom/plugins/themes.lua @@ -0,0 +1,5 @@ +return { + { 'folke/tokyonight.nvim', lazy = false, priority = 1000 }, + { 'ellisonleao/gruvbox.nvim', lazy = false, priority = 1000 }, + { 'catppuccin/nvim', name = 'catppuccin', lazy = false, priority = 1000 }, +} diff --git a/lua/custom/themes/catppuccin.lua b/lua/custom/themes/catppuccin.lua new file mode 100644 index 00000000000..dd65987a0fe --- /dev/null +++ b/lua/custom/themes/catppuccin.lua @@ -0,0 +1,14 @@ +return function() + -- setup Catppuccin + require('catppuccin').setup { + flavour = 'mocha', -- options: latte, frappe, macchiato, mocha + integrations = { + -- Optional: enable integrations for plugins like telescope, lualine, etc + telescope = true, + nvimtree = true, + cmp = true, + }, + } + -- load the colorscheme + vim.cmd.colorscheme 'catppuccin' +end diff --git a/lua/custom/themes/catpuccin.lua b/lua/custom/themes/catpuccin.lua deleted file mode 100644 index 87bffcd8760..00000000000 --- a/lua/custom/themes/catpuccin.lua +++ /dev/null @@ -1,19 +0,0 @@ -return { - { - 'catppuccin/nvim', - name = 'catppuccin', - priority = 1000, -- ensure it loads first - config = function() - require('catppuccin').setup { - flavour = 'mocha', -- latte, frappe, macchiato, mocha - transparent_background = true, - integrations = { - treesitter = true, - native_lsp = { enabled = true }, - telescope = true, - }, - } - vim.cmd.colorscheme 'catppuccin' - end, - }, -} diff --git a/lua/custom/themes/gruvbox.lua b/lua/custom/themes/gruvbox.lua new file mode 100644 index 00000000000..bd16d166cb5 --- /dev/null +++ b/lua/custom/themes/gruvbox.lua @@ -0,0 +1,26 @@ +return function() + require('gruvbox').setup { + terminal_colors = true, -- add neovim terminal colors + undercurl = true, + underline = true, + bold = true, + italic = { + strings = true, + emphasis = true, + comments = true, + operators = false, + folds = true, + }, + strikethrough = true, + invert_selection = false, + invert_signs = false, + invert_tabline = false, + inverse = true, -- invert background for search, diffs, statuslines and errors + contrast = 'soft', -- can be "hard", "soft" or empty string + palette_overrides = {}, + overrides = {}, + dim_inactive = false, + transparent_mode = true, + } + vim.cmd 'colorscheme gruvbox' +end diff --git a/lua/custom/themes/init.lua b/lua/custom/themes/init.lua new file mode 100644 index 00000000000..aab9d6c204f --- /dev/null +++ b/lua/custom/themes/init.lua @@ -0,0 +1,11 @@ +-- Pick which theme to use +local theme_name = 'gruvbox' -- + +-- Loading it +local ok, theme = pcall(require, 'custom.themes.' .. theme_name) +if not ok then + vim.notify('Failed to load theme: ' .. theme_name, vim.log.levels.ERROR) + return +end + +theme() diff --git a/lua/custom/themes/tokyonight.lua b/lua/custom/themes/tokyonight.lua new file mode 100644 index 00000000000..4b6147795ac --- /dev/null +++ b/lua/custom/themes/tokyonight.lua @@ -0,0 +1,8 @@ +-- ~/.config/nvim/lua/custom/themes/tokyonight.lua +return function() + require('tokyonight').setup { + style = 'moon', + transparent = false, + } + vim.cmd.colorscheme 'tokyonight' +end From e1a429363626fa697fb2b34c11ab2f592c94a362 Mon Sep 17 00:00:00 2001 From: MaasOedipa Date: Thu, 30 Oct 2025 11:28:38 +0100 Subject: [PATCH 07/32] trying out neotree --- init.lua | 2 +- lua/custom/themes/init.lua | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/init.lua b/init.lua index f776c6c52f4..b882f3395ee 100644 --- a/init.lua +++ b/init.lua @@ -955,7 +955,7 @@ require('lazy').setup({ -- require 'kickstart.plugins.indent_line', -- require 'kickstart.plugins.lint', -- require 'kickstart.plugins.autopairs', - -- require 'kickstart.plugins.neo-tree', + require 'kickstart.plugins.neo-tree', -- require 'kickstart.plugins.gitsigns', -- adds gitsigns recommend keymaps -- NOTE: The import below can automatically add your own plugins, configuration, etc from `lua/custom/plugins/*.lua` diff --git a/lua/custom/themes/init.lua b/lua/custom/themes/init.lua index aab9d6c204f..be435a9ebb7 100644 --- a/lua/custom/themes/init.lua +++ b/lua/custom/themes/init.lua @@ -1,5 +1,6 @@ -- Pick which theme to use -local theme_name = 'gruvbox' -- +-- tokyonight, gruvbox, catppuccin +local theme_name = 'catppuccin' -- -- Loading it local ok, theme = pcall(require, 'custom.themes.' .. theme_name) From add56d174da053801e74aeae3ee83226f26bb197 Mon Sep 17 00:00:00 2001 From: MaasOedipa Date: Fri, 31 Oct 2025 11:20:46 +0100 Subject: [PATCH 08/32] transparent background on theme --- lua/custom/themes/catppuccin.lua | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/lua/custom/themes/catppuccin.lua b/lua/custom/themes/catppuccin.lua index dd65987a0fe..1db857245cd 100644 --- a/lua/custom/themes/catppuccin.lua +++ b/lua/custom/themes/catppuccin.lua @@ -1,13 +1,16 @@ return function() -- setup Catppuccin require('catppuccin').setup { - flavour = 'mocha', -- options: latte, frappe, macchiato, mocha + flavour = 'macchiato', -- options: latte, frappe, macchiato, mocha integrations = { -- Optional: enable integrations for plugins like telescope, lualine, etc telescope = true, nvimtree = true, cmp = true, + mason = true, + treesitter = true, }, + transparent_background = true, } -- load the colorscheme vim.cmd.colorscheme 'catppuccin' From be17047144bb45fb0c41f9b603c15d21877371f8 Mon Sep 17 00:00:00 2001 From: MaasOedipa Date: Fri, 31 Oct 2025 14:30:37 +0100 Subject: [PATCH 09/32] neotree shows hidden files --- lua/kickstart/plugins/neo-tree.lua | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/lua/kickstart/plugins/neo-tree.lua b/lua/kickstart/plugins/neo-tree.lua index c7067891df0..b248c22d74a 100644 --- a/lua/kickstart/plugins/neo-tree.lua +++ b/lua/kickstart/plugins/neo-tree.lua @@ -9,17 +9,26 @@ return { 'nvim-tree/nvim-web-devicons', -- not strictly required, but recommended 'MunifTanjim/nui.nvim', }, + auto_close = true, + auto_open = false, lazy = false, keys = { { '\\', ':Neotree reveal', desc = 'NeoTree reveal', silent = true }, }, opts = { filesystem = { + filtered_items = { + hide_dotfiles = false, + hide_gitignored = false, + }, window = { mappings = { ['\\'] = 'close_window', }, + position = 'left', + width = '20', }, + hijack_netrw_behavior = 'open_default', }, }, } From 547e626c5fb1c6cefb830a9e6a423c7f74b4f6a7 Mon Sep 17 00:00:00 2001 From: MaasOedipa Date: Fri, 31 Oct 2025 14:37:10 +0100 Subject: [PATCH 10/32] neotree moved to custom plugins, to config more personally --- lua/custom/plugins/neo-tree.lua | 35 ++++++++++++++++++++++++++++++ lua/kickstart/plugins/neo-tree.lua | 32 +-------------------------- 2 files changed, 36 insertions(+), 31 deletions(-) create mode 100644 lua/custom/plugins/neo-tree.lua diff --git a/lua/custom/plugins/neo-tree.lua b/lua/custom/plugins/neo-tree.lua new file mode 100644 index 00000000000..1d0fbebd44d --- /dev/null +++ b/lua/custom/plugins/neo-tree.lua @@ -0,0 +1,35 @@ +-- Neo-tree is a Neovim plugin to browse the file system +-- https://github.com/nvim-neo-tree/neo-tree.nvim + +return { + 'nvim-neo-tree/neo-tree.nvim', + version = '*', + dependencies = { + 'nvim-lua/plenary.nvim', + 'nvim-tree/nvim-web-devicons', -- not strictly required, but recommended + 'MunifTanjim/nui.nvim', + }, + auto_close = true, + auto_open = false, + lazy = false, + keys = { + { '\\', ':Neotree reveal', desc = 'NeoTree reveal', silent = true }, + }, + opts = { + filesystem = { + filtered_items = { + visible = true, + hide_dotfiles = true, + hide_gitignored = true, + }, + window = { + mappings = { + ['\\'] = 'close_window', + }, + position = 'left', + width = '20', + }, + hijack_netrw_behavior = 'open_default', + }, + }, +} diff --git a/lua/kickstart/plugins/neo-tree.lua b/lua/kickstart/plugins/neo-tree.lua index b248c22d74a..69ff09c74c7 100644 --- a/lua/kickstart/plugins/neo-tree.lua +++ b/lua/kickstart/plugins/neo-tree.lua @@ -1,34 +1,4 @@ -- Neo-tree is a Neovim plugin to browse the file system -- https://github.com/nvim-neo-tree/neo-tree.nvim -return { - 'nvim-neo-tree/neo-tree.nvim', - version = '*', - dependencies = { - 'nvim-lua/plenary.nvim', - 'nvim-tree/nvim-web-devicons', -- not strictly required, but recommended - 'MunifTanjim/nui.nvim', - }, - auto_close = true, - auto_open = false, - lazy = false, - keys = { - { '\\', ':Neotree reveal', desc = 'NeoTree reveal', silent = true }, - }, - opts = { - filesystem = { - filtered_items = { - hide_dotfiles = false, - hide_gitignored = false, - }, - window = { - mappings = { - ['\\'] = 'close_window', - }, - position = 'left', - width = '20', - }, - hijack_netrw_behavior = 'open_default', - }, - }, -} +return {} From 35cfd7ad48ed1153d3705c77e539fd93c851c953 Mon Sep 17 00:00:00 2001 From: MaasOedipa Date: Sat, 1 Nov 2025 12:48:46 +0100 Subject: [PATCH 11/32] fixed neotree in custom --- init.lua | 1 - 1 file changed, 1 deletion(-) diff --git a/init.lua b/init.lua index b882f3395ee..bd9e3057816 100644 --- a/init.lua +++ b/init.lua @@ -955,7 +955,6 @@ require('lazy').setup({ -- require 'kickstart.plugins.indent_line', -- require 'kickstart.plugins.lint', -- require 'kickstart.plugins.autopairs', - require 'kickstart.plugins.neo-tree', -- require 'kickstart.plugins.gitsigns', -- adds gitsigns recommend keymaps -- NOTE: The import below can automatically add your own plugins, configuration, etc from `lua/custom/plugins/*.lua` From 0aaf2eff22732e7d8f0f5deac68026bfea3fac2b Mon Sep 17 00:00:00 2001 From: MaasOedipa Date: Sat, 1 Nov 2025 22:15:27 +0100 Subject: [PATCH 12/32] clean up init --- init.lua | 176 +++++++------------------------------------------------ 1 file changed, 21 insertions(+), 155 deletions(-) diff --git a/init.lua b/init.lua index bd9e3057816..c7b952be358 100644 --- a/init.lua +++ b/init.lua @@ -1,96 +1,9 @@ ---[[ +---[[ -===================================================================== -==================== READ THIS BEFORE CONTINUING ==================== -===================================================================== -======== .-----. ======== -======== .----------------------. | === | ======== -======== |.-""""""""""""""""""-.| |-----| ======== -======== || || | === | ======== -======== || KICKSTART.NVIM || |-----| ======== -======== || || | === | ======== -======== || || |-----| ======== -======== ||:Tutor || |:::::| ======== -======== |'-..................-'| |____o| ======== -======== `"")----------------(""` ___________ ======== -======== /::::::::::| |::::::::::\ \ no mouse \ ======== -======== /:::========| |==hjkl==:::\ \ required \ ======== -======== '""""""""""""' '""""""""""""' '""""""""""' ======== -======== ======== -===================================================================== -===================================================================== - -What is Kickstart? - - Kickstart.nvim is *not* a distribution. - - Kickstart.nvim is a starting point for your own configuration. - The goal is that you can read every line of code, top-to-bottom, understand - what your configuration is doing, and modify it to suit your needs. - - Once you've done that, you can start exploring, configuring and tinkering to - make Neovim your own! That might mean leaving Kickstart just the way it is for a while - or immediately breaking it into modular pieces. It's up to you! - - If you don't know anything about Lua, I recommend taking some time to read through - a guide. One possible example which will only take 10-15 minutes: - - https://learnxinyminutes.com/docs/lua/ - - After understanding a bit more about Lua, you can use `:help lua-guide` as a - reference for how Neovim integrates Lua. - - :help lua-guide - - (or HTML version): https://neovim.io/doc/user/lua-guide.html - -Kickstart Guide: - - TODO: The very first thing you should do is to run the command `:Tutor` in Neovim. - - If you don't know what this means, type the following: - - - - : - - Tutor - - - - (If you already know the Neovim basics, you can skip this step.) - - Once you've completed that, you can continue working through **AND READING** the rest - of the kickstart init.lua. - - Next, run AND READ `:help`. - This will open up a help window with some basic information - about reading, navigating and searching the builtin help documentation. - - This should be the first place you go to look when you're stuck or confused - with something. It's one of my favorite Neovim features. - - MOST IMPORTANTLY, we provide a keymap "sh" to [s]earch the [h]elp documentation, - which is very useful when you're not exactly sure of what you're looking for. - - I have left several `:help X` comments throughout the init.lua - These are hints about where to find more information about the relevant settings, - plugins or Neovim features used in Kickstart. - - NOTE: Look for lines like this - - Throughout the file. These are for you, the reader, to help you understand what is happening. - Feel free to delete them once you know what you're doing, but they should serve as a guide - for when you are first encountering a few different constructs in your Neovim config. - -If you experience any errors while trying to install kickstart, run `:checkhealth` for more info. - -I hope you enjoy your Neovim journey, -- TJ - -P.S. You can delete this when you're done too. It's your config now! :) ---]] - --- Set as the leader key --- See `:help mapleader` -- NOTE: Must happen before plugins are loaded (otherwise wrong leader will be used) vim.g.mapleader = ' ' vim.g.maplocalleader = ' ' --- Set to true if you have a Nerd Font installed and selected in the terminal vim.g.have_nerd_font = true -- [[ Setting options ]] @@ -100,27 +13,19 @@ vim.g.have_nerd_font = true -- Make line numbers default vim.o.number = true --- You can also add relative line numbers, to help with jumping. --- Experiment for yourself to see if you like it! vim.o.relativenumber = true -- Enable mouse mode, can be useful for resizing splits for example! vim.o.mouse = 'a' - -- Don't show the mode, since it's already in the status line vim.o.showmode = false --- Sync clipboard between OS and Neovim. --- Schedule the setting after `UiEnter` because it can increase startup-time. --- Remove this option if you want your OS clipboard to remain independent. --- See `:help 'clipboard'` vim.schedule(function() vim.o.clipboard = 'unnamedplus' end) -- Enable break indent vim.o.breakindent = true - -- Save undo history vim.o.undofile = true @@ -132,7 +37,7 @@ vim.o.smartcase = true vim.o.signcolumn = 'yes' -- Decrease update time -vim.o.updatetime = 250 +vim.o.updatetime = 150 -- Decrease mapped sequence wait time vim.o.timeoutlen = 300 @@ -141,14 +46,6 @@ vim.o.timeoutlen = 300 vim.o.splitright = true vim.o.splitbelow = false --- Sets how neovim will display certain whitespace characters in the editor. --- See `:help 'list'` --- and `:help 'listchars'` --- --- Notice listchars is set using `vim.opt` instead of `vim.o`. --- It is very similar to `vim.o` but offers an interface for conveniently interacting with tables. --- See `:help lua-options` --- and `:help lua-options-guide` vim.o.list = true vim.opt.listchars = { tab = '» ', trail = '·', nbsp = '␣' } @@ -161,16 +58,11 @@ vim.o.cursorline = true -- Minimal number of screen lines to keep above and below the cursor. vim.o.scrolloff = 15 --- if performing an operation that would fail due to unsaved changes in the buffer (like `:q`), --- instead raise a dialog asking if you wish to save the current file(s) --- See `:help 'confirm'` vim.o.confirm = true -- [[ Basic Keymaps ]] -- See `:help vim.keymap.set()` --- Clear highlights on search when pressing in normal mode --- See `:help hlsearch` vim.keymap.set('n', '', 'nohlsearch') -- Diagnostic keymaps @@ -208,9 +100,6 @@ vim.keymap.set('n', '', '', { desc = 'Move focus to the upper win -- [[ Basic Autocommands ]] -- See `:help lua-guide-autocommands` --- Highlight when yanking (copying) text --- Try it with `yap` in normal mode --- See `:help vim.hl.on_yank()` vim.api.nvim_create_autocmd('TextYankPost', { desc = 'Highlight when yanking (copying) text', group = vim.api.nvim_create_augroup('kickstart-highlight-yank', { clear = true }), @@ -234,15 +123,6 @@ end local rtp = vim.opt.rtp rtp:prepend(lazypath) --- [[ Configure and install plugins ]] --- --- To check the current status of your plugins, run --- :Lazy --- --- You can press `?` in this menu for help. Use `:q` to close the window --- --- To update plugins you can run --- :Lazy update -- -- NOTE: Here is where you install your plugins. require('lazy').setup({ @@ -253,23 +133,6 @@ require('lazy').setup({ -- with the first argument being the link and the following -- keys can be used to configure plugin behavior/loading/etc. -- - -- Use `opts = {}` to automatically pass options to a plugin's `setup()` function, forcing the plugin to be loaded. - -- - - -- Alternatively, use `config = function() ... end` for full control over the configuration. - -- If you prefer to call `setup` explicitly, use: - -- { - -- 'lewis6991/gitsigns.nvim', - -- config = function() - -- require('gitsigns').setup({ - -- -- Your gitsigns configuration here - -- }) - -- end, - -- } - -- - -- Here is a more advanced example where we pass configuration - -- options to `gitsigns.nvim`. - -- -- See `:help gitsigns` to understand what the configuration keys do { -- Adds git related signs to the gutter, as well as utilities for managing changes 'lewis6991/gitsigns.nvim', @@ -286,15 +149,6 @@ require('lazy').setup({ -- NOTE: Plugins can also be configured to run Lua code when they are loaded. -- - -- This is often very useful to both group configuration, as well as handle - -- lazy loading plugins that don't need to be loaded immediately at startup. - -- - -- For example, in the following configuration, we use: - -- event = 'VimEnter' - -- - -- which loads which-key before all the UI elements are loaded. Events can be - -- normal autocommands events (`:help autocmd-events`). - -- -- Then, because we use the `opts` key (recommended), the configuration runs -- after the plugin has been loaded as `require(MODULE).setup(opts)`. @@ -353,11 +207,6 @@ require('lazy').setup({ -- NOTE: Plugins can specify dependencies. -- - -- The dependencies are proper plugin specifications as well - anything - -- you do for a plugin at the top level, you can do for a dependency. - -- - -- Use the `dependencies` key to specify the dependencies of a particular plugin - { -- Fuzzy Finder (files, lsp, etc) 'nvim-telescope/telescope.nvim', event = 'VimEnter', @@ -877,7 +726,12 @@ require('lazy').setup({ }, -- Highlight todo, notes, etc in comments - { 'folke/todo-comments.nvim', event = 'VimEnter', dependencies = { 'nvim-lua/plenary.nvim' }, opts = { signs = false } }, + { + 'folke/todo-comments.nvim', + event = 'VimEnter', + dependencies = { 'nvim-lua/plenary.nvim' }, + opts = { signs = false }, + }, { -- Collection of various small independent plugins/modules 'echasnovski/mini.nvim', @@ -922,7 +776,19 @@ require('lazy').setup({ main = 'nvim-treesitter.configs', -- Sets main module to use for opts -- [[ Configure Treesitter ]] See `:help nvim-treesitter` opts = { - ensure_installed = { 'bash', 'c', 'diff', 'html', 'lua', 'luadoc', 'markdown', 'markdown_inline', 'query', 'vim', 'vimdoc' }, + ensure_installed = { + 'bash', + 'c', + 'diff', + 'html', + 'lua', + 'luadoc', + 'markdown', + 'markdown_inline', + 'query', + 'vim', + 'vimdoc', + }, -- Autoinstall languages that are not installed auto_install = true, highlight = { From 22fbec6b6c58e47673470451714c54ad97ece1dd Mon Sep 17 00:00:00 2001 From: MaasOedipa Date: Mon, 15 Dec 2025 17:02:37 +0100 Subject: [PATCH 13/32] new keybinds and wraps for init.lua --- init.lua | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/init.lua b/init.lua index c7b952be358..e800f6855be 100644 --- a/init.lua +++ b/init.lua @@ -32,6 +32,7 @@ vim.o.undofile = true -- Case-insensitive searching UNLESS \C or one or more capital letters in the search term vim.o.ignorecase = true vim.o.smartcase = true +vim.o.smartindent = true -- Keep signcolumn on by default vim.o.signcolumn = 'yes' @@ -59,7 +60,7 @@ vim.o.cursorline = true vim.o.scrolloff = 15 vim.o.confirm = true - +vim.o.wrap = false -- [[ Basic Keymaps ]] -- See `:help vim.keymap.set()` @@ -97,6 +98,11 @@ vim.keymap.set('n', '', '', { desc = 'Move focus to the upper win -- vim.keymap.set("n", "", "J", { desc = "Move window to the lower" }) -- vim.keymap.set("n", "", "K", { desc = "Move window to the upper" }) +vim.keymap.set('n', 'tw', function() + vim.wo.wrap = not vim.wo.wrap + print('Wrap ' .. (vim.wo.wrap and 'enabled' or 'disabled')) +end, { desc = 'Toggle line wrap' }) + -- [[ Basic Autocommands ]] -- See `:help lua-guide-autocommands` From fa0aae5a480e5707a82d51428bc544ac44338374 Mon Sep 17 00:00:00 2001 From: MaasOedipa Date: Mon, 15 Dec 2025 17:02:59 +0100 Subject: [PATCH 14/32] virtcolumn for long sections --- lua/custom/plugins/virtcolumn.lua | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 lua/custom/plugins/virtcolumn.lua diff --git a/lua/custom/plugins/virtcolumn.lua b/lua/custom/plugins/virtcolumn.lua new file mode 100644 index 00000000000..663a5f2894a --- /dev/null +++ b/lua/custom/plugins/virtcolumn.lua @@ -0,0 +1,19 @@ +-- See the kickstart.nvim README for more information +return { + 'lukas-reineke/virt-column.nvim', + config = function() + require('virt-column').setup { + virtcolumn = '80,120', + exclude = { + filetypes = { + 'help', + 'lazy', + 'mason', + 'dashboard', + 'NvimTree', + }, + }, + char = '|', + } + end, +} From a31276bcddf051a07a99f84c1c0cf66320277402 Mon Sep 17 00:00:00 2001 From: MaasOedipa Date: Thu, 18 Dec 2025 14:24:13 +0100 Subject: [PATCH 15/32] render markdown added + keybinds for rendermarkdown in init.lua --- init.lua | 16 ++++++++++++++++ lua/custom/plugins/render-markdown.lua | 11 +++++++++++ 2 files changed, 27 insertions(+) create mode 100644 lua/custom/plugins/render-markdown.lua diff --git a/init.lua b/init.lua index e800f6855be..bccb063543e 100644 --- a/init.lua +++ b/init.lua @@ -103,6 +103,22 @@ vim.keymap.set('n', 'tw', function() print('Wrap ' .. (vim.wo.wrap and 'enabled' or 'disabled')) end, { desc = 'Toggle line wrap' }) +vim.keymap.set('n', 'tr', function() + -- Ensure line wrapping is enabled + if vim.bo.filetype ~= 'markdown' then + return + end + + vim.opt_local.wrap = true + vim.opt_local.linebreak = true + + -- Toggle RenderMarkdown + vim.cmd 'RenderMarkdown toggle' + + print 'RenderMarkdown enabled with line wrap' +end, { desc = 'Toggle RenderMarkdown + enable wrap' }) + +vim.keymap.set('n', 'tp', 'RenderMarkdown preview', { desc = 'Toggle Render md preview' }) -- [[ Basic Autocommands ]] -- See `:help lua-guide-autocommands` diff --git a/lua/custom/plugins/render-markdown.lua b/lua/custom/plugins/render-markdown.lua new file mode 100644 index 00000000000..0eab3f9f829 --- /dev/null +++ b/lua/custom/plugins/render-markdown.lua @@ -0,0 +1,11 @@ +return { + 'MeanderingProgrammer/render-markdown.nvim', + dependencies = { 'nvim-treesitter/nvim-treesitter', 'nvim-mini/mini.nvim' }, -- if you use the mini.nvim suite + -- dependencies = { 'nvim-treesitter/nvim-treesitter', 'nvim-mini/mini.icons' }, -- if you use standalone mini plugins + -- dependencies = { 'nvim-treesitter/nvim-treesitter', 'nvim-tree/nvim-web-devicons' }, -- if you prefer nvim-web-devicons + ---@module 'render-markdown' + ---@type render.md.UserConfig + opts = { + render_modes = {}, + }, +} From 478fc61ba5c560d2dd4756357536c6f88174d4c1 Mon Sep 17 00:00:00 2001 From: MaasOedipa Date: Thu, 18 Dec 2025 19:42:01 +0100 Subject: [PATCH 16/32] tried changing some neotree options but they are really strict, really just made some keybinds more explicit --- lua/custom/plugins/neo-tree.lua | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/lua/custom/plugins/neo-tree.lua b/lua/custom/plugins/neo-tree.lua index 1d0fbebd44d..ebc25ade8d5 100644 --- a/lua/custom/plugins/neo-tree.lua +++ b/lua/custom/plugins/neo-tree.lua @@ -25,6 +25,13 @@ return { window = { mappings = { ['\\'] = 'close_window', + ['P'] = { + 'toggle_preview', + config = { + width = '10%', + }, + }, + ['l'] = 'focus_preview', }, position = 'left', width = '20', From 2e762edce7bd61904b22cb30fda7ed0f266dca96 Mon Sep 17 00:00:00 2001 From: MaasOedipa Date: Sat, 27 Dec 2025 00:31:51 +0100 Subject: [PATCH 17/32] =?UTF-8?q?added=20=C2=BD=20optin=20to=20neotree=20r?= =?UTF-8?q?eveal=20keybind?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lua/custom/plugins/neo-tree.lua | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lua/custom/plugins/neo-tree.lua b/lua/custom/plugins/neo-tree.lua index ebc25ade8d5..5dcda567cb1 100644 --- a/lua/custom/plugins/neo-tree.lua +++ b/lua/custom/plugins/neo-tree.lua @@ -14,6 +14,7 @@ return { lazy = false, keys = { { '\\', ':Neotree reveal', desc = 'NeoTree reveal', silent = true }, + { '½', ':Neotree reveal', desc = 'NeoTree reveal', silent = true }, }, opts = { filesystem = { @@ -25,6 +26,7 @@ return { window = { mappings = { ['\\'] = 'close_window', + ['½'] = 'close_window', ['P'] = { 'toggle_preview', config = { From 5a0e2b81fc905cbfac400c5968088ec461426b11 Mon Sep 17 00:00:00 2001 From: MaasOedipa Date: Sun, 28 Dec 2025 07:32:50 +0100 Subject: [PATCH 18/32] notify and hardtime --- lua/custom/plugins/hardtime.lua | 6 ++++++ lua/custom/plugins/notify.lua | 6 ++++++ 2 files changed, 12 insertions(+) create mode 100644 lua/custom/plugins/hardtime.lua create mode 100644 lua/custom/plugins/notify.lua diff --git a/lua/custom/plugins/hardtime.lua b/lua/custom/plugins/hardtime.lua new file mode 100644 index 00000000000..1119b6dc5f5 --- /dev/null +++ b/lua/custom/plugins/hardtime.lua @@ -0,0 +1,6 @@ +return { + 'm4xshen/hardtime.nvim', + lazy = false, + dependencies = { 'MunifTanjim/nui.nvim' }, + opts = {}, +} diff --git a/lua/custom/plugins/notify.lua b/lua/custom/plugins/notify.lua new file mode 100644 index 00000000000..60c3721d7e8 --- /dev/null +++ b/lua/custom/plugins/notify.lua @@ -0,0 +1,6 @@ +return { + 'rcarriga/nvim-notify', + lazy = false, + dependencies = { 'MunifTanjim/nui.nvim' }, + opts = {}, +} From e4c441e5adc249b66454cd9c3f326526608d1ba1 Mon Sep 17 00:00:00 2001 From: MaasOedipa Date: Sun, 28 Dec 2025 07:50:28 +0100 Subject: [PATCH 19/32] added hardtime and notify | --- lua/custom/plugins/hardtime.lua | 6 +++++- lua/custom/plugins/notify.lua | 14 +++++++++++--- 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/lua/custom/plugins/hardtime.lua b/lua/custom/plugins/hardtime.lua index 1119b6dc5f5..5731103d85c 100644 --- a/lua/custom/plugins/hardtime.lua +++ b/lua/custom/plugins/hardtime.lua @@ -2,5 +2,9 @@ return { 'm4xshen/hardtime.nvim', lazy = false, dependencies = { 'MunifTanjim/nui.nvim' }, - opts = {}, + opts = { + disabled = false, + max_time = 5000, + notification = true, + }, } diff --git a/lua/custom/plugins/notify.lua b/lua/custom/plugins/notify.lua index 60c3721d7e8..ecfbb17a231 100644 --- a/lua/custom/plugins/notify.lua +++ b/lua/custom/plugins/notify.lua @@ -1,6 +1,14 @@ return { 'rcarriga/nvim-notify', - lazy = false, - dependencies = { 'MunifTanjim/nui.nvim' }, - opts = {}, + config = function() + require('notify').setup { + background_colour = '#000000', + stages = 'fade', + timeout = 500, + render = 'wrapped-compact', + } + + -- MUST be after setup + vim.notify = require 'notify' + end, } From c3f64f78bf9559c952e2d8e1ee36962ef5e58fa5 Mon Sep 17 00:00:00 2001 From: MaasOedipa Date: Sun, 28 Dec 2025 07:51:35 +0100 Subject: [PATCH 20/32] hardtime timeout chagned --- lua/custom/plugins/hardtime.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lua/custom/plugins/hardtime.lua b/lua/custom/plugins/hardtime.lua index 5731103d85c..74a2ac963fd 100644 --- a/lua/custom/plugins/hardtime.lua +++ b/lua/custom/plugins/hardtime.lua @@ -4,7 +4,7 @@ return { dependencies = { 'MunifTanjim/nui.nvim' }, opts = { disabled = false, - max_time = 5000, + max_time = 500, notification = true, }, } From e6e499d8ad1d896499d7eb814b60942ebc771551 Mon Sep 17 00:00:00 2001 From: MaasOedipa Date: Sun, 28 Dec 2025 08:56:32 +0100 Subject: [PATCH 21/32] changed keybind for neotree --- lua/custom/plugins/neo-tree.lua | 1 - 1 file changed, 1 deletion(-) diff --git a/lua/custom/plugins/neo-tree.lua b/lua/custom/plugins/neo-tree.lua index 5dcda567cb1..38bfa780e78 100644 --- a/lua/custom/plugins/neo-tree.lua +++ b/lua/custom/plugins/neo-tree.lua @@ -14,7 +14,6 @@ return { lazy = false, keys = { { '\\', ':Neotree reveal', desc = 'NeoTree reveal', silent = true }, - { '½', ':Neotree reveal', desc = 'NeoTree reveal', silent = true }, }, opts = { filesystem = { From 46254e46d918ea91f51f35580d003fb55ea88c4e Mon Sep 17 00:00:00 2001 From: MaasOedipa Date: Sun, 28 Dec 2025 08:58:37 +0100 Subject: [PATCH 22/32] Revert "hardtime timeout chagned" This reverts commit c3f64f78bf9559c952e2d8e1ee36962ef5e58fa5. --- lua/custom/plugins/hardtime.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lua/custom/plugins/hardtime.lua b/lua/custom/plugins/hardtime.lua index 74a2ac963fd..5731103d85c 100644 --- a/lua/custom/plugins/hardtime.lua +++ b/lua/custom/plugins/hardtime.lua @@ -4,7 +4,7 @@ return { dependencies = { 'MunifTanjim/nui.nvim' }, opts = { disabled = false, - max_time = 500, + max_time = 5000, notification = true, }, } From ca07abf338627337720d1629da0d16f953110467 Mon Sep 17 00:00:00 2001 From: MaasOedipa Date: Sun, 28 Dec 2025 08:59:55 +0100 Subject: [PATCH 23/32] Reapply "hardtime timeout chagned" This reverts commit 46254e46d918ea91f51f35580d003fb55ea88c4e. --- lua/custom/plugins/hardtime.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lua/custom/plugins/hardtime.lua b/lua/custom/plugins/hardtime.lua index 5731103d85c..74a2ac963fd 100644 --- a/lua/custom/plugins/hardtime.lua +++ b/lua/custom/plugins/hardtime.lua @@ -4,7 +4,7 @@ return { dependencies = { 'MunifTanjim/nui.nvim' }, opts = { disabled = false, - max_time = 5000, + max_time = 500, notification = true, }, } From 5d41f4c65e234585265e74cbe96663d77914994c Mon Sep 17 00:00:00 2001 From: MaasOedipa Date: Sun, 28 Dec 2025 09:06:42 +0100 Subject: [PATCH 24/32] reverted keybinds --- lua/custom/plugins/neo-tree.lua | 1 + 1 file changed, 1 insertion(+) diff --git a/lua/custom/plugins/neo-tree.lua b/lua/custom/plugins/neo-tree.lua index 38bfa780e78..5dcda567cb1 100644 --- a/lua/custom/plugins/neo-tree.lua +++ b/lua/custom/plugins/neo-tree.lua @@ -14,6 +14,7 @@ return { lazy = false, keys = { { '\\', ':Neotree reveal', desc = 'NeoTree reveal', silent = true }, + { '½', ':Neotree reveal', desc = 'NeoTree reveal', silent = true }, }, opts = { filesystem = { From d0c75615c06f8f257981a9a06434f7143d0609f6 Mon Sep 17 00:00:00 2001 From: MaasOedipa Date: Sun, 28 Dec 2025 09:11:27 +0100 Subject: [PATCH 25/32] changed readmee --- README.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/README.md b/README.md index cbe8dfe6f7a..3482e2dba79 100644 --- a/README.md +++ b/README.md @@ -2,8 +2,7 @@ Personal fork of kickstart.nvim -Link to kickstart repo -https://github.com/nvim-lua/kickstart.nvim +[Link to kickstart repo] (https://github.com/nvim-lua/kickstart.nvim) ## Installation From 8155be879dac92105cb43d4c57d0da5c40d2ad1b Mon Sep 17 00:00:00 2001 From: MaasOedipa Date: Sun, 28 Dec 2025 09:12:06 +0100 Subject: [PATCH 26/32] readme --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 3482e2dba79..2b38737c197 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ Personal fork of kickstart.nvim -[Link to kickstart repo] (https://github.com/nvim-lua/kickstart.nvim) +[Link to kickstart repo](https://github.com/nvim-lua/kickstart.nvim) ## Installation From 5a03ec401c7d08dc7072aa65660a0df4c4dc5fef Mon Sep 17 00:00:00 2001 From: MaasOedipa Date: Tue, 30 Dec 2025 12:00:37 +0100 Subject: [PATCH 27/32] added hardcount to hardtime --- lua/custom/plugins/hardtime.lua | 1 + 1 file changed, 1 insertion(+) diff --git a/lua/custom/plugins/hardtime.lua b/lua/custom/plugins/hardtime.lua index 74a2ac963fd..ae30ca470ce 100644 --- a/lua/custom/plugins/hardtime.lua +++ b/lua/custom/plugins/hardtime.lua @@ -5,6 +5,7 @@ return { opts = { disabled = false, max_time = 500, + max_count = 5, notification = true, }, } From a4b57654c9b6aebe9271fd366b8442e177124378 Mon Sep 17 00:00:00 2001 From: MaasOedipa Date: Sat, 28 Mar 2026 11:36:22 +0100 Subject: [PATCH 28/32] added data preview module --- lua/custom/plugins/data-preview.lua | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 lua/custom/plugins/data-preview.lua diff --git a/lua/custom/plugins/data-preview.lua b/lua/custom/plugins/data-preview.lua new file mode 100644 index 00000000000..506a6467b3f --- /dev/null +++ b/lua/custom/plugins/data-preview.lua @@ -0,0 +1,15 @@ +return { + 'vinvolve/data-preview.nvim', + cmd = { 'DataPreview', 'DataPreviewStats' }, + config = function() + local data_preview = require 'data-preview' + vim.api.nvim_create_user_command('DataPreview', data_preview.preview, { + nargs = 0, + desc = 'Preview data file (Parquet, Avro)', + }) + vim.api.nvim_create_user_command('DataPreviewStats', data_preview.preview_stats, { + nargs = 0, + desc = 'Preview data file statistics (min, max, nulls, etc.)', + }) + end, +} From fd4014638a2de6ed78598dba2b36f73bf1e4c7c7 Mon Sep 17 00:00:00 2001 From: MaasOedipa Date: Thu, 9 Apr 2026 19:59:28 +0200 Subject: [PATCH 29/32] added lockfile to nix purposes --- init.lua | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/init.lua b/init.lua index bccb063543e..d09191c98ab 100644 --- a/init.lua +++ b/init.lua @@ -856,7 +856,9 @@ require('lazy').setup({ -- Or use telescope! -- In normal mode type `sh` then write `lazy.nvim-plugin` -- you can continue same window with `sr` which resumes last telescope search -}, { +}, +{ +lockfile = vim.fn.stdpath("data") .. "/lazy-lock.json", ui = { -- If you are using a Nerd Font: set icons to an empty table which will use the -- default lazy.nvim defined Nerd Font icons, otherwise define a unicode icons table From e0ba4de2f90d9c34e2fa0f7a94719586d162514b Mon Sep 17 00:00:00 2001 From: MaasOedipa Date: Mon, 13 Apr 2026 10:54:55 +0200 Subject: [PATCH 30/32] added keybind for disabling notify we need this because nixos nvim fucking scks --- init.lua | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/init.lua b/init.lua index bccb063543e..d9ec42c8c5d 100644 --- a/init.lua +++ b/init.lua @@ -77,6 +77,19 @@ vim.keymap.set('n', 'q', vim.diagnostic.setloclist, { desc = 'Open diagn -- or just use to exit terminal mode vim.keymap.set('t', '', '', { desc = 'Exit terminal mode' }) +-- Disable plugins +local notify_enabled = true + +vim.keymap.set('n', 'un', function() + notify_enabled = not notify_enabled + + if notify_enabled then + vim.notify = require 'notify' + else + vim.notify = function() end + end +end, { desc = 'Toggle notifications' }) + -- TIP: Disable arrow keys in normal mode vim.keymap.set('n', '', 'echo "Use h to move!!"') vim.keymap.set('n', '', 'echo "Use l to move!!"') From 23ba5193d12af1720412333feb90172b5077071f Mon Sep 17 00:00:00 2001 From: MaasOedipa Date: Tue, 14 Apr 2026 20:11:43 +0200 Subject: [PATCH 31/32] main rename --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 2b38737c197..e9fe1c7ab1c 100644 --- a/README.md +++ b/README.md @@ -47,3 +47,4 @@ sudo pacman -S --noconfirm --needed gcc make git ripgrep fd unzip neovim ```
+test From fff68ad15f65a4555a477a7c7503df79dc901103 Mon Sep 17 00:00:00 2001 From: MaasOedipa Date: Thu, 11 Jun 2026 11:17:33 +0200 Subject: [PATCH 32/32] notify fix --- init.lua | 80 ++++++++++++++++++++++++++++++++--- lua/custom/plugins/notify.lua | 2 +- 2 files changed, 76 insertions(+), 6 deletions(-) diff --git a/init.lua b/init.lua index c72bf2e5258..7070db2b231 100644 --- a/init.lua +++ b/init.lua @@ -69,6 +69,18 @@ vim.keymap.set('n', '', 'nohlsearch') -- Diagnostic keymaps vim.keymap.set('n', 'q', vim.diagnostic.setloclist, { desc = 'Open diagnostic [Q]uickfix list' }) +local lsp_show = true +vim.keymap.set('n', 'ul', function() + lsp_show = not lsp_show + + if lsp_show then + vim.lsp.handlers['window/showMessage'] = vim.lsp.handlers['window/showMessageDefault'] + print 'LSP messages ON' + else + vim.lsp.handlers['window/showMessage'] = function() end + print 'LSP messages OFF' + end +end, { desc = 'Toggle LSP messages' }) -- Exit terminal mode in the builtin terminal with a shortcut that is a bit easier -- for people to discover. Otherwise, you normally need to press , which -- is not what someone will guess without a bit more experience. @@ -134,6 +146,16 @@ end, { desc = 'Toggle RenderMarkdown + enable wrap' }) vim.keymap.set('n', 'tp', 'RenderMarkdown preview', { desc = 'Toggle Render md preview' }) -- [[ Basic Autocommands ]] -- See `:help lua-guide-autocommands` +-- +vim.api.nvim_create_autocmd('FileType', { + pattern = 'fsharp', + callback = function() + vim.opt_local.expandtab = true + vim.opt_local.tabstop = 4 + vim.opt_local.shiftwidth = 4 + vim.opt_local.softtabstop = 4 + end, +}) vim.api.nvim_create_autocmd('TextYankPost', { desc = 'Highlight when yanking (copying) text', @@ -371,7 +393,27 @@ require('lazy').setup({ 'WhoIsSethDaniel/mason-tool-installer.nvim', -- Useful status updates for LSP. - { 'j-hui/fidget.nvim', opts = {} }, + { + 'j-hui/fidget.nvim', + enabled = false, + opts = { + progress = { + display = { + render_limit = 2, + done_ttl = 0.5, + progress_ttl = 0.5, + skip_history = true, + }, + }, + + notification = { + window = { + winblend = 40, + override_vim_notify = false, + }, + }, + }, + }, -- Allows extra capabilities provided by blink.cmp 'saghen/blink.cmp', @@ -734,7 +776,7 @@ require('lazy').setup({ completion = { -- By default, you may press `` to show the documentation. -- Optionally, set `auto_show = true` to show the documentation after a delay. - documentation = { auto_show = false, auto_show_delay_ms = 500 }, + documentation = { auto_show = false, auto_show_delay_ms = 500, window = { max_width = 30, max_height = 8 } }, }, sources = { @@ -869,9 +911,8 @@ require('lazy').setup({ -- Or use telescope! -- In normal mode type `sh` then write `lazy.nvim-plugin` -- you can continue same window with `sr` which resumes last telescope search -}, -{ -lockfile = vim.fn.stdpath("data") .. "/lazy-lock.json", +}, { + lockfile = vim.fn.stdpath 'data' .. '/lazy-lock.json', ui = { -- If you are using a Nerd Font: set icons to an empty table which will use the -- default lazy.nvim defined Nerd Font icons, otherwise define a unicode icons table @@ -896,4 +937,33 @@ lockfile = vim.fn.stdpath("data") .. "/lazy-lock.json", -- The line beneath this is called `modeline`. See `:help modeline` -- vim: ts=2 sts=2 sw=2 et +vim.lsp.config('fsautocomplete', { + cmd = { 'fsautocomplete', '--adaptive-lsp-server-enabled' }, + + filetypes = { 'fsharp' }, + + root_dir = function(bufnr) + return vim.fs.root(bufnr, { '*.fsproj', '.git' }) + end, + + settings = { + FsAutoComplete = { + LazyProjectWorkspace = true, + BackgroundAnalysis = false, + ExternalAutocomplete = false, + Linter = false, + UnionCaseStubGeneration = false, + RecordStubGeneration = false, + InterfaceStubGeneration = false, + }, + }, + + on_attach = function(client, bufnr) + client.server_capabilities.semanticTokensProvider = nil + client.server_capabilities.documentFormattingProvider = false + client.server_capabilities.documentRangeFormattingProvider = false + end, +}) + +vim.lsp.enable 'fsautocomplete' require 'custom.themes' diff --git a/lua/custom/plugins/notify.lua b/lua/custom/plugins/notify.lua index ecfbb17a231..3e665c8d410 100644 --- a/lua/custom/plugins/notify.lua +++ b/lua/custom/plugins/notify.lua @@ -4,7 +4,7 @@ return { require('notify').setup { background_colour = '#000000', stages = 'fade', - timeout = 500, + timeout = 300, render = 'wrapped-compact', }