diff --git a/.editorconfig b/.editorconfig index c92fdf7f..2f767ae8 100644 --- a/.editorconfig +++ b/.editorconfig @@ -26,3 +26,6 @@ trim_trailing_whitespace = unset [*.lock] indent_size = unset + +[npins/sources.json] +insert_final_newline = unset diff --git a/.github/typos.toml b/.github/typos.toml index df76201c..2ea46a8c 100644 --- a/.github/typos.toml +++ b/.github/typos.toml @@ -1,2 +1,5 @@ default.extend-ignore-words-re = ["(?i)(noice)", "befores", "annote", "viw"] +files.extend-exclude = [ +"npins/sources.json" +] diff --git a/.github/workflows/cachix.yml b/.github/workflows/cachix.yml index 4aa0b215..cac8ee51 100644 --- a/.github/workflows/cachix.yml +++ b/.github/workflows/cachix.yml @@ -35,7 +35,6 @@ jobs: - name: Install Nix uses: DeterminateSystems/nix-installer-action@main - - uses: DeterminateSystems/magic-nix-cache-action@main - uses: cachix/cachix-action@v15 with: diff --git a/docs/manual/configuring.md b/docs/manual/configuring.md index 3ac261fe..f891c7a6 100644 --- a/docs/manual/configuring.md +++ b/docs/manual/configuring.md @@ -3,7 +3,7 @@ ```{=include=} chapters configuring/custom-package.md configuring/custom-plugins.md -configuring/custom-inputs.md +configuring/overriding-plugins.md configuring/languages.md configuring/dags.md configuring/dag-entries.md diff --git a/docs/manual/configuring/custom-inputs.md b/docs/manual/configuring/custom-inputs.md deleted file mode 100644 index 4f2a523b..00000000 --- a/docs/manual/configuring/custom-inputs.md +++ /dev/null @@ -1,53 +0,0 @@ -# Custom Inputs {#ch-custom-inputs} - -One of the greatest strengths of **nvf** is its ability to get plugins from -flake inputs and build them locally from any given source. For plugins that do -not require any kind of additional building step, this is a powerful method of -adding plugins to your configuration that are not packaged in nixpkgs, or those -you want to track from source without relying on nixpkgs. - -The [additional plugins section](#sec-additional-plugins) details the addition -of new plugins to nvf under regular circumstances, i.e. while making a pull -request to the project. You may _override_ those plugin inputs in your own -`flake.nix` to change source versions, e.g., to use newer versions of plugins -that are not yet updated in **nvf**. - -```nix -{ - - inputs = { - # ... - - # The name here is arbitrary, you can name it whatever. - # This will add a plugin input called "your-neodev-input" - # that you can reference in a `follows` line. - your-neodev-input = { - url = "github:folke/neodev.nvim"; - flake = false; - }; - - nvf = { - url = "github:notashelf/nvf"; - - # The name of the input must match for the follows line - # plugin-neodev-nvim is what the input is called inside nvf - # so you must match the exact name here. - inputs.plugin-neodev-nvim.follows = "your-neodev-input"; - }; - # ... - }; -} -``` - -This will override the source for the `neodev.nvim` plugin that is used in nvf -with your own input. You can update your new input via `nix flake update` or -more specifically `nix flake update ` to keep it up to date. - -::: {.warning} - -While updating plugin inputs, make sure that any configuration that has been -deprecated in newer versions is changed in the plugin's `setupOpts`. If you -depend on a new version, requesting a version bump in the issues section is a -more reliable option. - -::: diff --git a/docs/manual/configuring/overriding-plugins.md b/docs/manual/configuring/overriding-plugins.md new file mode 100644 index 00000000..bb698666 --- /dev/null +++ b/docs/manual/configuring/overriding-plugins.md @@ -0,0 +1,35 @@ +# Overriding plugins {#ch-overriding-plugins} + +The [additional plugins section](#sec-additional-plugins) details the addition +of new plugins to nvf under regular circumstances, i.e. while making a pull +request to the project. You may _override_ those plugins in your config +to change source versions, e.g., to use newer versions of plugins +that are not yet updated in **nvf**. + +```nix +vim.pluginOverrides = { + lazydev-nvim = pkgs.fetchFromGitHub { + owner = "folke"; + repo = "lazydev.nvim"; + rev = ""; + hash = ""; + }; + # It's also possible to use a flake input + lazydev-nvim = inputs.lazydev-nvim; + # Or a local path + lazydev-nvim = ./lazydev; + # Or a npins pin... etc +}; +``` + +This will override the source for the `neodev.nvim` plugin that is used in nvf +with your own plugin. + +::: {.warning} + +While updating plugin inputs, make sure that any configuration that has been +deprecated in newer versions is changed in the plugin's `setupOpts`. If you +depend on a new version, requesting a version bump in the issues section is a +more reliable option. + +::: diff --git a/docs/manual/hacking/additional-plugins.md b/docs/manual/hacking/additional-plugins.md index e67fa96b..0ed252c7 100644 --- a/docs/manual/hacking/additional-plugins.md +++ b/docs/manual/hacking/additional-plugins.md @@ -1,36 +1,25 @@ # Adding Plugins {#sec-additional-plugins} -To add a new Neovim plugin, first add the source url in the inputs section of -`flake.nix` with the prefix `plugin-` +To add a new Neovim plugin, use `npins` + +Use: + +`nix-shell -p npins` or `nix shell nixpkgs#npins` + +Then run: + +`npins add --name github -b ` + +Be sure to replace any non-alphanumeric characters with `-` for `--name` + +For example + +`npins add --name lazydev-nvim github folke lazydev.nvim -b main` + +You can now reference this plugin as a **string**. ```nix -{ - inputs = { - # ... - plugin-neodev-nvim = { - url = "github:folke/neodev.nvim"; - flake = false; - }; - # ... - }; -} -``` - -Prepending `plugin-` to the name of the input will allow nvf to automatically -discover inputs that are marked as plugins, and make them available in -`vim.startPlugins` or other areas that require a very specific plugin type as it -is defined in `@NVF_REPO@/lib/types/plugins.nix` - -The addition of the `plugin-` prefix will allow **nvf** to autodiscover the -input from the flake inputs automatically, allowing you to refer to it in areas -that require a very specific plugin type as defined in `lib/types/plugins.nix` - -You can now reference this plugin using its string name, the plugin will be -built with the name and source URL from the flake input, allowing you to refer -to it as a **string**. - -```nix -config.vim.startPlugins = ["neodev-nvim"]; +config.vim.startPlugins = ["lazydev-nvim"]; ``` ## Modular setup options {#sec-modular-setup-options} diff --git a/docs/manual/installation/custom-configuration.md b/docs/manual/installation/custom-configuration.md index b6c27163..940f35a3 100644 --- a/docs/manual/installation/custom-configuration.md +++ b/docs/manual/installation/custom-configuration.md @@ -23,15 +23,17 @@ An example flake that exposes your custom Neovim configuration might look like nvf.url = "github:notashelf/nvf"; }; - outputs = { - self, - nixpkgs, - ... - } @ inputs: { - packages."x86_64-linux" = let - neovimConfigured = (inputs.nvf.lib.neovimConfiguration { - inherit (nixpkgs.legacyPackages."x86_64-linux") pkgs; - modules = [{ + outputs = {nixpkgs, ...} @ inputs: { + packages.x86_64-linux = { + # Set the default package to the wrapped instance of Neovim. + # This will allow running your Neovim configuration with + # `nix run` and in addition, sharing your configuration with + # other users in case your repository is public. + default = + (inputs.nvf.lib.neovimConfiguration { + pkgs = nixpkgs.legacyPackages.x86_64-linux; + modules = [ + { config.vim = { # Enable custom theming options theme.enable = true; @@ -43,14 +45,10 @@ An example flake that exposes your custom Neovim configuration might look like # reference in Appendix B of the nvf manual. # ... }; - }]; - }); - in { - # Set the default package to the wrapped instance of Neovim. - # This will allow running your Neovim configuration with - # `nix run` and in addition, sharing your configuration with - # other users in case your repository is public. - default = neovimConfigured.neovim; + } + ]; + }) + .neovim; }; }; } diff --git a/docs/manual/installation/modules/home-manager.md b/docs/manual/installation/modules/home-manager.md index 34f2757e..2b359af5 100644 --- a/docs/manual/installation/modules/home-manager.md +++ b/docs/manual/installation/modules/home-manager.md @@ -49,13 +49,10 @@ Followed by importing the home-manager module somewhere in your configuration. nvf.url = "github:notashelf/nvf"; }; - outputs = { nixpkgs, home-manager, nvf, ... }: let - system = "x86_64-linux"; - pkgs = nixpkgs.legacyPackages.${system}; - in { + outputs = { nixpkgs, home-manager, nvf, ... }: { # ↓ this is your home output in the flake schema, expected by home-manager "your-username@your-hostname" = home-manager.lib.homeManagerConfiguration { - inherit pkgs; + pkgs = nixpkgs.legacyPackages.x86_64-linux; modules = [ nvf.homeManagerModules.default # <- this imports the home-manager module that provides the options ./home.nix # <- your home entrypoint, `programs.nvf.*` may be defined here diff --git a/docs/manual/installation/standalone/nixos.md b/docs/manual/installation/standalone/nixos.md index a78c8dee..267d15b7 100644 --- a/docs/manual/installation/standalone/nixos.md +++ b/docs/manual/installation/standalone/nixos.md @@ -16,26 +16,32 @@ the default theme enabled. You may use other options inside `config.vim` in nvf.url = "github:notashelf/nvf"; }; - outputs = {nixpkgs, nvf, ...}: let - system = "x86_64-linux"; - pkgs = nixpkgs.legacyPackages.${system}; - configModule = { - # Add any custom options (and do feel free to upstream them!) - # options = { ... }; - - config.vim = { - theme.enable = true; - # and more options as you see fit... - }; - }; - - customNeovim = nvf.lib.neovimConfiguration { - inherit pkgs; - modules = [configModule]; - }; - in { + outputs = { + nixpkgs, + nvf, + self, + ... + }: { # This will make the package available as a flake output under 'packages' - packages.${system}.my-neovim = customNeovim.neovim; + packages.x86_64-linux.my-neovim = + (nvf.lib.neovimConfiguration { + pkgs = nixpkgs.legacyPackages.x86_64-linux; + modules = [ + # Or move this to a separate file and add it's path here instead + # IE: ./nvf_module.nix + ( + {pkgs, ...}: { + # Add any custom options (and do feel free to upstream them!) + # options = { ... }; + config.vim = { + theme.enable = true; + # and more options as you see fit... + }; + } + ) + ]; + }) + .neovim; # Example nixosConfiguration using the configured Neovim package nixosConfigurations = { @@ -43,11 +49,13 @@ the default theme enabled. You may use other options inside `config.vim` in # ... modules = [ # This will make wrapped neovim available in your system packages - {environment.systemPackages = [customNeovim.neovim];} + # Can also move this to another config file if you pass inputs/self around with specialArgs + ({pkgs, ...}: { + environment.systemPackages = [self.packages.${pkgs.stdenv.system}.neovim]; + }) ]; # ... }; }; }; -} -``` +}``` diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index 768f2476..9ffd68fd 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -47,6 +47,12 @@ - Add Haskell support under `vim.languages.haskell` using [haskell-tools.nvim]. +[horriblename](https://github.com/horriblename): + +[blink.cmp]: https://github.com/saghen/blink.cmp + +- Add [blink.cmp] support + [diniamo](https://github.com/diniamo): - Add Odin support under `vim.languages.odin`. diff --git a/flake.lock b/flake.lock index 8e5a40d7..9221f43f 100644 --- a/flake.lock +++ b/flake.lock @@ -1,5 +1,21 @@ { "nodes": { + "blink-cmp": { + "flake": false, + "locked": { + "lastModified": 1739129359, + "narHash": "sha256-nUrXXiJ7NRxS21H53U323lwEKdo08Y011l8XskXC/vw=", + "owner": "saghen", + "repo": "blink.cmp", + "rev": "b2485c76cb7877de6fe9c8670af59ba3d72fd74d", + "type": "github" + }, + "original": { + "owner": "saghen", + "repo": "blink.cmp", + "type": "github" + } + }, "flake-parts": { "inputs": { "nixpkgs-lib": "nixpkgs-lib" @@ -119,2838 +135,15 @@ "type": "sourcehut" } }, - "plugin-aerial-nvim": { - "flake": false, - "locked": { - "lastModified": 1736064692, - "narHash": "sha256-7YQtkUTACTMfAGoqoFDPmRrqtw+ypxDbeLCTB3sy4Us=", - "owner": "stevearc", - "repo": "aerial.nvim", - "rev": "b3ec25ca8c347fafa976484a6cace162239112e1", - "type": "github" - }, - "original": { - "owner": "stevearc", - "repo": "aerial.nvim", - "type": "github" - } - }, - "plugin-alpha-nvim": { - "flake": false, - "locked": { - "lastModified": 1731604504, - "narHash": "sha256-sNi5qarejYqM4/J7lBZI3gjVLxer5FBPq8K6qjqcMjA=", - "owner": "goolord", - "repo": "alpha-nvim", - "rev": "de72250e054e5e691b9736ee30db72c65d560771", - "type": "github" - }, - "original": { - "owner": "goolord", - "repo": "alpha-nvim", - "type": "github" - } - }, - "plugin-base16": { - "flake": false, - "locked": { - "lastModified": 1716483968, - "narHash": "sha256-GRF/6AobXHamw8TZ3FjL7SI6ulcpwpcohsIuZeCSh2A=", - "owner": "rrethy", - "repo": "base16-nvim", - "rev": "6ac181b5733518040a33017dde654059cd771b7c", - "type": "github" - }, - "original": { - "owner": "rrethy", - "repo": "base16-nvim", - "type": "github" - } - }, - "plugin-bufdelete-nvim": { - "flake": false, - "locked": { - "lastModified": 1708814161, - "narHash": "sha256-ljUNfmpImtxFCS19HC9kFlaLlqaPDltKtnx1+/6Y33U=", - "owner": "famiu", - "repo": "bufdelete.nvim", - "rev": "f6bcea78afb3060b198125256f897040538bcb81", - "type": "github" - }, - "original": { - "owner": "famiu", - "repo": "bufdelete.nvim", - "type": "github" - } - }, - "plugin-catppuccin": { - "flake": false, - "locked": { - "lastModified": 1735299190, - "narHash": "sha256-lwQLmqm01FihJdad4QRMK23MTrouyOokyuX/3enWjzs=", - "owner": "catppuccin", - "repo": "nvim", - "rev": "f67b886d65a029f12ffa298701fb8f1efd89295d", - "type": "github" - }, - "original": { - "owner": "catppuccin", - "repo": "nvim", - "type": "github" - } - }, - "plugin-ccc": { - "flake": false, - "locked": { - "lastModified": 1727935067, - "narHash": "sha256-OhdR2sAQV5PvlhaKQ6rYneMmvQiN3QfymOeanpAs9wY=", - "owner": "uga-rosa", - "repo": "ccc.nvim", - "rev": "7c639042583c7bdc7ce2e37e5a0e0aa6d0659c6a", - "type": "github" - }, - "original": { - "owner": "uga-rosa", - "repo": "ccc.nvim", - "type": "github" - } - }, - "plugin-cellular-automaton": { - "flake": false, - "locked": { - "lastModified": 1719777869, - "narHash": "sha256-nIv7ISRk0+yWd1lGEwAV6u1U7EFQj/T9F8pU6O0Wf0s=", - "owner": "Eandrju", - "repo": "cellular-automaton.nvim", - "rev": "11aea08aa084f9d523b0142c2cd9441b8ede09ed", - "type": "github" - }, - "original": { - "owner": "Eandrju", - "repo": "cellular-automaton.nvim", - "type": "github" - } - }, - "plugin-chatgpt": { - "flake": false, - "locked": { - "lastModified": 1728720509, - "narHash": "sha256-+YVXAkG4pp7RGs8lGnNFc0kQcUV3O3kYBQaQ5Qa4wB0=", - "owner": "jackMort", - "repo": "ChatGPT.nvim", - "rev": "5b6d296eefc75331e2ff9f0adcffbd7d27862dd6", - "type": "github" - }, - "original": { - "owner": "jackMort", - "repo": "ChatGPT.nvim", - "type": "github" - } - }, - "plugin-cheatsheet-nvim": { - "flake": false, - "locked": { - "lastModified": 1640255456, - "narHash": "sha256-TYkGB7cON2t4GwMaR9H1MDG2j3btBv2AR37ade8kqTY=", - "owner": "sudormrfbin", - "repo": "cheatsheet.nvim", - "rev": "9716f9aaa94dd1fd6ce59b5aae0e5f25e2a463ef", - "type": "github" - }, - "original": { - "owner": "sudormrfbin", - "repo": "cheatsheet.nvim", - "type": "github" - } - }, - "plugin-cinnamon-nvim": { - "flake": false, - "locked": { - "lastModified": 1722992123, - "narHash": "sha256-kccQ4iFMSQ8kvE7hYz90hBrsDLo7VohFj/6lEZZiAO8=", - "owner": "declancm", - "repo": "cinnamon.nvim", - "rev": "450cb3247765fed7871b41ef4ce5fa492d834215", - "type": "github" - }, - "original": { - "owner": "declancm", - "repo": "cinnamon.nvim", - "type": "github" - } - }, - "plugin-cmp-buffer": { - "flake": false, - "locked": { - "lastModified": 1660101488, - "narHash": "sha256-dG4U7MtnXThoa/PD+qFtCt76MQ14V1wX8GMYcvxEnbM=", - "owner": "hrsh7th", - "repo": "cmp-buffer", - "rev": "3022dbc9166796b644a841a02de8dd1cc1d311fa", - "type": "github" - }, - "original": { - "owner": "hrsh7th", - "repo": "cmp-buffer", - "type": "github" - } - }, - "plugin-cmp-luasnip": { - "flake": false, - "locked": { - "lastModified": 1730707109, - "narHash": "sha256-86lKQPPyqFz8jzuLajjHMKHrYnwW6+QOcPyQEx6B+gw=", - "owner": "saadparwaiz1", - "repo": "cmp_luasnip", - "rev": "98d9cb5c2c38532bd9bdb481067b20fea8f32e90", - "type": "github" - }, - "original": { - "owner": "saadparwaiz1", - "repo": "cmp_luasnip", - "type": "github" - } - }, - "plugin-cmp-nvim-lsp": { - "flake": false, - "locked": { - "lastModified": 1733823748, - "narHash": "sha256-iaihXNCF5bB5MdeoosD/kc3QtpA/QaIDZVLiLIurBSM=", - "owner": "hrsh7th", - "repo": "cmp-nvim-lsp", - "rev": "99290b3ec1322070bcfb9e846450a46f6efa50f0", - "type": "github" - }, - "original": { - "owner": "hrsh7th", - "repo": "cmp-nvim-lsp", - "type": "github" - } - }, - "plugin-cmp-path": { - "flake": false, - "locked": { - "lastModified": 1664784283, - "narHash": "sha256-thppiiV3wjIaZnAXmsh7j3DUc6ceSCvGzviwFUnoPaI=", - "owner": "hrsh7th", - "repo": "cmp-path", - "rev": "91ff86cd9c29299a64f968ebb45846c485725f23", - "type": "github" - }, - "original": { - "owner": "hrsh7th", - "repo": "cmp-path", - "type": "github" - } - }, - "plugin-cmp-treesitter": { - "flake": false, - "locked": { - "lastModified": 1715596479, - "narHash": "sha256-8WAk9S+/7vSz7bVHdEzjbKUokU144fvnByIeJ1gAWhU=", - "owner": "ray-x", - "repo": "cmp-treesitter", - "rev": "958fcfa0d8ce46d215e19cc3992c542f576c4123", - "type": "github" - }, - "original": { - "owner": "ray-x", - "repo": "cmp-treesitter", - "type": "github" - } - }, - "plugin-codewindow-nvim": { - "flake": false, - "locked": { - "lastModified": 1717593052, - "narHash": "sha256-HAqVTAkFZ1/vBiBP/QDE1fmwOl/PbznAxz/jmUFxs88=", - "owner": "gorbit99", - "repo": "codewindow.nvim", - "rev": "dd7017617962943eb1d152fc58940f11c6775a4a", - "type": "github" - }, - "original": { - "owner": "gorbit99", - "repo": "codewindow.nvim", - "type": "github" - } - }, - "plugin-comment-nvim": { - "flake": false, - "locked": { - "lastModified": 1717957420, - "narHash": "sha256-h0kPue5Eqd5aeu4VoLH45pF0DmWWo1d8SnLICSQ63zc=", - "owner": "numToStr", - "repo": "Comment.nvim", - "rev": "e30b7f2008e52442154b66f7c519bfd2f1e32acb", - "type": "github" - }, - "original": { - "owner": "numToStr", - "repo": "Comment.nvim", - "type": "github" - } - }, - "plugin-copilot-cmp": { - "flake": false, - "locked": { - "lastModified": 1733947099, - "narHash": "sha256-erRL8bY/zuwuCZfttw+avTrFV7pjv2H6v73NzY2bymM=", - "owner": "zbirenbaum", - "repo": "copilot-cmp", - "rev": "15fc12af3d0109fa76b60b5cffa1373697e261d1", - "type": "github" - }, - "original": { - "owner": "zbirenbaum", - "repo": "copilot-cmp", - "type": "github" - } - }, - "plugin-copilot-lua": { - "flake": false, - "locked": { - "lastModified": 1734926641, - "narHash": "sha256-c2UE0dLBtoYMvMxg+jXzfsD+wN9sZLvftJq4gGmooZU=", - "owner": "zbirenbaum", - "repo": "copilot.lua", - "rev": "886ee73b6d464b2b3e3e6a7ff55ce87feac423a9", - "type": "github" - }, - "original": { - "owner": "zbirenbaum", - "repo": "copilot.lua", - "type": "github" - } - }, - "plugin-crates-nvim": { - "flake": false, - "locked": { - "lastModified": 1727384188, - "narHash": "sha256-DIG0MXRTit4iEVoLlgsTK4znjam/QDjeZEpIDn6KHiE=", - "owner": "Saecki", - "repo": "crates.nvim", - "rev": "8bf8358ee326d5d8c11dcd7ac0bcc9ff97dbc785", - "type": "github" - }, - "original": { - "owner": "Saecki", - "repo": "crates.nvim", - "type": "github" - } - }, - "plugin-csharpls-extended": { - "flake": false, - "locked": { - "lastModified": 1734491815, - "narHash": "sha256-jO/vuNgP8JAOIturzPFvxMLL5y+6YTYsUxjWwX6Nyso=", - "owner": "Decodetalkers", - "repo": "csharpls-extended-lsp.nvim", - "rev": "4f56c06215d10c4fcfee8a7f04ba766c114aece0", - "type": "github" - }, - "original": { - "owner": "Decodetalkers", - "repo": "csharpls-extended-lsp.nvim", - "type": "github" - } - }, - "plugin-dashboard-nvim": { - "flake": false, - "locked": { - "lastModified": 1730526793, - "narHash": "sha256-Qi8kmC3U8Tvxh0pWIBtN3DuWJioEGWn7FqQ8lQwauRo=", - "owner": "glepnir", - "repo": "dashboard-nvim", - "rev": "ae309606940d26d8c9df8b048a6e136b6bbec478", - "type": "github" - }, - "original": { - "owner": "glepnir", - "repo": "dashboard-nvim", - "type": "github" - } - }, - "plugin-diffview-nvim": { - "flake": false, - "locked": { - "lastModified": 1718279802, - "narHash": "sha256-SX+ybIzL/w6uyCy4iZKnWnzTFwqB1oXSgyYVAdpdKi8=", - "owner": "sindrets", - "repo": "diffview.nvim", - "rev": "4516612fe98ff56ae0415a259ff6361a89419b0a", - "type": "github" - }, - "original": { - "owner": "sindrets", - "repo": "diffview.nvim", - "type": "github" - } - }, - "plugin-dracula": { - "flake": false, - "locked": { - "lastModified": 1734597715, - "narHash": "sha256-9iRI5NW3mcVzduitY4sr679dRWAWVbZuCAEfgM1OIOs=", - "owner": "Mofiqul", - "repo": "dracula.nvim", - "rev": "515acae4fd294fcefa5b15237a333c2606e958d1", - "type": "github" - }, - "original": { - "owner": "Mofiqul", - "repo": "dracula.nvim", - "type": "github" - } - }, - "plugin-dressing-nvim": { - "flake": false, - "locked": { - "lastModified": 1734804193, - "narHash": "sha256-N4hB5wDgoqXrXxSfzDCrqmdDtdVvq+PtOS7FBPH7qXE=", - "owner": "stevearc", - "repo": "dressing.nvim", - "rev": "3a45525bb182730fe462325c99395529308f431e", - "type": "github" - }, - "original": { - "owner": "stevearc", - "repo": "dressing.nvim", - "type": "github" - } - }, - "plugin-elixir-tools": { - "flake": false, - "locked": { - "lastModified": 1735076861, - "narHash": "sha256-CoGTVSKifjqshk8hYaQfFYTYgEGsIb1hKdz6fIS81iU=", - "owner": "elixir-tools", - "repo": "elixir-tools.nvim", - "rev": "803fa69dbb457305cff98e3997bed2c4b51aea7c", - "type": "github" - }, - "original": { - "owner": "elixir-tools", - "repo": "elixir-tools.nvim", - "type": "github" - } - }, - "plugin-fastaction-nvim": { - "flake": false, - "locked": { - "lastModified": 1734546047, - "narHash": "sha256-1GSxTyXqufjkRtNK3drWlCn/mGJ9mM9bHMR6ZwWT6X8=", - "owner": "Chaitanyabsprip", - "repo": "fastaction.nvim", - "rev": "886e22d85e13115808e81ca367d5aaba02d9a25b", - "type": "github" - }, - "original": { - "owner": "Chaitanyabsprip", - "repo": "fastaction.nvim", - "type": "github" - } - }, - "plugin-fidget-nvim": { - "flake": false, - "locked": { - "lastModified": 1734334336, - "narHash": "sha256-o0za2NxFtzHZa7PRIm9U/P1/fwJrxS1G79ukdGLhJ4Q=", - "owner": "j-hui", - "repo": "fidget.nvim", - "rev": "9238947645ce17d96f30842e61ba81147185b657", - "type": "github" - }, - "original": { - "owner": "j-hui", - "repo": "fidget.nvim", - "type": "github" - } - }, - "plugin-flutter-tools": { - "flake": false, - "locked": { - "lastModified": 1735420417, - "narHash": "sha256-xfSdPhrSUwBYdE9ZA8GgwFvR70nOp+snbNrFHeIfwOM=", - "owner": "akinsho", - "repo": "flutter-tools.nvim", - "rev": "a526c30f1941a7472509aaedda13758f943c968e", - "type": "github" - }, - "original": { - "owner": "akinsho", - "repo": "flutter-tools.nvim", - "type": "github" - } - }, - "plugin-friendly-snippets": { - "flake": false, - "locked": { - "lastModified": 1733106470, - "narHash": "sha256-I8SRZxnoNC6SOWW+scoA77Jwyxcb4eUczppLdyOiZe0=", - "owner": "rafamadriz", - "repo": "friendly-snippets", - "rev": "efff286dd74c22f731cdec26a70b46e5b203c619", - "type": "github" - }, - "original": { - "owner": "rafamadriz", - "repo": "friendly-snippets", - "type": "github" - } - }, - "plugin-fzf-lua": { - "flake": false, - "locked": { - "lastModified": 1737131132, - "narHash": "sha256-0IdADUsIr+SZ0ort92jPPfGIH1EdcwELYz+TCmDCPPI=", - "owner": "ibhagwan", - "repo": "fzf-lua", - "rev": "fbe21aeb147b3dc8b188b5753a8e288ecedcee5e", - "type": "github" - }, - "original": { - "owner": "ibhagwan", - "repo": "fzf-lua", - "type": "github" - } - }, - "plugin-gesture-nvim": { - "flake": false, - "locked": { - "lastModified": 1731669851, - "narHash": "sha256-LTkttlDmKO9ngzrJrMWeeG9R0Bz/PoroCAF2URhUEbM=", - "owner": "notomo", - "repo": "gesture.nvim", - "rev": "dbd839bda337cb73911aeef06897eb29cb99f76f", - "type": "github" - }, - "original": { - "owner": "notomo", - "repo": "gesture.nvim", - "type": "github" - } - }, - "plugin-gitsigns-nvim": { - "flake": false, - "locked": { - "lastModified": 1732361574, - "narHash": "sha256-H7A+AxioiedSuC+jqRwP4c7DjZR/0j4o/fTUasT2urc=", - "owner": "lewis6991", - "repo": "gitsigns.nvim", - "rev": "5f808b5e4fef30bd8aca1b803b4e555da07fc412", - "type": "github" - }, - "original": { - "owner": "lewis6991", - "repo": "gitsigns.nvim", - "type": "github" - } - }, - "plugin-glow-nvim": { - "flake": false, - "locked": { - "lastModified": 1703345545, - "narHash": "sha256-GsNcASzVvY0066kak2nvUY5luzanoBclqcUOsODww8g=", - "owner": "ellisonleao", - "repo": "glow.nvim", - "rev": "238070a686c1da3bccccf1079700eb4b5e19aea4", - "type": "github" - }, - "original": { - "owner": "ellisonleao", - "repo": "glow.nvim", - "type": "github" - } - }, - "plugin-gruvbox": { - "flake": false, - "locked": { - "lastModified": 1732485864, - "narHash": "sha256-qasIg1nvAlUWUUzSZLF36jnoNm8PmQa3owgh0tKGgHk=", - "owner": "ellisonleao", - "repo": "gruvbox.nvim", - "rev": "68c3460a5d1d1a362318960035c9f3466d5011f5", - "type": "github" - }, - "original": { - "owner": "ellisonleao", - "repo": "gruvbox.nvim", - "type": "github" - } - }, - "plugin-haskell-tools-nvim": { - "flake": false, - "locked": { - "lastModified": 1734222260, - "narHash": "sha256-gZVN9ADPO5wFOaf19FydCneb7aKTT9K1vcLoBURPEjk=", - "owner": "mrcjkb", - "repo": "haskell-tools.nvim", - "rev": "943b77b68a79d3991523ba4d373063c9355c6f55", - "type": "github" - }, - "original": { - "owner": "mrcjkb", - "repo": "haskell-tools.nvim", - "type": "github" - } - }, - "plugin-highlight-undo": { - "flake": false, - "locked": { - "lastModified": 1732378966, - "narHash": "sha256-b0JrMu3vbbYgyHPs9hyayMzUypFwugEAxvZOcuRMc/o=", - "owner": "tzachar", - "repo": "highlight-undo.nvim", - "rev": "5f588b420179a31d7073854bfd07ed9d5f364645", - "type": "github" - }, - "original": { - "owner": "tzachar", - "repo": "highlight-undo.nvim", - "type": "github" - } - }, - "plugin-hop-nvim": { - "flake": false, - "locked": { - "lastModified": 1694283445, - "narHash": "sha256-SnuFeD/lrMxKtpBRPgIwdG0kVF7BWe02PiV7URVDASI=", - "owner": "phaazon", - "repo": "hop.nvim", - "rev": "1a1eceafe54b5081eae4cb91c723abd1d450f34b", - "type": "github" - }, - "original": { - "owner": "phaazon", - "repo": "hop.nvim", - "type": "github" - } - }, - "plugin-icon-picker-nvim": { - "flake": false, - "locked": { - "lastModified": 1704321319, - "narHash": "sha256-VZKsVeSmPR3AA8267Mtd5sSTZl2CAqnbgqceCptgp4w=", - "owner": "ziontee113", - "repo": "icon-picker.nvim", - "rev": "3ee9a0ea9feeef08ae35e40c8be6a2fa2c20f2d3", - "type": "github" - }, - "original": { - "owner": "ziontee113", - "repo": "icon-picker.nvim", - "type": "github" - } - }, - "plugin-image-nvim": { - "flake": false, - "locked": { - "lastModified": 1735173549, - "narHash": "sha256-Sjbmf4BmjkjAorT3tojbC7JivJagFamAVgzwcCipa8k=", - "owner": "3rd", - "repo": "image.nvim", - "rev": "b991fc7f845bc6ab40c6ec00b39750dcd5190010", - "type": "github" - }, - "original": { - "owner": "3rd", - "repo": "image.nvim", - "type": "github" - } - }, - "plugin-indent-blankline": { - "flake": false, - "locked": { - "lastModified": 1733296464, - "narHash": "sha256-H3lUQZDvgj3a2STYeMUDiOYPe7rfsy08tJ4SlDd+LuE=", - "owner": "lukas-reineke", - "repo": "indent-blankline.nvim", - "rev": "259357fa4097e232730341fa60988087d189193a", - "type": "github" - }, - "original": { - "owner": "lukas-reineke", - "repo": "indent-blankline.nvim", - "type": "github" - } - }, - "plugin-leap-nvim": { - "flake": false, - "locked": { - "lastModified": 1722337962, - "narHash": "sha256-PFD/UliAHKk2ga+7p/GmoZGqZFWenIVLkzmO+FkhvrY=", - "owner": "ggandor", - "repo": "leap.nvim", - "rev": "c6bfb191f1161fbabace1f36f578a20ac6c7642c", - "type": "github" - }, - "original": { - "owner": "ggandor", - "repo": "leap.nvim", - "type": "github" - } - }, - "plugin-lsp-lines": { - "flake": false, - "locked": { - "lastModified": 1734793049, - "narHash": "sha256-jHiIZemneQACTDYZXBJqX2/PRTBoxq403ILvt1Ej1ZM=", - "owner": "~whynothugo", - "repo": "lsp_lines.nvim", - "rev": "a92c755f182b89ea91bd8a6a2227208026f27b4d", - "type": "sourcehut" - }, - "original": { - "owner": "~whynothugo", - "repo": "lsp_lines.nvim", - "type": "sourcehut" - } - }, - "plugin-lsp-signature": { - "flake": false, - "locked": { - "lastModified": 1726445971, - "narHash": "sha256-W6bN3R10B84noK7MOzvUOIc82WwyojIS97iFL/dO5yk=", - "owner": "ray-x", - "repo": "lsp_signature.nvim", - "rev": "fc38521ea4d9ec8dbd4c2819ba8126cea743943b", - "type": "github" - }, - "original": { - "owner": "ray-x", - "repo": "lsp_signature.nvim", - "type": "github" - } - }, - "plugin-lspkind": { - "flake": false, - "locked": { - "lastModified": 1733408701, - "narHash": "sha256-OCvKUBGuzwy8OWOL1x3Z3fo+0+GyBMI9TX41xSveqvE=", - "owner": "onsails", - "repo": "lspkind-nvim", - "rev": "d79a1c3299ad0ef94e255d045bed9fa26025dab6", - "type": "github" - }, - "original": { - "owner": "onsails", - "repo": "lspkind-nvim", - "type": "github" - } - }, - "plugin-lspsaga": { - "flake": false, - "locked": { - "lastModified": 1670360222, - "narHash": "sha256-7ENInq3LAPPTdm0Fb7klOc630j8m4LRj1kLZZFYLh68=", - "owner": "tami5", - "repo": "lspsaga.nvim", - "rev": "5faeec9f2508d2d49a66c0ac0d191096b4e3fa81", - "type": "github" - }, - "original": { - "owner": "tami5", - "repo": "lspsaga.nvim", - "type": "github" - } - }, - "plugin-lua-utils-nvim": { - "flake": false, - "locked": { - "lastModified": 1708177208, - "narHash": "sha256-9ildzQEMkXKZ3LHq+khGFgRQFxlIXQclQ7QU3fcU1C4=", - "owner": "nvim-neorg", - "repo": "lua-utils.nvim", - "rev": "e565749421f4bbb5d2e85e37c3cef9d56553d8bd", - "type": "github" - }, - "original": { - "owner": "nvim-neorg", - "repo": "lua-utils.nvim", - "type": "github" - } - }, - "plugin-lualine": { - "flake": false, - "locked": { - "lastModified": 1731050126, - "narHash": "sha256-IN6Qz3jGxUcylYiRTyd8j6me3pAoqJsJXtFUvph/6EI=", - "owner": "hoob3rt", - "repo": "lualine.nvim", - "rev": "2a5bae925481f999263d6f5ed8361baef8df4f83", - "type": "github" - }, - "original": { - "owner": "hoob3rt", - "repo": "lualine.nvim", - "type": "github" - } - }, - "plugin-luasnip": { - "flake": false, - "locked": { - "lastModified": 1733162004, - "narHash": "sha256-efDe3RXncnNVkj37AmIv8oj0DKurB50Dziao5FGTLP4=", - "owner": "L3MON4D3", - "repo": "LuaSnip", - "rev": "33b06d72d220aa56a7ce80a0dd6f06c70cd82b9d", - "type": "github" - }, - "original": { - "owner": "L3MON4D3", - "repo": "LuaSnip", - "type": "github" - } - }, - "plugin-lz-n": { - "flake": false, - "locked": { - "lastModified": 1735437369, - "narHash": "sha256-6NIXqwmX7RgwiZVEzmTnkJgmrPqFNx12ayIcRgNIaEs=", - "owner": "nvim-neorocks", - "repo": "lz.n", - "rev": "32be28a221b9c98e56841458e4b20c150a4169c4", - "type": "github" - }, - "original": { - "owner": "nvim-neorocks", - "repo": "lz.n", - "type": "github" - } - }, - "plugin-lzn-auto-require": { - "flake": false, - "locked": { - "lastModified": 1731009187, - "narHash": "sha256-KC1z+zC9vKODllZVpBu+udzM12oYJaS8e6LdXWtQ89U=", - "owner": "horriblename", - "repo": "lzn-auto-require", - "rev": "a075ed51976323fd7fc44ccfca89fe0449a08cca", - "type": "github" - }, - "original": { - "owner": "horriblename", - "ref": "require-rewrite", - "repo": "lzn-auto-require", - "type": "github" - } - }, - "plugin-mind-nvim": { - "flake": false, - "locked": { - "lastModified": 1679526071, - "narHash": "sha256-JIhAhQYGLLRucwlhzfckQYU5qjqbHtNH52JlGS5a79w=", - "owner": "phaazon", - "repo": "mind.nvim", - "rev": "002137dd7cf97865ebd01b6a260209d2daf2da66", - "type": "github" - }, - "original": { - "owner": "phaazon", - "repo": "mind.nvim", - "type": "github" - } - }, - "plugin-mini-ai": { - "flake": false, - "locked": { - "lastModified": 1733662803, - "narHash": "sha256-b/776l9nYM9e2atzXrvOk9dCxjzIuW/+iINC/yPv88Y=", - "owner": "echasnovski", - "repo": "mini.ai", - "rev": "ebb04799794a7f94628153991e6334c3304961b8", - "type": "github" - }, - "original": { - "owner": "echasnovski", - "repo": "mini.ai", - "type": "github" - } - }, - "plugin-mini-align": { - "flake": false, - "locked": { - "lastModified": 1735582248, - "narHash": "sha256-oHub8dEihIx4kcP3CD9GXG1SUObJUVpH4bg2Z6PmadQ=", - "owner": "echasnovski", - "repo": "mini.align", - "rev": "e715137aece7d05734403d793b8b6b64486bc812", - "type": "github" - }, - "original": { - "owner": "echasnovski", - "repo": "mini.align", - "type": "github" - } - }, - "plugin-mini-animate": { - "flake": false, - "locked": { - "lastModified": 1733078395, - "narHash": "sha256-ZePmJuHCCymTgaK46nSg5tRloxs+UKrVgVmT++rGKpc=", - "owner": "echasnovski", - "repo": "mini.animate", - "rev": "d14190ac3040116540889e2ebc25f488b195799e", - "type": "github" - }, - "original": { - "owner": "echasnovski", - "repo": "mini.animate", - "type": "github" - } - }, - "plugin-mini-base16": { - "flake": false, - "locked": { - "lastModified": 1734960100, - "narHash": "sha256-VGs4k/xDujPcA0Nv5T18ybSv1iqnzg0AFmaweRdhvDM=", - "owner": "echasnovski", - "repo": "mini.base16", - "rev": "23453dacc1606e5d42238d82f0b42a2985386b62", - "type": "github" - }, - "original": { - "owner": "echasnovski", - "repo": "mini.base16", - "type": "github" - } - }, - "plugin-mini-basics": { - "flake": false, - "locked": { - "lastModified": 1730194519, - "narHash": "sha256-R8POaMcgb6SBOxIpanZsswieywapnU7zDNjQMRTkR8U=", - "owner": "echasnovski", - "repo": "mini.basics", - "rev": "67c10b3436d5d3b892715137f4773e71c6753b13", - "type": "github" - }, - "original": { - "owner": "echasnovski", - "repo": "mini.basics", - "type": "github" - } - }, - "plugin-mini-bracketed": { - "flake": false, - "locked": { - "lastModified": 1737036218, - "narHash": "sha256-y+tGFF1H37ES/hnEtr3GJK3GeB6D5s8ZdSpvzl+lh3s=", - "owner": "echasnovski", - "repo": "mini.bracketed", - "rev": "0091e11fabe34973fc038a8d0d0485202742e403", - "type": "github" - }, - "original": { - "owner": "echasnovski", - "repo": "mini.bracketed", - "type": "github" - } - }, - "plugin-mini-bufremove": { - "flake": false, - "locked": { - "lastModified": 1730726192, - "narHash": "sha256-CB6ZIlrCQlh2W44Knnb10REDcvj4jcYkW/9CiOaoH2E=", - "owner": "echasnovski", - "repo": "mini.bufremove", - "rev": "285bdac9596ee7375db50c0f76ed04336dcd2685", - "type": "github" - }, - "original": { - "owner": "echasnovski", - "repo": "mini.bufremove", - "type": "github" - } - }, - "plugin-mini-clue": { - "flake": false, - "locked": { - "lastModified": 1737130586, - "narHash": "sha256-/0DpZV/jXuhaqBz5j4JN3xmofATlwPMHNSm/uTXALg0=", - "owner": "echasnovski", - "repo": "mini.clue", - "rev": "63e42dad781b9ed4845d90ef1da8c52dfb6dce3f", - "type": "github" - }, - "original": { - "owner": "echasnovski", - "repo": "mini.clue", - "type": "github" - } - }, - "plugin-mini-colors": { - "flake": false, - "locked": { - "lastModified": 1730726192, - "narHash": "sha256-B2JahCUhKpYwOJrl+BhSp3UQFiyyMGJAYKGK+uMv3fk=", - "owner": "echasnovski", - "repo": "mini.colors", - "rev": "d64b1c0f520579d905f97208eca85329e664ab88", - "type": "github" - }, - "original": { - "owner": "echasnovski", - "repo": "mini.colors", - "type": "github" - } - }, - "plugin-mini-comment": { - "flake": false, - "locked": { - "lastModified": 1736611383, - "narHash": "sha256-vAgBDSVtXCP+rlu+cmXdoZQBGShyH7KfL8E/gvDMfnM=", - "owner": "echasnovski", - "repo": "mini.comment", - "rev": "6e1f9a8ebbf6f693fa3787ceda8ca3bf3cb6aec7", - "type": "github" - }, - "original": { - "owner": "echasnovski", - "repo": "mini.comment", - "type": "github" - } - }, - "plugin-mini-completion": { - "flake": false, - "locked": { - "lastModified": 1732271068, - "narHash": "sha256-dlQCfHUQX9rPiSYZSRipezHX0CG/redbV2g7cpwwExY=", - "owner": "echasnovski", - "repo": "mini.completion", - "rev": "6eb9546685c4e1c4af2365b87166d4afa39d8a1b", - "type": "github" - }, - "original": { - "owner": "echasnovski", - "repo": "mini.completion", - "type": "github" - } - }, - "plugin-mini-diff": { - "flake": false, - "locked": { - "lastModified": 1735324663, - "narHash": "sha256-dRvW/1lfVShiHmRU0mQA5g5xDyQ0EVtVLLZ0y6WSedg=", - "owner": "echasnovski", - "repo": "mini.diff", - "rev": "00f072250061ef498f91ed226918c9ec31a416a4", - "type": "github" - }, - "original": { - "owner": "echasnovski", - "repo": "mini.diff", - "type": "github" - } - }, - "plugin-mini-doc": { - "flake": false, - "locked": { - "lastModified": 1723308950, - "narHash": "sha256-Q3DAEV1ZHS+lFhZKFCNoIjn41ksk7WRrVP2b2d6uSss=", - "owner": "echasnovski", - "repo": "mini.doc", - "rev": "bb73a3d1ff390f7e2740027ea2567017099a237c", - "type": "github" - }, - "original": { - "owner": "echasnovski", - "repo": "mini.doc", - "type": "github" - } - }, - "plugin-mini-extra": { - "flake": false, - "locked": { - "lastModified": 1736279066, - "narHash": "sha256-lUJrviUjAmJ70g2y93aNw3e1mHGHoB9lbh44HGP7zQs=", - "owner": "echasnovski", - "repo": "mini.extra", - "rev": "477e3dda7b597b49bc1373951ea7da4da834c352", - "type": "github" - }, - "original": { - "owner": "echasnovski", - "repo": "mini.extra", - "type": "github" - } - }, - "plugin-mini-files": { - "flake": false, - "locked": { - "lastModified": 1736535707, - "narHash": "sha256-UHW78m4BiYMMrABwdkyyzQUENgQrVFbWJnmNdRMtr0w=", - "owner": "echasnovski", - "repo": "mini.files", - "rev": "d0f03a5c38836fd2cce3dc80734124959002078c", - "type": "github" - }, - "original": { - "owner": "echasnovski", - "repo": "mini.files", - "type": "github" - } - }, - "plugin-mini-fuzzy": { - "flake": false, - "locked": { - "lastModified": 1730726192, - "narHash": "sha256-XvDkDfwPcBxySuz58f2mpWTeo8EsOnMvZUcNI8HNZg8=", - "owner": "echasnovski", - "repo": "mini.fuzzy", - "rev": "faa5a6c0d29c28012c90bd011162963a58715428", - "type": "github" - }, - "original": { - "owner": "echasnovski", - "repo": "mini.fuzzy", - "type": "github" - } - }, - "plugin-mini-git": { - "flake": false, - "locked": { - "lastModified": 1736535710, - "narHash": "sha256-rXuKopyZBCBbpKuytCdm8keruSNK1ohk2NdeZv1wifI=", - "owner": "echasnovski", - "repo": "mini-git", - "rev": "fc13dde6cfe87cf25a4fd1ee177c0d157468436b", - "type": "github" - }, - "original": { - "owner": "echasnovski", - "repo": "mini-git", - "type": "github" - } - }, - "plugin-mini-hipatterns": { - "flake": false, - "locked": { - "lastModified": 1733141274, - "narHash": "sha256-zJ8OMzfcBh9NtSg2FHDjB5DFX9C2qZRo8t8lc097sCI=", - "owner": "echasnovski", - "repo": "mini.hipatterns", - "rev": "f34975103a38b3f608219a1324cdfc58ea660b8b", - "type": "github" - }, - "original": { - "owner": "echasnovski", - "repo": "mini.hipatterns", - "type": "github" - } - }, - "plugin-mini-hues": { - "flake": false, - "locked": { - "lastModified": 1734960100, - "narHash": "sha256-4y79ejOkRL/fajZ4jC8t4K6EgNbnTsH++mIjmo6G3q0=", - "owner": "echasnovski", - "repo": "mini.hues", - "rev": "ae6ad4c666ff42c1102344fe1eba18bb486f2e46", - "type": "github" - }, - "original": { - "owner": "echasnovski", - "repo": "mini.hues", - "type": "github" - } - }, - "plugin-mini-icons": { - "flake": false, - "locked": { - "lastModified": 1737036219, - "narHash": "sha256-w0PxiTj9uiUffZXkMM18IO/b/zPpdRKW9ydyhvXRoqE=", - "owner": "echasnovski", - "repo": "mini.icons", - "rev": "910db5df9724d65371182948f921fce23c2c881e", - "type": "github" - }, - "original": { - "owner": "echasnovski", - "repo": "mini.icons", - "type": "github" - } - }, - "plugin-mini-indentscope": { - "flake": false, - "locked": { - "lastModified": 1737036220, - "narHash": "sha256-Mrzc7oHXxyEGqdE003qiC9unScyb7i5A6+l8Do7yxws=", - "owner": "echasnovski", - "repo": "mini.indentscope", - "rev": "613df2830d7faeae7483ba2e736683154b95921e", - "type": "github" - }, - "original": { - "owner": "echasnovski", - "repo": "mini.indentscope", - "type": "github" - } - }, - "plugin-mini-jump": { - "flake": false, - "locked": { - "lastModified": 1733662809, - "narHash": "sha256-qMP9ezk4xZov5S4vrUFM62lnc4YkEaZL1EVzdXwDq1Q=", - "owner": "echasnovski", - "repo": "mini.jump", - "rev": "bb93d998c9db6936697746330411f5fb9957145e", - "type": "github" - }, - "original": { - "owner": "echasnovski", - "repo": "mini.jump", - "type": "github" - } - }, - "plugin-mini-jump2d": { - "flake": false, - "locked": { - "lastModified": 1733662811, - "narHash": "sha256-+DihKCh6GYwin3H9YD+q30MLMRNXvvb1GtKnfBinGjc=", - "owner": "echasnovski", - "repo": "mini.jump2d", - "rev": "88077058297e80f1c76a18ed801ae9d7064187c6", - "type": "github" - }, - "original": { - "owner": "echasnovski", - "repo": "mini.jump2d", - "type": "github" - } - }, - "plugin-mini-map": { - "flake": false, - "locked": { - "lastModified": 1725613927, - "narHash": "sha256-dL+d92+GLAILQ/A1JVCwoe3B5WtwVK01tPuC+fOTB5A=", - "owner": "echasnovski", - "repo": "mini.map", - "rev": "4c58e755d75f9999abcd3b3c6e934734b6a8b098", - "type": "github" - }, - "original": { - "owner": "echasnovski", - "repo": "mini.map", - "type": "github" - } - }, - "plugin-mini-misc": { - "flake": false, - "locked": { - "lastModified": 1734103112, - "narHash": "sha256-qnYa4IZk14MGZArmVpn15l+P9cwtFWomBVxRuYHVyXc=", - "owner": "echasnovski", - "repo": "mini.misc", - "rev": "645fb9367c19bb485902e54e5451425981498601", - "type": "github" - }, - "original": { - "owner": "echasnovski", - "repo": "mini.misc", - "type": "github" - } - }, - "plugin-mini-move": { - "flake": false, - "locked": { - "lastModified": 1723711319, - "narHash": "sha256-nX0eAlhMnKhAftgM6qeHUuawagumLQMPKDkqZNPLljg=", - "owner": "echasnovski", - "repo": "mini.move", - "rev": "4caa1c212f5ca3d1633d21cfb184808090ed74b1", - "type": "github" - }, - "original": { - "owner": "echasnovski", - "repo": "mini.move", - "type": "github" - } - }, - "plugin-mini-notify": { - "flake": false, - "locked": { - "lastModified": 1736790793, - "narHash": "sha256-q27j14OV6LAfoxeqBG75GSiqtqmW37GOPHpmA2fD4gs=", - "owner": "echasnovski", - "repo": "mini.notify", - "rev": "05e598d5b349bd66404d576e6a4d4340aea5f194", - "type": "github" - }, - "original": { - "owner": "echasnovski", - "repo": "mini.notify", - "type": "github" - } - }, - "plugin-mini-operators": { - "flake": false, - "locked": { - "lastModified": 1731776514, - "narHash": "sha256-+Zhy0AhuMPSHnM6dqbV45Aa7dS7XJ4mpfcHApSbuy8A=", - "owner": "echasnovski", - "repo": "mini.operators", - "rev": "7cb4dc66c51a3d736d347bbc517dc73dc7d28888", - "type": "github" - }, - "original": { - "owner": "echasnovski", - "repo": "mini.operators", - "type": "github" - } - }, - "plugin-mini-pairs": { - "flake": false, - "locked": { - "lastModified": 1728656795, - "narHash": "sha256-PtHxLKU1smVTx655r5SINxuz5CJmZWnBW70T8zJ/oxM=", - "owner": "echasnovski", - "repo": "mini.pairs", - "rev": "7e834c5937d95364cc1740e20d673afe2d034cdb", - "type": "github" - }, - "original": { - "owner": "echasnovski", - "repo": "mini.pairs", - "type": "github" - } - }, - "plugin-mini-pick": { - "flake": false, - "locked": { - "lastModified": 1736696004, - "narHash": "sha256-Q4GD0WzUYNtoBMx8pIl6fX5glKn1oflS4HZVC+w/eAM=", - "owner": "echasnovski", - "repo": "mini.pick", - "rev": "09ade94d2c9c5133db9ae00f3693d82eae78e9be", - "type": "github" - }, - "original": { - "owner": "echasnovski", - "repo": "mini.pick", - "type": "github" - } - }, - "plugin-mini-sessions": { - "flake": false, - "locked": { - "lastModified": 1735582250, - "narHash": "sha256-vyn8MGyOWFgJ5QVvjYb7K1cKDtg9qWnWYMNf80+kpHk=", - "owner": "echasnovski", - "repo": "mini.sessions", - "rev": "71c9ae596664ac110560d27eb928fc24e22bc53d", - "type": "github" - }, - "original": { - "owner": "echasnovski", - "repo": "mini.sessions", - "type": "github" - } - }, - "plugin-mini-snippets": { - "flake": false, - "locked": { - "lastModified": 1736611383, - "narHash": "sha256-How9m7KTo66FrwjZQlgZRmJ5toFKn/+GnUbx/0va3lM=", - "owner": "echasnovski", - "repo": "mini.snippets", - "rev": "72920f62e3dd1330720e94e8f5d42592f3a1ecf8", - "type": "github" - }, - "original": { - "owner": "echasnovski", - "repo": "mini.snippets", - "type": "github" - } - }, - "plugin-mini-splitjoin": { - "flake": false, - "locked": { - "lastModified": 1719822504, - "narHash": "sha256-LDIbh5KfupTI4zkYOlLmVCd3DuZRhx5lTASN53VG34g=", - "owner": "echasnovski", - "repo": "mini.splitjoin", - "rev": "3e92f6764e770ba392325cad3a4497adcada695f", - "type": "github" - }, - "original": { - "owner": "echasnovski", - "repo": "mini.splitjoin", - "type": "github" - } - }, - "plugin-mini-starter": { - "flake": false, - "locked": { - "lastModified": 1736858747, - "narHash": "sha256-pJYkZUo+L3IeGCRdTipqTzMv+HatpNnyRxshaygKtIw=", - "owner": "echasnovski", - "repo": "mini.starter", - "rev": "4b257cfc93241e8c8cde3f9302d1616ad4e0d036", - "type": "github" - }, - "original": { - "owner": "echasnovski", - "repo": "mini.starter", - "type": "github" - } - }, - "plugin-mini-statusline": { - "flake": false, - "locked": { - "lastModified": 1735582251, - "narHash": "sha256-AQ2N93JDjtFpgerWTzRspmxrl9oQuALbeCUxBO4ZPqo=", - "owner": "echasnovski", - "repo": "mini.statusline", - "rev": "1b0edf76fe2af015f8c989385ff949f1db7aade2", - "type": "github" - }, - "original": { - "owner": "echasnovski", - "repo": "mini.statusline", - "type": "github" - } - }, - "plugin-mini-surround": { - "flake": false, - "locked": { - "lastModified": 1733662812, - "narHash": "sha256-okWJlG0KOdg1ShvkIIMnPSoOzGd7K84eDcp5kx6eVP8=", - "owner": "echasnovski", - "repo": "mini.surround", - "rev": "aa5e245829dd12d8ff0c96ef11da28681d6049aa", - "type": "github" - }, - "original": { - "owner": "echasnovski", - "repo": "mini.surround", - "type": "github" - } - }, - "plugin-mini-tabline": { - "flake": false, - "locked": { - "lastModified": 1729176541, - "narHash": "sha256-nucUqSN8w2xBnDp1dFBgRVVvfVoqZMdx7Zj78wdFAP0=", - "owner": "echasnovski", - "repo": "mini.tabline", - "rev": "06ef4ecaeca2e362c7d31113435d86d144b3cbbe", - "type": "github" - }, - "original": { - "owner": "echasnovski", - "repo": "mini.tabline", - "type": "github" - } - }, - "plugin-mini-test": { - "flake": false, - "locked": { - "lastModified": 1729520957, - "narHash": "sha256-NtsX441k84owAAJywq4G2rMvV6d7UR2K75G8oKam+gs=", - "owner": "echasnovski", - "repo": "mini.test", - "rev": "86a64d5a4bf9d73ebf5875edaae0d878f64f5e48", - "type": "github" - }, - "original": { - "owner": "echasnovski", - "repo": "mini.test", - "type": "github" - } - }, - "plugin-mini-trailspace": { - "flake": false, - "locked": { - "lastModified": 1725613928, - "narHash": "sha256-JKYvFz8g8kVZvxE44RhwoHXQykghXx7ebW/Mj1ZdJIw=", - "owner": "echasnovski", - "repo": "mini.trailspace", - "rev": "3a328e62559c33014e422fb9ae97afc4208208b1", - "type": "github" - }, - "original": { - "owner": "echasnovski", - "repo": "mini.trailspace", - "type": "github" - } - }, - "plugin-mini-visits": { - "flake": false, - "locked": { - "lastModified": 1737036221, - "narHash": "sha256-Q+m1gZ5Obu6Zzo87Djt6VCX76ZjdOiLb0j771jP8uQE=", - "owner": "echasnovski", - "repo": "mini.visits", - "rev": "90f20ba6ab7d3d7cb984fffddd82f5f6c7a6bea7", - "type": "github" - }, - "original": { - "owner": "echasnovski", - "repo": "mini.visits", - "type": "github" - } - }, - "plugin-minimap-vim": { - "flake": false, - "locked": { - "lastModified": 1710689313, - "narHash": "sha256-GR8VAHla5HWry1TAZQv0Xp7iG256vIGeQcBGMxyt310=", - "owner": "wfxr", - "repo": "minimap.vim", - "rev": "395378137e6180762d5b963ca9ad5ac2db5d3283", - "type": "github" - }, - "original": { - "owner": "wfxr", - "repo": "minimap.vim", - "type": "github" - } - }, - "plugin-modes-nvim": { - "flake": false, - "locked": { - "lastModified": 1734414076, - "narHash": "sha256-ShIK8ROowT1yFHgSIVHUFnnQOEMr3YPIqw4ixzR8w8M=", - "owner": "mvllow", - "repo": "modes.nvim", - "rev": "c7a4b1b383606832aab150902719bd5eb5cdb2b0", - "type": "github" - }, - "original": { - "owner": "mvllow", - "repo": "modes.nvim", - "type": "github" - } - }, - "plugin-neo-tree-nvim": { - "flake": false, - "locked": { - "lastModified": 1735302061, - "narHash": "sha256-tZMneZsEbB5bgZgYq4ZWwK25B3vcnn80Q7diKcRoEv4=", - "owner": "nvim-neo-tree", - "repo": "neo-tree.nvim", - "rev": "a9f8943b4c31f8460d25c71e0f463d65e9775f1c", - "type": "github" - }, - "original": { - "owner": "nvim-neo-tree", - "repo": "neo-tree.nvim", - "type": "github" - } - }, - "plugin-neocord": { - "flake": false, - "locked": { - "lastModified": 1733429637, - "narHash": "sha256-g/pq6hFo7duonIl1wWoxbJUTh/IRTH3hHEoQUdoiqKE=", - "owner": "IogaMaster", - "repo": "neocord", - "rev": "4d55d8dab2d5f2f272192add7a2c21982039c699", - "type": "github" - }, - "original": { - "owner": "IogaMaster", - "repo": "neocord", - "type": "github" - } - }, - "plugin-neodev-nvim": { - "flake": false, - "locked": { - "lastModified": 1720260306, - "narHash": "sha256-hOjzlo/IqmV8tYjGwfmcCPEmHYsWnEIwtHZdhpwA1kM=", - "owner": "folke", - "repo": "neodev.nvim", - "rev": "46aa467dca16cf3dfe27098042402066d2ae242d", - "type": "github" - }, - "original": { - "owner": "folke", - "repo": "neodev.nvim", - "type": "github" - } - }, - "plugin-neorg": { - "flake": false, - "locked": { - "lastModified": 1734188232, - "narHash": "sha256-xH87caxEebrWLwY/v3xyyOy6PTG/ZqX2OfCdwg/RqDY=", - "owner": "nvim-neorg", - "repo": "neorg", - "rev": "6b945909d84b5aeadc875f9b3f529ec44b9bc60f", - "type": "github" - }, - "original": { - "owner": "nvim-neorg", - "repo": "neorg", - "type": "github" - } - }, - "plugin-neorg-telescope": { - "flake": false, - "locked": { - "lastModified": 1722358034, - "narHash": "sha256-ei4uUqpIQjGKzu5ryu0Hlmis9TS9FJsYnjt4J4QdWlw=", - "owner": "nvim-neorg", - "repo": "neorg-telescope", - "rev": "ddb2556644cae922699a239bbb0fe16e25b084b7", - "type": "github" - }, - "original": { - "owner": "nvim-neorg", - "repo": "neorg-telescope", - "type": "github" - } - }, - "plugin-new-file-template-nvim": { - "flake": false, - "locked": { - "lastModified": 1721518222, - "narHash": "sha256-g0IjJrHRXw7U9goVLzVYUyHBSsDZGHMpi3YZPhg64zA=", - "owner": "otavioschwanck", - "repo": "new-file-template.nvim", - "rev": "6ac66669dbf2dc5cdee184a4fe76d22465ca67e8", - "type": "github" - }, - "original": { - "owner": "otavioschwanck", - "repo": "new-file-template.nvim", - "type": "github" - } - }, - "plugin-noice-nvim": { - "flake": false, - "locked": { - "lastModified": 1734026622, - "narHash": "sha256-OpwgNTGunmy6Y7D/k0T+DFK/WJ8MeVTGWwjiPTQlvEY=", - "owner": "folke", - "repo": "noice.nvim", - "rev": "eaed6cc9c06aa2013b5255349e4f26a6b17ab70f", - "type": "github" - }, - "original": { - "owner": "folke", - "repo": "noice.nvim", - "type": "github" - } - }, - "plugin-none-ls": { - "flake": false, - "locked": { - "lastModified": 1708525772, - "narHash": "sha256-VCDUKiy9C3Bu9suf2bI6XSis1+j01oFC3GFPyQxi74c=", - "owner": "nvimtools", - "repo": "none-ls.nvim", - "rev": "bb680d752cec37949faca7a1f509e2fe67ab418a", - "type": "github" - }, - "original": { - "owner": "nvimtools", - "repo": "none-ls.nvim", - "rev": "bb680d752cec37949faca7a1f509e2fe67ab418a", - "type": "github" - } - }, - "plugin-nord": { - "flake": false, - "locked": { - "lastModified": 1737019140, - "narHash": "sha256-ZhDS7Y90DKp+jkUqcoQRf/zHy4DVgSDQXrnl3sBYJXs=", - "owner": "gbprod", - "repo": "nord.nvim", - "rev": "b0f3ed242fd8e5bafa7231367821d46c6c835dd8", - "type": "github" - }, - "original": { - "owner": "gbprod", - "repo": "nord.nvim", - "type": "github" - } - }, - "plugin-nui-nvim": { - "flake": false, - "locked": { - "lastModified": 1733856815, - "narHash": "sha256-6U7E/i5FuNXQy+sF4C5DVxuTPqNKD5wxUgFohpOjm9Q=", - "owner": "MunifTanjim", - "repo": "nui.nvim", - "rev": "53e907ffe5eedebdca1cd503b00aa8692068ca46", - "type": "github" - }, - "original": { - "owner": "MunifTanjim", - "repo": "nui.nvim", - "type": "github" - } - }, - "plugin-nvim-autopairs": { - "flake": false, - "locked": { - "lastModified": 1731803843, - "narHash": "sha256-LbaxiU3ienVBcMKrug3Coppc4R+MD2rjREw7rHQim1w=", - "owner": "windwp", - "repo": "nvim-autopairs", - "rev": "b464658e9b880f463b9f7e6ccddd93fb0013f559", - "type": "github" - }, - "original": { - "owner": "windwp", - "repo": "nvim-autopairs", - "type": "github" - } - }, - "plugin-nvim-bufferline-lua": { - "flake": false, - "locked": { - "lastModified": 1732824069, - "narHash": "sha256-zqz2GMius0gLxtgxt12RmLUVQFVaWe+MQaGCfUGr6bI=", - "owner": "akinsho", - "repo": "nvim-bufferline.lua", - "rev": "261a72b90d6db4ed8014f7bda976bcdc9dd7ce76", - "type": "github" - }, - "original": { - "owner": "akinsho", - "repo": "nvim-bufferline.lua", - "type": "github" - } - }, - "plugin-nvim-cmp": { - "flake": false, - "locked": { - "lastModified": 1734672427, - "narHash": "sha256-Z/Qy2ErbCa7dbjZVuJUkMmb4d24amNunNgRcbCGPfOg=", - "owner": "hrsh7th", - "repo": "nvim-cmp", - "rev": "b555203ce4bd7ff6192e759af3362f9d217e8c89", - "type": "github" - }, - "original": { - "owner": "hrsh7th", - "repo": "nvim-cmp", - "type": "github" - } - }, - "plugin-nvim-colorizer-lua": { - "flake": false, - "locked": { - "lastModified": 1738229011, - "narHash": "sha256-IEgZnIUeNXRKZ4eV1+KknluyKZj68HBWe1EW+LueuGA=", - "owner": "catgoose", - "repo": "nvim-colorizer.lua", - "rev": "9b5fe0450bfb2521c6cea29391e5ec571f129136", - "type": "github" - }, - "original": { - "owner": "catgoose", - "repo": "nvim-colorizer.lua", - "type": "github" - } - }, - "plugin-nvim-cursorline": { - "flake": false, - "locked": { - "lastModified": 1650034925, - "narHash": "sha256-Uhw65p1KBjs8KsVOmTzuiu3XKclxBob8AVdWEt30C/8=", - "owner": "yamatsum", - "repo": "nvim-cursorline", - "rev": "804f0023692653b2b2368462d67d2a87056947f9", - "type": "github" - }, - "original": { - "owner": "yamatsum", - "repo": "nvim-cursorline", - "type": "github" - } - }, - "plugin-nvim-dap": { - "flake": false, - "locked": { - "lastModified": 1735568902, - "narHash": "sha256-5iaXim9bDvSAI6jUXgu2OEk/KivfAsMTRry+UTHs2Gk=", - "owner": "mfussenegger", - "repo": "nvim-dap", - "rev": "ffb077e65259f13be096ea6d603e3575a76b214a", - "type": "github" - }, - "original": { - "owner": "mfussenegger", - "repo": "nvim-dap", - "type": "github" - } - }, - "plugin-nvim-dap-go": { - "flake": false, - "locked": { - "lastModified": 1727922873, - "narHash": "sha256-wcGp5df1ER5T5oLVitWE02OywgJs3V4pazcGU5qVaUY=", - "owner": "leoluz", - "repo": "nvim-dap-go", - "rev": "6aa88167ea1224bcef578e8c7160fe8afbb44848", - "type": "github" - }, - "original": { - "owner": "leoluz", - "repo": "nvim-dap-go", - "type": "github" - } - }, - "plugin-nvim-dap-ui": { - "flake": false, - "locked": { - "lastModified": 1735324898, - "narHash": "sha256-psIBQpx3tV2UWm5hZTMPBANcXHPAX24dIuDq8Qcscxs=", - "owner": "rcarriga", - "repo": "nvim-dap-ui", - "rev": "e94d98649dccb6a3884b66aabc2e07beb279e535", - "type": "github" - }, - "original": { - "owner": "rcarriga", - "repo": "nvim-dap-ui", - "type": "github" - } - }, - "plugin-nvim-docs-view": { - "flake": false, - "locked": { - "lastModified": 1733658747, - "narHash": "sha256-b5aH8Tj+tMk0BjNCgdeCEeR26oQ9NCobj98P7IDgIPY=", - "owner": "amrbashir", - "repo": "nvim-docs-view", - "rev": "1b97f8f954d74c46061bf289b6cea9232484c12c", - "type": "github" - }, - "original": { - "owner": "amrbashir", - "repo": "nvim-docs-view", - "type": "github" - } - }, - "plugin-nvim-lightbulb": { - "flake": false, - "locked": { - "lastModified": 1734997673, - "narHash": "sha256-byvgRJvvt5rhiUVWdreY2jELXoPVld5EKQlOXwjNgWE=", - "owner": "kosayoda", - "repo": "nvim-lightbulb", - "rev": "3ac0791be37ba9cc7939f1ad90ebc5e75abf4eea", - "type": "github" - }, - "original": { - "owner": "kosayoda", - "repo": "nvim-lightbulb", - "type": "github" - } - }, - "plugin-nvim-lspconfig": { - "flake": false, - "locked": { - "lastModified": 1735439232, - "narHash": "sha256-6a1HjpLYdZ+ZmWM1B0tv631A3EHHstPrjaV15UnVtoY=", - "owner": "neovim", - "repo": "nvim-lspconfig", - "rev": "8b15a1a597a59f4f5306fad9adfe99454feab743", - "type": "github" - }, - "original": { - "owner": "neovim", - "repo": "nvim-lspconfig", - "type": "github" - } - }, - "plugin-nvim-metals": { - "flake": false, - "locked": { - "lastModified": 1735386491, - "narHash": "sha256-G9V7fX65uW4z7kiuiP8mLtEjLoTJ1mkltj51OlN5/oM=", - "owner": "scalameta", - "repo": "nvim-metals", - "rev": "e6b02c99161b43c67cfe1d6e5f9a9b9a0bb4701c", - "type": "github" - }, - "original": { - "owner": "scalameta", - "repo": "nvim-metals", - "type": "github" - } - }, - "plugin-nvim-navbuddy": { - "flake": false, - "locked": { - "lastModified": 1716111817, - "narHash": "sha256-sZ1M27qNbLMHKR4Zu0NfJoBcQxJbhmW7Cx74Acirlww=", - "owner": "SmiteshP", - "repo": "nvim-navbuddy", - "rev": "f22bac988f2dd073601d75ba39ea5636ab6e38cb", - "type": "github" - }, - "original": { - "owner": "SmiteshP", - "repo": "nvim-navbuddy", - "type": "github" - } - }, - "plugin-nvim-navic": { - "flake": false, - "locked": { - "lastModified": 1701345631, - "narHash": "sha256-0p5n/V8Jlj9XyxV/fuMwsbQ7oV5m9H2GqZZEA/njxCQ=", - "owner": "SmiteshP", - "repo": "nvim-navic", - "rev": "8649f694d3e76ee10c19255dece6411c29206a54", - "type": "github" - }, - "original": { - "owner": "SmiteshP", - "repo": "nvim-navic", - "type": "github" - } - }, - "plugin-nvim-neoclip": { - "flake": false, - "locked": { - "lastModified": 1734898459, - "narHash": "sha256-RCMZi1DM9JFrXWQ5w2wOjFzpANkiukn+RvHB9swMtbk=", - "owner": "AckslD", - "repo": "nvim-neoclip.lua", - "rev": "5e5e010251281f4aea69cfc1d4976ffe6065cf0f", - "type": "github" - }, - "original": { - "owner": "AckslD", - "repo": "nvim-neoclip.lua", - "type": "github" - } - }, - "plugin-nvim-nio": { - "flake": false, - "locked": { - "lastModified": 1720707425, - "narHash": "sha256-i6imNTb1xrfBlaeOyxyIwAZ/+o6ew9C4/z34a7/BgFg=", - "owner": "nvim-neotest", - "repo": "nvim-nio", - "rev": "a428f309119086dc78dd4b19306d2d67be884eee", - "type": "github" - }, - "original": { - "owner": "nvim-neotest", - "repo": "nvim-nio", - "type": "github" - } - }, - "plugin-nvim-notify": { - "flake": false, - "locked": { - "lastModified": 1735562588, - "narHash": "sha256-9jDpoLLto9WgTsV399WeE2XGrTJXWTYbcJ+zOFWldAA=", - "owner": "rcarriga", - "repo": "nvim-notify", - "rev": "c3797193536711b5d8983975791c4b11dc35ab3a", - "type": "github" - }, - "original": { - "owner": "rcarriga", - "repo": "nvim-notify", - "type": "github" - } - }, - "plugin-nvim-scrollbar": { - "flake": false, - "locked": { - "lastModified": 1729162132, - "narHash": "sha256-/nB7eP2Rz/A9zMXrNEH4FReo6eZS0C/SEGvKhxV7AUA=", - "owner": "petertriho", - "repo": "nvim-scrollbar", - "rev": "6994eb9f73d5fdc36ee2c8717940e8c853e51a49", - "type": "github" - }, - "original": { - "owner": "petertriho", - "repo": "nvim-scrollbar", - "type": "github" - } - }, - "plugin-nvim-session-manager": { - "flake": false, - "locked": { - "lastModified": 1728423652, - "narHash": "sha256-W9jtfVXHC8MQJwdbxakNqhd+xh/auQb3U09XKdN2Wzw=", - "owner": "Shatur", - "repo": "neovim-session-manager", - "rev": "ce43f2eb2a52492157d7742e5f684b9a42bb3e5c", - "type": "github" - }, - "original": { - "owner": "Shatur", - "repo": "neovim-session-manager", - "type": "github" - } - }, - "plugin-nvim-surround": { - "flake": false, - "locked": { - "lastModified": 1732818349, - "narHash": "sha256-sC+V86FEDfIapY4Qy0Ch2dTUpqe+C/xEUR/iSIEY6LA=", - "owner": "kylechui", - "repo": "nvim-surround", - "rev": "9f0cb495f25bff32c936062d85046fbda0c43517", - "type": "github" - }, - "original": { - "owner": "kylechui", - "repo": "nvim-surround", - "type": "github" - } - }, - "plugin-nvim-tree-lua": { - "flake": false, - "locked": { - "lastModified": 1734820548, - "narHash": "sha256-4PmP31vYPH9xw4AjV5rDSKvcvZGTnIaPfR4Bwc0lAiA=", - "owner": "nvim-tree", - "repo": "nvim-tree.lua", - "rev": "68fc4c20f5803444277022c681785c5edd11916d", - "type": "github" - }, - "original": { - "owner": "nvim-tree", - "repo": "nvim-tree.lua", - "type": "github" - } - }, - "plugin-nvim-treesitter-context": { - "flake": false, - "locked": { - "lastModified": 1734710732, - "narHash": "sha256-TIFMPKzD2ero1eK9aVfY1iKEvf/Sw8SL/9mk9omCQ3c=", - "owner": "nvim-treesitter", - "repo": "nvim-treesitter-context", - "rev": "2bcf700b59bc92850ca83a1c02e86ba832e0fae0", - "type": "github" - }, - "original": { - "owner": "nvim-treesitter", - "repo": "nvim-treesitter-context", - "type": "github" - } - }, - "plugin-nvim-ts-autotag": { - "flake": false, - "locked": { - "lastModified": 1733164313, - "narHash": "sha256-v2NTFBIzKTYizUPWB3uhpnTGVZWaelhE3MT5+BDA6Do=", - "owner": "windwp", - "repo": "nvim-ts-autotag", - "rev": "1cca23c9da708047922d3895a71032bc0449c52d", - "type": "github" - }, - "original": { - "owner": "windwp", - "repo": "nvim-ts-autotag", - "type": "github" - } - }, - "plugin-nvim-ufo": { - "flake": false, - "locked": { - "lastModified": 1735147722, - "narHash": "sha256-etyfm4KpwjYN+kkotOMl0LgbQniILmqMqab4acMtTlw=", - "owner": "kevinhwang91", - "repo": "nvim-ufo", - "rev": "32cb247b893a384f1888b9cd737264159ecf183c", - "type": "github" - }, - "original": { - "owner": "kevinhwang91", - "repo": "nvim-ufo", - "type": "github" - } - }, - "plugin-nvim-web-devicons": { - "flake": false, - "locked": { - "lastModified": 1735569123, - "narHash": "sha256-h9rY6F+2sBlG9PFN34/0ZTkY66oCeCIPe/HEadM03K4=", - "owner": "nvim-tree", - "repo": "nvim-web-devicons", - "rev": "4adeeaa7a32d46cf3b5833341358c797304f950a", - "type": "github" - }, - "original": { - "owner": "nvim-tree", - "repo": "nvim-web-devicons", - "type": "github" - } - }, - "plugin-obsidian-nvim": { - "flake": false, - "locked": { - "lastModified": 1722536347, - "narHash": "sha256-mbq7fAPmlwOAbWlN3lGX9WGBKTV8cAPZx8pnRCyszJc=", - "owner": "epwalsh", - "repo": "obsidian.nvim", - "rev": "14e0427bef6c55da0d63f9a313fd9941be3a2479", - "type": "github" - }, - "original": { - "owner": "epwalsh", - "repo": "obsidian.nvim", - "type": "github" - } - }, - "plugin-omnisharp-extended": { - "flake": false, - "locked": { - "lastModified": 1732802864, - "narHash": "sha256-lA22ncMWHz2oVcZMPQGpLL3UjjXOXGxhtXR1LX5cX3A=", - "owner": "Hoffs", - "repo": "omnisharp-extended-lsp.nvim", - "rev": "4916fa12e5b28d21a1f031f0bdd10aa15a75d85d", - "type": "github" - }, - "original": { - "owner": "Hoffs", - "repo": "omnisharp-extended-lsp.nvim", - "type": "github" - } - }, - "plugin-onedark": { - "flake": false, - "locked": { - "lastModified": 1731171496, - "narHash": "sha256-NLHq9SUUo81m50NPQe8852uZbo4Mo4No10N3ptX43t0=", - "owner": "navarasu", - "repo": "onedark.nvim", - "rev": "67a74c275d1116d575ab25485d1bfa6b2a9c38a6", - "type": "github" - }, - "original": { - "owner": "navarasu", - "repo": "onedark.nvim", - "type": "github" - } - }, - "plugin-orgmode-nvim": { - "flake": false, - "locked": { - "lastModified": 1734770880, - "narHash": "sha256-E1YJeTay1tX2PgiXwV/DRgrlYHIGUe9/uTA+6ORIhBw=", - "owner": "nvim-orgmode", - "repo": "orgmode", - "rev": "bf657742f7cb56211f99946ff64f5f87d7d7f0d0", - "type": "github" - }, - "original": { - "owner": "nvim-orgmode", - "repo": "orgmode", - "type": "github" - } - }, - "plugin-otter-nvim": { - "flake": false, - "locked": { - "lastModified": 1735130975, - "narHash": "sha256-NPBGcLi1lEmpGGbGs58Xzw1IriOyKTMQdwIdVFsbVDM=", - "owner": "jmbuhr", - "repo": "otter.nvim", - "rev": "e8c662e1aefa8b483cfba6e00729a39a363dcecc", - "type": "github" - }, - "original": { - "owner": "jmbuhr", - "repo": "otter.nvim", - "type": "github" - } - }, - "plugin-oxocarbon": { - "flake": false, - "locked": { - "lastModified": 1724853107, - "narHash": "sha256-Hi/nATEvZ4a6Yxc66KtuJqss6kQV19cmtIlhCw6alOI=", - "owner": "nyoom-engineering", - "repo": "oxocarbon.nvim", - "rev": "004777819ba294423b638a35a75c9f0c7be758ed", - "type": "github" - }, - "original": { - "owner": "nyoom-engineering", - "repo": "oxocarbon.nvim", - "type": "github" - } - }, - "plugin-pathlib-nvim": { - "flake": false, - "locked": { - "lastModified": 1724943804, - "narHash": "sha256-YhCJeNKlcjgg3q51UWFhuIEPzNueC8YTpeuPPJDndvw=", - "owner": "pysan3", - "repo": "pathlib.nvim", - "rev": "57e5598af6fe253761c1b48e0b59b7cd6699e2c1", - "type": "github" - }, - "original": { - "owner": "pysan3", - "repo": "pathlib.nvim", - "type": "github" - } - }, - "plugin-plenary-nvim": { - "flake": false, - "locked": { - "lastModified": 1726602776, - "narHash": "sha256-bmmPekAvuBvLQmrnnX0n+FRBqfVxBsObhxIEkDGAla4=", - "owner": "nvim-lua", - "repo": "plenary.nvim", - "rev": "2d9b06177a975543726ce5c73fca176cedbffe9d", - "type": "github" - }, - "original": { - "owner": "nvim-lua", - "repo": "plenary.nvim", - "type": "github" - } - }, - "plugin-precognition-nvim": { - "flake": false, - "locked": { - "lastModified": 1732647805, - "narHash": "sha256-m3dKoKxCd/QODM+EL89c3RVOoZnuA4nrBG0KhPZ/o9Y=", - "owner": "tris203", - "repo": "precognition.nvim", - "rev": "531971e6d883e99b1572bf47294e22988d8fbec0", - "type": "github" - }, - "original": { - "owner": "tris203", - "repo": "precognition.nvim", - "type": "github" - } - }, - "plugin-project-nvim": { - "flake": false, - "locked": { - "lastModified": 1680567592, - "narHash": "sha256-avV3wMiDbraxW4mqlEsKy0oeewaRj9Q33K8NzWoaptU=", - "owner": "ahmedkhalf", - "repo": "project.nvim", - "rev": "8c6bad7d22eef1b71144b401c9f74ed01526a4fb", - "type": "github" - }, - "original": { - "owner": "ahmedkhalf", - "repo": "project.nvim", - "type": "github" - } - }, - "plugin-promise-async": { - "flake": false, - "locked": { - "lastModified": 1722813441, - "narHash": "sha256-9eM66brPjiFlY64vmBetRYrKnpDyN7+/URMm4GsGimA=", - "owner": "kevinhwang91", - "repo": "promise-async", - "rev": "119e8961014c9bfaf1487bf3c2a393d254f337e2", - "type": "github" - }, - "original": { - "owner": "kevinhwang91", - "repo": "promise-async", - "type": "github" - } - }, - "plugin-rainbow-delimiters": { - "flake": false, - "locked": { - "lastModified": 1736686348, - "narHash": "sha256-zWHXYs3XdnoszqOFY3hA2L5mNn1a44OAeKv3lL3EMEw=", - "owner": "HiPhish", - "repo": "rainbow-delimiters.nvim", - "rev": "85b80abaa09cbbc039e3095b2f515b3cf8cadd11", - "type": "github" - }, - "original": { - "owner": "HiPhish", - "repo": "rainbow-delimiters.nvim", - "type": "github" - } - }, - "plugin-registers": { - "flake": false, - "locked": { - "lastModified": 1730794647, - "narHash": "sha256-M7uR3yXYUQ4I8Gt8P6k25q67UNwksRDPKGrS/FCqrt0=", - "owner": "tversteeg", - "repo": "registers.nvim", - "rev": "c217f8f369e0886776cda6c94eab839b30a8940d", - "type": "github" - }, - "original": { - "owner": "tversteeg", - "repo": "registers.nvim", - "type": "github" - } - }, - "plugin-render-markdown-nvim": { - "flake": false, - "locked": { - "lastModified": 1735525479, - "narHash": "sha256-ncFqBv0JITX3pTsLON+HctLUaKXhLRMBUrRWmI8KOSA=", - "owner": "MeanderingProgrammer", - "repo": "render-markdown.nvim", - "rev": "6fbd1491abc104409f119685de5353c35c97c005", - "type": "github" - }, - "original": { - "owner": "MeanderingProgrammer", - "repo": "render-markdown.nvim", - "type": "github" - } - }, - "plugin-rose-pine": { - "flake": false, - "locked": { - "lastModified": 1733845819, - "narHash": "sha256-ejh9UXQbLc8Ie6wF7zszzL1gaJzr16gcu0dUWqTo8AM=", - "owner": "rose-pine", - "repo": "neovim", - "rev": "91548dca53b36dbb9d36c10f114385f759731be1", - "type": "github" - }, - "original": { - "owner": "rose-pine", - "repo": "neovim", - "type": "github" - } - }, - "plugin-rtp-nvim": { - "flake": false, - "locked": { - "lastModified": 1724409589, - "narHash": "sha256-lmJbiD7I7MTEEpukESs67uAmLyn+p66hrUKLbEHp0Kw=", - "owner": "nvim-neorocks", - "repo": "rtp.nvim", - "rev": "494ddfc888bb466555d90ace731856de1320fe45", - "type": "github" - }, - "original": { - "owner": "nvim-neorocks", - "repo": "rtp.nvim", - "type": "github" - } - }, - "plugin-run-nvim": { - "flake": false, - "locked": { - "lastModified": 1735501787, - "narHash": "sha256-CFOyOARCLQiMOhFPeqz8n2ULyaaRxRZrOk0FCibjuIM=", - "owner": "diniamo", - "repo": "run.nvim", - "rev": "9015c9cece816ccf10a185b420f6e345fd990802", - "type": "github" - }, - "original": { - "owner": "diniamo", - "repo": "run.nvim", - "type": "github" - } - }, - "plugin-rustaceanvim": { - "flake": false, - "locked": { - "lastModified": 1738187731, - "narHash": "sha256-Z4aCPO4MR0Q2ZojT6YBGSa8fb7u5Nd+4Z/rekqhXqDY=", - "owner": "mrcjkb", - "repo": "rustaceanvim", - "rev": "4a2f2d2cc04f5b0aa0981f98bb7d002c898318ad", - "type": "github" - }, - "original": { - "owner": "mrcjkb", - "repo": "rustaceanvim", - "type": "github" - } - }, - "plugin-smartcolumn": { - "flake": false, - "locked": { - "lastModified": 1734696989, - "narHash": "sha256-6RodA5BQnL6tB3RCE5G2RiXqBvM3VP3HYZ+T3AxIF7Q=", - "owner": "m4xshen", - "repo": "smartcolumn.nvim", - "rev": "f14fbea6f86cd29df5042897ca9e3ba10ba4d27f", - "type": "github" - }, - "original": { - "owner": "m4xshen", - "repo": "smartcolumn.nvim", - "type": "github" - } - }, - "plugin-sqls-nvim": { - "flake": false, - "locked": { - "lastModified": 1733090837, - "narHash": "sha256-o5uD6shPkweuE+k/goBX42W3I2oojXVijfJC7L50sGU=", - "owner": "nanotee", - "repo": "sqls.nvim", - "rev": "a514379f5f89bf72955ed3bf5c1c31a40b8a1472", - "type": "github" - }, - "original": { - "owner": "nanotee", - "repo": "sqls.nvim", - "type": "github" - } - }, - "plugin-tabular": { - "flake": false, - "locked": { - "lastModified": 1720022617, - "narHash": "sha256-qmDpdg3Tl3W4JSovRb4ODlrKMjRL5CaVI05YBn0Q0LI=", - "owner": "godlygeek", - "repo": "tabular", - "rev": "12437cd1b53488e24936ec4b091c9324cafee311", - "type": "github" - }, - "original": { - "owner": "godlygeek", - "repo": "tabular", - "type": "github" - } - }, - "plugin-telescope": { - "flake": false, - "locked": { - "lastModified": 1732884846, - "narHash": "sha256-npb61MZYAotz71Co5G1dUeIqWt7GVeqZNz0A2Yz2dy4=", - "owner": "nvim-telescope", - "repo": "telescope.nvim", - "rev": "2eca9ba22002184ac05eddbe47a7fe2d5a384dfc", - "type": "github" - }, - "original": { - "owner": "nvim-telescope", - "repo": "telescope.nvim", - "type": "github" - } - }, - "plugin-tiny-devicons-auto-colors": { - "flake": false, - "locked": { - "lastModified": 1733445616, - "narHash": "sha256-klUZKvdYhwO3sq4Su4sBFDcNSAYXh53O72vg4+ZOrhI=", - "owner": "rachartier", - "repo": "tiny-devicons-auto-colors.nvim", - "rev": "c8f63933ee013c1e0a26091d58131e060546f01f", - "type": "github" - }, - "original": { - "owner": "rachartier", - "repo": "tiny-devicons-auto-colors.nvim", - "type": "github" - } - }, - "plugin-todo-comments": { - "flake": false, - "locked": { - "lastModified": 1726481242, - "narHash": "sha256-EH4Sy7qNkzOgA1INFzrtsRfD79TgMqSbKUdundyw22w=", - "owner": "folke", - "repo": "todo-comments.nvim", - "rev": "ae0a2afb47cf7395dc400e5dc4e05274bf4fb9e0", - "type": "github" - }, - "original": { - "owner": "folke", - "repo": "todo-comments.nvim", - "type": "github" - } - }, - "plugin-toggleterm-nvim": { - "flake": false, - "locked": { - "lastModified": 1735340326, - "narHash": "sha256-oeNIb+QHa/9yGZz/2u9LYIdKluel0bcQkaIqOuQUkis=", - "owner": "akinsho", - "repo": "toggleterm.nvim", - "rev": "344fc1810292785b3d962ddac2de57669e1a7ff9", - "type": "github" - }, - "original": { - "owner": "akinsho", - "repo": "toggleterm.nvim", - "type": "github" - } - }, - "plugin-tokyonight": { - "flake": false, - "locked": { - "lastModified": 1734211493, - "narHash": "sha256-TJ/a6N6Cc1T0wdMxMopma1NtwL7rMYbZ6F0zFI1zaIA=", - "owner": "folke", - "repo": "tokyonight.nvim", - "rev": "45d22cf0e1b93476d3b6d362d720412b3d34465c", - "type": "github" - }, - "original": { - "owner": "folke", - "repo": "tokyonight.nvim", - "type": "github" - } - }, - "plugin-trouble": { - "flake": false, - "locked": { - "lastModified": 1732701472, - "narHash": "sha256-JhnERZfma2JHFEn/DElVmrSU5KxM2asx3SJ+86lCfoo=", - "owner": "folke", - "repo": "trouble.nvim", - "rev": "46cf952fc115f4c2b98d4e208ed1e2dce08c9bf6", - "type": "github" - }, - "original": { - "owner": "folke", - "repo": "trouble.nvim", - "type": "github" - } - }, - "plugin-ts-error-translator": { - "flake": false, - "locked": { - "lastModified": 1731721659, - "narHash": "sha256-fi68jJVNTL2WlTehcl5Q8tijAeu2usjIsWXjcuixkCM=", - "owner": "dmmulroy", - "repo": "ts-error-translator.nvim", - "rev": "47e5ba89f71b9e6c72eaaaaa519dd59bd6897df4", - "type": "github" - }, - "original": { - "owner": "dmmulroy", - "repo": "ts-error-translator.nvim", - "type": "github" - } - }, - "plugin-typst-preview-nvim": { - "flake": false, - "locked": { - "lastModified": 1734839452, - "narHash": "sha256-d6Tv7xZRghYYDfABk/p2e9qTm4qnWHM+ejKDCcR0TfY=", - "owner": "chomosuke", - "repo": "typst-preview.nvim", - "rev": "c1100e8788baabe8ca8f8cd7fd63d3d479e49e36", - "type": "github" - }, - "original": { - "owner": "chomosuke", - "repo": "typst-preview.nvim", - "type": "github" - } - }, - "plugin-vim-dirtytalk": { - "flake": false, - "locked": { - "lastModified": 1713047519, - "narHash": "sha256-azU5jkv/fD/qDDyCU1bPNXOH6rmbDauG9jDNrtIXc0Y=", - "owner": "psliwka", - "repo": "vim-dirtytalk", - "rev": "aa57ba902b04341a04ff97214360f56856493583", - "type": "github" - }, - "original": { - "owner": "psliwka", - "repo": "vim-dirtytalk", - "type": "github" - } - }, - "plugin-vim-fugitive": { - "flake": false, - "locked": { - "lastModified": 1735457366, - "narHash": "sha256-45zsqKavWoclA67MC54bAel1nE8CLHtSdullHByiRS8=", - "owner": "tpope", - "repo": "vim-fugitive", - "rev": "174230d6a7f2df94705a7ffd8d5413e27ec10a80", - "type": "github" - }, - "original": { - "owner": "tpope", - "repo": "vim-fugitive", - "type": "github" - } - }, - "plugin-vim-illuminate": { - "flake": false, - "locked": { - "lastModified": 1715960194, - "narHash": "sha256-DdJzTHxoOv+vjFymETa2MgXpM/qDwvZjpoo1W8OOBj0=", - "owner": "RRethy", - "repo": "vim-illuminate", - "rev": "5eeb7951fc630682c322e88a9bbdae5c224ff0aa", - "type": "github" - }, - "original": { - "owner": "RRethy", - "repo": "vim-illuminate", - "type": "github" - } - }, - "plugin-vim-markdown": { - "flake": false, - "locked": { - "lastModified": 1726813437, - "narHash": "sha256-ZCCSjZ5Xok4rnIwfa4VUEaz6d3oW9066l0EkoqiTppM=", - "owner": "preservim", - "repo": "vim-markdown", - "rev": "8f6cb3a6ca4e3b6bcda0730145a0b700f3481b51", - "type": "github" - }, - "original": { - "owner": "preservim", - "repo": "vim-markdown", - "type": "github" - } - }, - "plugin-vim-repeat": { - "flake": false, - "locked": { - "lastModified": 1720473942, - "narHash": "sha256-G/dmkq1KtSHIl+I5p3LfO6mGPS3eyLRbEEsuLbTpGlk=", - "owner": "tpope", - "repo": "vim-repeat", - "rev": "65846025c15494983dafe5e3b46c8f88ab2e9635", - "type": "github" - }, - "original": { - "owner": "tpope", - "repo": "vim-repeat", - "type": "github" - } - }, - "plugin-vim-startify": { - "flake": false, - "locked": { - "lastModified": 1695213983, - "narHash": "sha256-W5N/Dqxf9hSXEEJsrEkXInFwBXNBJe9Dzx9TVS12mPk=", - "owner": "mhinz", - "repo": "vim-startify", - "rev": "4e089dffdad46f3f5593f34362d530e8fe823dcf", - "type": "github" - }, - "original": { - "owner": "mhinz", - "repo": "vim-startify", - "type": "github" - } - }, - "plugin-which-key": { - "flake": false, - "locked": { - "lastModified": 1734253151, - "narHash": "sha256-f/+sYMDEguB5ZDiYiQAsDvdF/2cVcWnLBU+9qwigk4s=", - "owner": "folke", - "repo": "which-key.nvim", - "rev": "8ab96b38a2530eacba5be717f52e04601eb59326", - "type": "github" - }, - "original": { - "owner": "folke", - "repo": "which-key.nvim", - "type": "github" - } - }, - "plugin-yanky-nvim": { - "flake": false, - "locked": { - "lastModified": 1737126873, - "narHash": "sha256-Gt8kb6sZoNIM2SDWUPyAF5Tw99qMZl+ltUCfyMXgJsU=", - "owner": "gbprod", - "repo": "yanky.nvim", - "rev": "d2696b30e389dced94d5acab728f524a25f308d2", - "type": "github" - }, - "original": { - "owner": "gbprod", - "repo": "yanky.nvim", - "type": "github" - } - }, "root": { "inputs": { + "blink-cmp": "blink-cmp", "flake-parts": "flake-parts", "flake-utils": "flake-utils", "mnw": "mnw", "nil": "nil", "nixpkgs": "nixpkgs", "nmd": "nmd", - "plugin-aerial-nvim": "plugin-aerial-nvim", - "plugin-alpha-nvim": "plugin-alpha-nvim", - "plugin-base16": "plugin-base16", - "plugin-bufdelete-nvim": "plugin-bufdelete-nvim", - "plugin-catppuccin": "plugin-catppuccin", - "plugin-ccc": "plugin-ccc", - "plugin-cellular-automaton": "plugin-cellular-automaton", - "plugin-chatgpt": "plugin-chatgpt", - "plugin-cheatsheet-nvim": "plugin-cheatsheet-nvim", - "plugin-cinnamon-nvim": "plugin-cinnamon-nvim", - "plugin-cmp-buffer": "plugin-cmp-buffer", - "plugin-cmp-luasnip": "plugin-cmp-luasnip", - "plugin-cmp-nvim-lsp": "plugin-cmp-nvim-lsp", - "plugin-cmp-path": "plugin-cmp-path", - "plugin-cmp-treesitter": "plugin-cmp-treesitter", - "plugin-codewindow-nvim": "plugin-codewindow-nvim", - "plugin-comment-nvim": "plugin-comment-nvim", - "plugin-copilot-cmp": "plugin-copilot-cmp", - "plugin-copilot-lua": "plugin-copilot-lua", - "plugin-crates-nvim": "plugin-crates-nvim", - "plugin-csharpls-extended": "plugin-csharpls-extended", - "plugin-dashboard-nvim": "plugin-dashboard-nvim", - "plugin-diffview-nvim": "plugin-diffview-nvim", - "plugin-dracula": "plugin-dracula", - "plugin-dressing-nvim": "plugin-dressing-nvim", - "plugin-elixir-tools": "plugin-elixir-tools", - "plugin-fastaction-nvim": "plugin-fastaction-nvim", - "plugin-fidget-nvim": "plugin-fidget-nvim", - "plugin-flutter-tools": "plugin-flutter-tools", - "plugin-friendly-snippets": "plugin-friendly-snippets", - "plugin-fzf-lua": "plugin-fzf-lua", - "plugin-gesture-nvim": "plugin-gesture-nvim", - "plugin-gitsigns-nvim": "plugin-gitsigns-nvim", - "plugin-glow-nvim": "plugin-glow-nvim", - "plugin-gruvbox": "plugin-gruvbox", - "plugin-haskell-tools-nvim": "plugin-haskell-tools-nvim", - "plugin-highlight-undo": "plugin-highlight-undo", - "plugin-hop-nvim": "plugin-hop-nvim", - "plugin-icon-picker-nvim": "plugin-icon-picker-nvim", - "plugin-image-nvim": "plugin-image-nvim", - "plugin-indent-blankline": "plugin-indent-blankline", - "plugin-leap-nvim": "plugin-leap-nvim", - "plugin-lsp-lines": "plugin-lsp-lines", - "plugin-lsp-signature": "plugin-lsp-signature", - "plugin-lspkind": "plugin-lspkind", - "plugin-lspsaga": "plugin-lspsaga", - "plugin-lua-utils-nvim": "plugin-lua-utils-nvim", - "plugin-lualine": "plugin-lualine", - "plugin-luasnip": "plugin-luasnip", - "plugin-lz-n": "plugin-lz-n", - "plugin-lzn-auto-require": "plugin-lzn-auto-require", - "plugin-mind-nvim": "plugin-mind-nvim", - "plugin-mini-ai": "plugin-mini-ai", - "plugin-mini-align": "plugin-mini-align", - "plugin-mini-animate": "plugin-mini-animate", - "plugin-mini-base16": "plugin-mini-base16", - "plugin-mini-basics": "plugin-mini-basics", - "plugin-mini-bracketed": "plugin-mini-bracketed", - "plugin-mini-bufremove": "plugin-mini-bufremove", - "plugin-mini-clue": "plugin-mini-clue", - "plugin-mini-colors": "plugin-mini-colors", - "plugin-mini-comment": "plugin-mini-comment", - "plugin-mini-completion": "plugin-mini-completion", - "plugin-mini-diff": "plugin-mini-diff", - "plugin-mini-doc": "plugin-mini-doc", - "plugin-mini-extra": "plugin-mini-extra", - "plugin-mini-files": "plugin-mini-files", - "plugin-mini-fuzzy": "plugin-mini-fuzzy", - "plugin-mini-git": "plugin-mini-git", - "plugin-mini-hipatterns": "plugin-mini-hipatterns", - "plugin-mini-hues": "plugin-mini-hues", - "plugin-mini-icons": "plugin-mini-icons", - "plugin-mini-indentscope": "plugin-mini-indentscope", - "plugin-mini-jump": "plugin-mini-jump", - "plugin-mini-jump2d": "plugin-mini-jump2d", - "plugin-mini-map": "plugin-mini-map", - "plugin-mini-misc": "plugin-mini-misc", - "plugin-mini-move": "plugin-mini-move", - "plugin-mini-notify": "plugin-mini-notify", - "plugin-mini-operators": "plugin-mini-operators", - "plugin-mini-pairs": "plugin-mini-pairs", - "plugin-mini-pick": "plugin-mini-pick", - "plugin-mini-sessions": "plugin-mini-sessions", - "plugin-mini-snippets": "plugin-mini-snippets", - "plugin-mini-splitjoin": "plugin-mini-splitjoin", - "plugin-mini-starter": "plugin-mini-starter", - "plugin-mini-statusline": "plugin-mini-statusline", - "plugin-mini-surround": "plugin-mini-surround", - "plugin-mini-tabline": "plugin-mini-tabline", - "plugin-mini-test": "plugin-mini-test", - "plugin-mini-trailspace": "plugin-mini-trailspace", - "plugin-mini-visits": "plugin-mini-visits", - "plugin-minimap-vim": "plugin-minimap-vim", - "plugin-modes-nvim": "plugin-modes-nvim", - "plugin-neo-tree-nvim": "plugin-neo-tree-nvim", - "plugin-neocord": "plugin-neocord", - "plugin-neodev-nvim": "plugin-neodev-nvim", - "plugin-neorg": "plugin-neorg", - "plugin-neorg-telescope": "plugin-neorg-telescope", - "plugin-new-file-template-nvim": "plugin-new-file-template-nvim", - "plugin-noice-nvim": "plugin-noice-nvim", - "plugin-none-ls": "plugin-none-ls", - "plugin-nord": "plugin-nord", - "plugin-nui-nvim": "plugin-nui-nvim", - "plugin-nvim-autopairs": "plugin-nvim-autopairs", - "plugin-nvim-bufferline-lua": "plugin-nvim-bufferline-lua", - "plugin-nvim-cmp": "plugin-nvim-cmp", - "plugin-nvim-colorizer-lua": "plugin-nvim-colorizer-lua", - "plugin-nvim-cursorline": "plugin-nvim-cursorline", - "plugin-nvim-dap": "plugin-nvim-dap", - "plugin-nvim-dap-go": "plugin-nvim-dap-go", - "plugin-nvim-dap-ui": "plugin-nvim-dap-ui", - "plugin-nvim-docs-view": "plugin-nvim-docs-view", - "plugin-nvim-lightbulb": "plugin-nvim-lightbulb", - "plugin-nvim-lspconfig": "plugin-nvim-lspconfig", - "plugin-nvim-metals": "plugin-nvim-metals", - "plugin-nvim-navbuddy": "plugin-nvim-navbuddy", - "plugin-nvim-navic": "plugin-nvim-navic", - "plugin-nvim-neoclip": "plugin-nvim-neoclip", - "plugin-nvim-nio": "plugin-nvim-nio", - "plugin-nvim-notify": "plugin-nvim-notify", - "plugin-nvim-scrollbar": "plugin-nvim-scrollbar", - "plugin-nvim-session-manager": "plugin-nvim-session-manager", - "plugin-nvim-surround": "plugin-nvim-surround", - "plugin-nvim-tree-lua": "plugin-nvim-tree-lua", - "plugin-nvim-treesitter-context": "plugin-nvim-treesitter-context", - "plugin-nvim-ts-autotag": "plugin-nvim-ts-autotag", - "plugin-nvim-ufo": "plugin-nvim-ufo", - "plugin-nvim-web-devicons": "plugin-nvim-web-devicons", - "plugin-obsidian-nvim": "plugin-obsidian-nvim", - "plugin-omnisharp-extended": "plugin-omnisharp-extended", - "plugin-onedark": "plugin-onedark", - "plugin-orgmode-nvim": "plugin-orgmode-nvim", - "plugin-otter-nvim": "plugin-otter-nvim", - "plugin-oxocarbon": "plugin-oxocarbon", - "plugin-pathlib-nvim": "plugin-pathlib-nvim", - "plugin-plenary-nvim": "plugin-plenary-nvim", - "plugin-precognition-nvim": "plugin-precognition-nvim", - "plugin-project-nvim": "plugin-project-nvim", - "plugin-promise-async": "plugin-promise-async", - "plugin-rainbow-delimiters": "plugin-rainbow-delimiters", - "plugin-registers": "plugin-registers", - "plugin-render-markdown-nvim": "plugin-render-markdown-nvim", - "plugin-rose-pine": "plugin-rose-pine", - "plugin-rtp-nvim": "plugin-rtp-nvim", - "plugin-run-nvim": "plugin-run-nvim", - "plugin-rustaceanvim": "plugin-rustaceanvim", - "plugin-smartcolumn": "plugin-smartcolumn", - "plugin-sqls-nvim": "plugin-sqls-nvim", - "plugin-tabular": "plugin-tabular", - "plugin-telescope": "plugin-telescope", - "plugin-tiny-devicons-auto-colors": "plugin-tiny-devicons-auto-colors", - "plugin-todo-comments": "plugin-todo-comments", - "plugin-toggleterm-nvim": "plugin-toggleterm-nvim", - "plugin-tokyonight": "plugin-tokyonight", - "plugin-trouble": "plugin-trouble", - "plugin-ts-error-translator": "plugin-ts-error-translator", - "plugin-typst-preview-nvim": "plugin-typst-preview-nvim", - "plugin-vim-dirtytalk": "plugin-vim-dirtytalk", - "plugin-vim-fugitive": "plugin-vim-fugitive", - "plugin-vim-illuminate": "plugin-vim-illuminate", - "plugin-vim-markdown": "plugin-vim-markdown", - "plugin-vim-repeat": "plugin-vim-repeat", - "plugin-vim-startify": "plugin-vim-startify", - "plugin-which-key": "plugin-which-key", - "plugin-yanky-nvim": "plugin-yanky-nvim", "systems": "systems_2" } }, diff --git a/flake.nix b/flake.nix index a9d158a3..1c559bd7 100644 --- a/flake.nix +++ b/flake.nix @@ -7,7 +7,7 @@ } @ inputs: let # call the extended library with `inputs` # inputs is used to get the original standard library, and to pass inputs to the plugin autodiscovery function - lib = import ./lib/stdlib-extended.nix inputs; + lib = import ./lib/stdlib-extended.nix {inherit inputs self;}; in flake-parts.lib.mkFlake { inherit inputs; @@ -53,6 +53,8 @@ '' self.nixosModules.nvf; }; + + inherit (lib.importJSON ./npins/sources.json) pins; }; perSystem = {pkgs, ...}: { @@ -97,874 +99,8 @@ inputs.flake-utils.follows = "flake-utils"; }; - ## Plugins - # Lazy loading - plugin-lz-n = { - url = "github:nvim-neorocks/lz.n"; - flake = false; - }; - - plugin-lzn-auto-require = { - url = "github:horriblename/lzn-auto-require/require-rewrite"; - flake = false; - }; - - plugin-rtp-nvim = { - url = "github:nvim-neorocks/rtp.nvim"; - flake = false; - }; - - # LSP plugins - plugin-nvim-lspconfig = { - url = "github:neovim/nvim-lspconfig"; - flake = false; - }; - - plugin-lspsaga = { - url = "github:tami5/lspsaga.nvim"; - flake = false; - }; - - plugin-lspkind = { - url = "github:onsails/lspkind-nvim"; - flake = false; - }; - - plugin-trouble = { - url = "github:folke/trouble.nvim"; - flake = false; - }; - - plugin-nvim-treesitter-context = { - url = "github:nvim-treesitter/nvim-treesitter-context"; - flake = false; - }; - - plugin-nvim-lightbulb = { - url = "github:kosayoda/nvim-lightbulb"; - flake = false; - }; - - plugin-fastaction-nvim = { - url = "github:Chaitanyabsprip/fastaction.nvim"; - flake = false; - }; - - plugin-lsp-signature = { - url = "github:ray-x/lsp_signature.nvim"; - flake = false; - }; - - plugin-lsp-lines = { - url = "sourcehut:~whynothugo/lsp_lines.nvim"; - flake = false; - }; - - plugin-none-ls = { - # https://github.com/nvimtools/none-ls.nvim/issues/58 - url = "github:nvimtools/none-ls.nvim/bb680d752cec37949faca7a1f509e2fe67ab418a"; - flake = false; - }; - - plugin-nvim-docs-view = { - url = "github:amrbashir/nvim-docs-view"; - flake = false; - }; - - plugin-otter-nvim = { - url = "github:jmbuhr/otter.nvim"; - flake = false; - }; - - # Language support - plugin-sqls-nvim = { - url = "github:nanotee/sqls.nvim"; - flake = false; - }; - - plugin-rustaceanvim = { - url = "github:mrcjkb/rustaceanvim"; - flake = false; - }; - - plugin-flutter-tools = { - url = "github:akinsho/flutter-tools.nvim"; - flake = false; - }; - - plugin-neodev-nvim = { - url = "github:folke/neodev.nvim"; - flake = false; - }; - - plugin-elixir-tools = { - url = "github:elixir-tools/elixir-tools.nvim"; - flake = false; - }; - - plugin-ts-error-translator = { - url = "github:dmmulroy/ts-error-translator.nvim"; - flake = false; - }; - - plugin-typst-preview-nvim = { - url = "github:chomosuke/typst-preview.nvim"; - flake = false; - }; - - plugin-nvim-metals = { - url = "github:scalameta/nvim-metals"; - flake = false; - }; - - plugin-omnisharp-extended = { - url = "github:Hoffs/omnisharp-extended-lsp.nvim"; - flake = false; - }; - - plugin-csharpls-extended = { - url = "github:Decodetalkers/csharpls-extended-lsp.nvim"; - flake = false; - }; - - # Copying/Registers - plugin-registers = { - url = "github:tversteeg/registers.nvim"; - flake = false; - }; - - plugin-nvim-neoclip = { - url = "github:AckslD/nvim-neoclip.lua"; - flake = false; - }; - - # Pickers - plugin-telescope = { - url = "github:nvim-telescope/telescope.nvim"; - flake = false; - }; - - plugin-fzf-lua = { - url = "github:ibhagwan/fzf-lua"; - flake = false; - }; - - # Runners - plugin-run-nvim = { - url = "github:diniamo/run.nvim"; - flake = false; - }; - - # Debuggers - plugin-nvim-dap = { - url = "github:mfussenegger/nvim-dap"; - flake = false; - }; - - plugin-nvim-dap-ui = { - url = "github:rcarriga/nvim-dap-ui"; - flake = false; - }; - - plugin-nvim-dap-go = { - url = "github:leoluz/nvim-dap-go"; - flake = false; - }; - - # Filetrees - plugin-nvim-tree-lua = { - url = "github:nvim-tree/nvim-tree.lua"; - flake = false; - }; - - plugin-neo-tree-nvim = { - url = "github:nvim-neo-tree/neo-tree.nvim"; - flake = false; - }; - - # Tablines - plugin-nvim-bufferline-lua = { - url = "github:akinsho/nvim-bufferline.lua"; - flake = false; - }; - - # Statuslines - plugin-lualine = { - url = "github:hoob3rt/lualine.nvim"; - flake = false; - }; - - plugin-nvim-cmp = { - url = "github:hrsh7th/nvim-cmp"; - flake = false; - }; - - plugin-cmp-buffer = { - url = "github:hrsh7th/cmp-buffer"; - flake = false; - }; - - plugin-cmp-nvim-lsp = { - url = "github:hrsh7th/cmp-nvim-lsp"; - flake = false; - }; - - plugin-cmp-path = { - url = "github:hrsh7th/cmp-path"; - flake = false; - }; - - plugin-cmp-treesitter = { - url = "github:ray-x/cmp-treesitter"; - flake = false; - }; - - plugin-cmp-luasnip = { - url = "github:saadparwaiz1/cmp_luasnip"; - flake = false; - }; - - # snippets - plugin-luasnip = { - url = "github:L3MON4D3/LuaSnip"; - flake = false; - }; - - plugin-friendly-snippets = { - url = "github:rafamadriz/friendly-snippets"; - flake = false; - }; - - # Presence - plugin-neocord = { - url = "github:IogaMaster/neocord"; - flake = false; # uses flake-utils, avoid the flake - }; - - # Autopairs - plugin-nvim-autopairs = { - url = "github:windwp/nvim-autopairs"; - flake = false; - }; - - plugin-nvim-ts-autotag = { - url = "github:windwp/nvim-ts-autotag"; - flake = false; - }; - - # Commenting - plugin-comment-nvim = { - url = "github:numToStr/Comment.nvim"; - flake = false; - }; - - plugin-todo-comments = { - url = "github:folke/todo-comments.nvim"; - flake = false; - }; - - # Buffer tools - plugin-bufdelete-nvim = { - url = "github:famiu/bufdelete.nvim"; - flake = false; - }; - - # Dashboard Utilities - plugin-dashboard-nvim = { - url = "github:glepnir/dashboard-nvim"; - flake = false; - }; - - plugin-alpha-nvim = { - url = "github:goolord/alpha-nvim"; - flake = false; - }; - - plugin-vim-startify = { - url = "github:mhinz/vim-startify"; - flake = false; - }; - - # Themes - plugin-base16 = { - url = "github:rrethy/base16-nvim"; - flake = false; - }; - - plugin-tokyonight = { - url = "github:folke/tokyonight.nvim"; - flake = false; - }; - - plugin-onedark = { - url = "github:navarasu/onedark.nvim"; - flake = false; - }; - - plugin-catppuccin = { - url = "github:catppuccin/nvim"; - flake = false; - }; - - plugin-dracula = { - url = "github:Mofiqul/dracula.nvim"; - flake = false; - }; - - plugin-oxocarbon = { - url = "github:nyoom-engineering/oxocarbon.nvim"; - flake = false; - }; - - plugin-gruvbox = { - url = "github:ellisonleao/gruvbox.nvim"; - flake = false; - }; - - plugin-rose-pine = { - url = "github:rose-pine/neovim"; - flake = false; - }; - - plugin-nord = { - url = "github:gbprod/nord.nvim"; - flake = false; - }; - - # Rust crates - plugin-crates-nvim = { - url = "github:Saecki/crates.nvim"; - flake = false; - }; - - # Project Management - plugin-project-nvim = { - url = "github:ahmedkhalf/project.nvim"; - flake = false; - }; - - # Visuals - plugin-nvim-cursorline = { - url = "github:yamatsum/nvim-cursorline"; - flake = false; - }; - - plugin-nvim-scrollbar = { - url = "github:petertriho/nvim-scrollbar"; - flake = false; - }; - - plugin-cinnamon-nvim = { - url = "github:declancm/cinnamon.nvim"; - flake = false; - }; - - plugin-cellular-automaton = { - url = "github:Eandrju/cellular-automaton.nvim"; - flake = false; - }; - - plugin-indent-blankline = { - url = "github:lukas-reineke/indent-blankline.nvim"; - flake = false; - }; - - plugin-nvim-web-devicons = { - url = "github:nvim-tree/nvim-web-devicons"; - flake = false; - }; - - plugin-tiny-devicons-auto-colors = { - url = "github:rachartier/tiny-devicons-auto-colors.nvim"; - flake = false; - }; - - plugin-gitsigns-nvim = { - url = "github:lewis6991/gitsigns.nvim"; - flake = false; - }; - - plugin-vim-fugitive = { - url = "github:tpope/vim-fugitive"; - flake = false; - }; - - plugin-fidget-nvim = { - url = "github:j-hui/fidget.nvim"; - flake = false; - }; - - plugin-highlight-undo = { - url = "github:tzachar/highlight-undo.nvim"; - flake = false; - }; - - plugin-render-markdown-nvim = { - url = "github:MeanderingProgrammer/render-markdown.nvim"; - flake = false; - }; - - plugin-rainbow-delimiters = { - url = "github:HiPhish/rainbow-delimiters.nvim"; - flake = false; - }; - - # Minimap - plugin-minimap-vim = { - url = "github:wfxr/minimap.vim"; - flake = false; - }; - - plugin-codewindow-nvim = { - url = "github:gorbit99/codewindow.nvim"; - flake = false; - }; - - # Notifications - plugin-nvim-notify = { - url = "github:rcarriga/nvim-notify"; - flake = false; - }; - - # Utilities - plugin-ccc = { - url = "github:uga-rosa/ccc.nvim"; - flake = false; - }; - - plugin-diffview-nvim = { - url = "github:sindrets/diffview.nvim"; - flake = false; - }; - - plugin-icon-picker-nvim = { - url = "github:ziontee113/icon-picker.nvim"; - flake = false; - }; - - plugin-which-key = { - url = "github:folke/which-key.nvim"; - flake = false; - }; - - plugin-cheatsheet-nvim = { - url = "github:sudormrfbin/cheatsheet.nvim"; - flake = false; - }; - - plugin-gesture-nvim = { - url = "github:notomo/gesture.nvim"; - flake = false; - }; - - plugin-hop-nvim = { - url = "github:phaazon/hop.nvim"; - flake = false; - }; - - plugin-leap-nvim = { - url = "github:ggandor/leap.nvim"; - flake = false; - }; - - plugin-smartcolumn = { - url = "github:m4xshen/smartcolumn.nvim"; - flake = false; - }; - - plugin-nvim-surround = { - url = "github:kylechui/nvim-surround"; - flake = false; - }; - - plugin-glow-nvim = { - url = "github:ellisonleao/glow.nvim"; - flake = false; - }; - - plugin-image-nvim = { - url = "github:3rd/image.nvim"; - flake = false; - }; - - plugin-precognition-nvim = { - url = "github:tris203/precognition.nvim"; - flake = false; - }; - - plugin-yanky-nvim = { - url = "github:gbprod/yanky.nvim"; - flake = false; - }; - - # Note-taking - plugin-obsidian-nvim = { - url = "github:epwalsh/obsidian.nvim"; - flake = false; - }; - - plugin-orgmode-nvim = { - url = "github:nvim-orgmode/orgmode"; - flake = false; - }; - - plugin-mind-nvim = { - url = "github:phaazon/mind.nvim"; - flake = false; - }; - - # Spellchecking - plugin-vim-dirtytalk = { - url = "github:psliwka/vim-dirtytalk"; - flake = false; - }; - - # Terminal - plugin-toggleterm-nvim = { - url = "github:akinsho/toggleterm.nvim"; - flake = false; - }; - - # UI - plugin-nvim-navbuddy = { - url = "github:SmiteshP/nvim-navbuddy"; - flake = false; - }; - - plugin-nvim-navic = { - url = "github:SmiteshP/nvim-navic"; - flake = false; - }; - - plugin-noice-nvim = { - url = "github:folke/noice.nvim"; - flake = false; - }; - - plugin-modes-nvim = { - url = "github:mvllow/modes.nvim"; - flake = false; - }; - - plugin-nvim-colorizer-lua = { - url = "github:catgoose/nvim-colorizer.lua"; - flake = false; - }; - - plugin-vim-illuminate = { - url = "github:RRethy/vim-illuminate"; - flake = false; - }; - - # Assistant - plugin-chatgpt = { - url = "github:jackMort/ChatGPT.nvim"; - flake = false; - }; - - plugin-copilot-lua = { - url = "github:zbirenbaum/copilot.lua"; - flake = false; - }; - - plugin-copilot-cmp = { - url = "github:zbirenbaum/copilot-cmp"; - flake = false; - }; - - # Session management - plugin-nvim-session-manager = { - url = "github:Shatur/neovim-session-manager"; - flake = false; - }; - - # Dependencies - plugin-plenary-nvim = { - # (required by crates-nvim) - url = "github:nvim-lua/plenary.nvim"; - flake = false; - }; - - plugin-dressing-nvim = { - # (required by icon-picker-nvim) - url = "github:stevearc/dressing.nvim"; - flake = false; - }; - - plugin-vim-markdown = { - # (required by obsidian-nvim) - url = "github:preservim/vim-markdown"; - flake = false; - }; - - plugin-tabular = { - # (required by vim-markdown) - url = "github:godlygeek/tabular"; - flake = false; - }; - - plugin-lua-utils-nvim = { - url = "github:nvim-neorg/lua-utils.nvim"; - flake = false; - }; - - plugin-pathlib-nvim = { - url = "github:pysan3/pathlib.nvim"; - flake = false; - }; - - plugin-neorg = { - url = "github:nvim-neorg/neorg"; - flake = false; - }; - - plugin-neorg-telescope = { - url = "github:nvim-neorg/neorg-telescope"; - flake = false; - }; - - plugin-nui-nvim = { - # (required by noice.nvim) - url = "github:MunifTanjim/nui.nvim"; - flake = false; - }; - - plugin-vim-repeat = { - # (required by leap.nvim) - url = "github:tpope/vim-repeat"; - flake = false; - }; - - plugin-nvim-nio = { - # (required by nvim-dap-ui) - url = "github:nvim-neotest/nvim-nio"; - flake = false; - }; - - plugin-promise-async = { - url = "github:kevinhwang91/promise-async"; - flake = false; - }; - - plugin-nvim-ufo = { - url = "github:kevinhwang91/nvim-ufo"; - flake = false; - }; - - plugin-new-file-template-nvim = { - # (required by new-file-template.nvim) - url = "github:otavioschwanck/new-file-template.nvim"; - flake = false; - }; - - plugin-haskell-tools-nvim = { - url = "github:mrcjkb/haskell-tools.nvim"; - flake = false; - }; - - plugin-aerial-nvim = { - url = "github:stevearc/aerial.nvim"; - flake = false; - }; - - # Mini.nvim - plugin-mini-ai = { - url = "github:echasnovski/mini.ai"; - flake = false; - }; - - plugin-mini-align = { - url = "github:echasnovski/mini.align"; - flake = false; - }; - - plugin-mini-animate = { - url = "github:echasnovski/mini.animate"; - flake = false; - }; - - plugin-mini-base16 = { - url = "github:echasnovski/mini.base16"; - flake = false; - }; - - plugin-mini-basics = { - url = "github:echasnovski/mini.basics"; - flake = false; - }; - - plugin-mini-bracketed = { - url = "github:echasnovski/mini.bracketed"; - flake = false; - }; - - plugin-mini-bufremove = { - url = "github:echasnovski/mini.bufremove"; - flake = false; - }; - - plugin-mini-clue = { - url = "github:echasnovski/mini.clue"; - flake = false; - }; - - plugin-mini-colors = { - url = "github:echasnovski/mini.colors"; - flake = false; - }; - - plugin-mini-comment = { - url = "github:echasnovski/mini.comment"; - flake = false; - }; - - plugin-mini-completion = { - url = "github:echasnovski/mini.completion"; - flake = false; - }; - - plugin-mini-diff = { - url = "github:echasnovski/mini.diff"; - flake = false; - }; - - plugin-mini-doc = { - url = "github:echasnovski/mini.doc"; - flake = false; - }; - - plugin-mini-extra = { - url = "github:echasnovski/mini.extra"; - flake = false; - }; - - plugin-mini-files = { - url = "github:echasnovski/mini.files"; - flake = false; - }; - - plugin-mini-fuzzy = { - url = "github:echasnovski/mini.fuzzy"; - flake = false; - }; - - plugin-mini-git = { - url = "github:echasnovski/mini-git"; - flake = false; - }; - - plugin-mini-hipatterns = { - url = "github:echasnovski/mini.hipatterns"; - flake = false; - }; - - plugin-mini-hues = { - url = "github:echasnovski/mini.hues"; - flake = false; - }; - - plugin-mini-icons = { - url = "github:echasnovski/mini.icons"; - flake = false; - }; - - plugin-mini-indentscope = { - url = "github:echasnovski/mini.indentscope"; - flake = false; - }; - - plugin-mini-jump = { - url = "github:echasnovski/mini.jump"; - flake = false; - }; - - plugin-mini-jump2d = { - url = "github:echasnovski/mini.jump2d"; - flake = false; - }; - - plugin-mini-map = { - url = "github:echasnovski/mini.map"; - flake = false; - }; - - plugin-mini-misc = { - url = "github:echasnovski/mini.misc"; - flake = false; - }; - - plugin-mini-move = { - url = "github:echasnovski/mini.move"; - flake = false; - }; - - plugin-mini-notify = { - url = "github:echasnovski/mini.notify"; - flake = false; - }; - - plugin-mini-operators = { - url = "github:echasnovski/mini.operators"; - flake = false; - }; - - plugin-mini-pairs = { - url = "github:echasnovski/mini.pairs"; - flake = false; - }; - - plugin-mini-pick = { - url = "github:echasnovski/mini.pick"; - flake = false; - }; - - plugin-mini-sessions = { - url = "github:echasnovski/mini.sessions"; - flake = false; - }; - - plugin-mini-snippets = { - url = "github:echasnovski/mini.snippets"; - flake = false; - }; - - plugin-mini-splitjoin = { - url = "github:echasnovski/mini.splitjoin"; - flake = false; - }; - - plugin-mini-starter = { - url = "github:echasnovski/mini.starter"; - flake = false; - }; - - plugin-mini-statusline = { - url = "github:echasnovski/mini.statusline"; - flake = false; - }; - - plugin-mini-surround = { - url = "github:echasnovski/mini.surround"; - flake = false; - }; - - plugin-mini-tabline = { - url = "github:echasnovski/mini.tabline"; - flake = false; - }; - - plugin-mini-test = { - url = "github:echasnovski/mini.test"; - flake = false; - }; - - plugin-mini-trailspace = { - url = "github:echasnovski/mini.trailspace"; - flake = false; - }; - - plugin-mini-visits = { - url = "github:echasnovski/mini.visits"; + blink-cmp = { + url = "github:saghen/blink.cmp"; flake = false; }; }; diff --git a/flake/develop.nix b/flake/develop.nix index 7b645288..71c13688 100644 --- a/flake/develop.nix +++ b/flake/develop.nix @@ -9,7 +9,7 @@ default = self'.devShells.lsp; nvim-nix = pkgs.mkShellNoCC {packages = [config.packages.nix];}; lsp = pkgs.mkShellNoCC { - packages = with pkgs; [nil statix deadnix alejandra]; + packages = with pkgs; [nil statix deadnix alejandra npins]; }; }; diff --git a/flake/legacyPackages.nix b/flake/legacyPackages.nix index b77d057a..d5b5aacd 100644 --- a/flake/legacyPackages.nix +++ b/flake/legacyPackages.nix @@ -9,10 +9,14 @@ overlays = [ inputs.self.overlays.default - (_: _: { + (final: _: { # Build nil from source to get most recent # features as they are added. nil = inputs'.nil.packages.default; + blink-cmp = final.callPackage ./legacyPackages/blink-cmp.nix { + src = inputs.blink-cmp; + version = inputs.blink-cmp.shortRev or inputs.blink-cmp.shortDirtyRev or "dirty"; + }; }) ]; }; diff --git a/flake/legacyPackages/blink-cmp.nix b/flake/legacyPackages/blink-cmp.nix new file mode 100644 index 00000000..002269b9 --- /dev/null +++ b/flake/legacyPackages/blink-cmp.nix @@ -0,0 +1,38 @@ +{ + rustPlatform, + hostPlatform, + vimUtils, + git, + src, + version, +}: let + blink-fuzzy-lib = rustPlatform.buildRustPackage { + pname = "blink-fuzzy-lib"; + inherit version src; + + env = { + # TODO: remove this if plugin stops using nightly rust + RUSTC_BOOTSTRAP = true; + }; + nativeBuildInputs = [git]; + cargoLock = { + lockFile = "${src}/Cargo.lock"; + allowBuiltinFetchGit = true; + }; + }; + libExt = + if hostPlatform.isDarwin + then "dylib" + else "so"; +in + vimUtils.buildVimPlugin { + pname = "blink-cmp"; + inherit version src; + + # blink references a repro.lua which is placed outside the lua/ directory + doCheck = false; + preInstall = '' + mkdir -p target/release + ln -s ${blink-fuzzy-lib}/lib/libblink_cmp_fuzzy.${libExt} target/release/libblink_cmp_fuzzy.${libExt} + ''; + } diff --git a/flake/overlays.nix b/flake/overlays.nix index 1381e7ba..5d0ff6e8 100644 --- a/flake/overlays.nix +++ b/flake/overlays.nix @@ -10,10 +10,10 @@ nixConfig = import ../configuration.nix false; maximalConfig = import ../configuration.nix true; in { - flake.overlays.default = _final: prev: { + flake.overlays.default = final: _prev: { inherit neovimConfiguration; - neovim-nix = buildPkg prev [nixConfig]; - neovim-maximal = buildPkg prev [maximalConfig]; + neovim-nix = buildPkg final [nixConfig]; + neovim-maximal = buildPkg final [maximalConfig]; devPkg = buildPkg pkgs [nixConfig {config.vim.languages.html.enable = pkgs.lib.mkForce true;}]; }; } diff --git a/lib/default.nix b/lib/default.nix index e6ccd2a7..952278a8 100644 --- a/lib/default.nix +++ b/lib/default.nix @@ -1,10 +1,10 @@ { + self, inputs, lib, ... }: { - types = import ./types {inherit inputs lib;}; - + types = import ./types {inherit lib;}; config = import ./config.nix {inherit lib;}; binds = import ./binds.nix {inherit lib;}; dag = import ./dag.nix {inherit lib;}; @@ -12,5 +12,5 @@ lists = import ./lists.nix {inherit lib;}; attrsets = import ./attrsets.nix {inherit lib;}; lua = import ./lua.nix {inherit lib;}; - neovimConfiguration = import ../modules {inherit inputs lib;}; + neovimConfiguration = import ../modules {inherit self inputs lib;}; } diff --git a/lib/stdlib-extended.nix b/lib/stdlib-extended.nix index 0f30815a..a85160c3 100644 --- a/lib/stdlib-extended.nix +++ b/lib/stdlib-extended.nix @@ -1,6 +1,10 @@ # Convenience function that returns the given Nixpkgs standard library # extended with our functions using `lib.extend`. -inputs: +{ + inputs, + self, + ... +} @ args: inputs.nixpkgs.lib.extend (self: super: { # WARNING: New functions should not be added here, but to files # imported by `./default.nix` under their own categories. If your @@ -12,7 +16,7 @@ inputs.nixpkgs.lib.extend (self: super: { # E.g. for an input called `nvf`, `inputs.nvf.lib.nvim` will return the set # below. nvim = import ./. { - inherit inputs; + inherit (args) inputs self; lib = self; }; diff --git a/lib/types/default.nix b/lib/types/default.nix index c1c16715..c6239227 100644 --- a/lib/types/default.nix +++ b/lib/types/default.nix @@ -1,10 +1,6 @@ -{ - inputs, - lib, - ... -}: let +{lib}: let typesDag = import ./dag.nix {inherit lib;}; - typesPlugin = import ./plugins.nix {inherit inputs lib;}; + typesPlugin = import ./plugins.nix {inherit lib;}; typesLanguage = import ./languages.nix {inherit lib;}; customTypes = import ./custom.nix {inherit lib;}; in { diff --git a/lib/types/plugins.nix b/lib/types/plugins.nix index 656b7ab8..fc2bd083 100644 --- a/lib/types/plugins.nix +++ b/lib/types/plugins.nix @@ -1,12 +1,8 @@ -{ - inputs, - lib, - ... -}: let +{lib}: let inherit (lib.options) mkOption; inherit (lib.attrsets) attrNames mapAttrs' filterAttrs nameValuePair; inherit (lib.strings) hasPrefix removePrefix; - inherit (lib.types) submodule either package enum str lines attrsOf anything listOf nullOr; + inherit (lib.types) submodule either package enum str lines anything listOf nullOr; # Get the names of all flake inputs that start with the given prefix. fromInputs = { @@ -15,11 +11,8 @@ }: mapAttrs' (n: v: nameValuePair (removePrefix prefix n) {src = v;}) (filterAttrs (n: _: hasPrefix prefix n) inputs); - # Get the names of all flake inputs that start with the given prefix. - pluginInputNames = attrNames (fromInputs { - inherit inputs; - prefix = "plugin-"; - }); + # Get the names of all npins + pluginInputNames = attrNames (lib.importJSON ../../npins/sources.json).pins; # You can either use the name of the plugin or a package. pluginType = nullOr ( diff --git a/modules/default.nix b/modules/default.nix index a207e0d1..a479bae2 100644 --- a/modules/default.nix +++ b/modules/default.nix @@ -1,4 +1,5 @@ { + self, inputs, lib, }: { @@ -23,7 +24,7 @@ specialArgs = extraSpecialArgs // { - inherit inputs; + inherit self inputs; modulesPath = toString ./.; }; modules = concatLists [ diff --git a/modules/extra/deprecations.nix b/modules/extra/deprecations.nix index 8d27d7ac..5efe2ae2 100644 --- a/modules/extra/deprecations.nix +++ b/modules/extra/deprecations.nix @@ -4,6 +4,7 @@ inherit (lib.nvim.config) batchRenameOptions; renamedVimOpts = batchRenameOptions ["vim"] ["vim" "options"] { + # 2024-12-01 colourTerm = "termguicolors"; mouseSupport = "mouse"; cmdHeight = "cmdheight"; @@ -15,6 +16,9 @@ autoIndent = "autoindent"; wordWrap = "wrap"; showSignColumn = "signcolumn"; + + # 2025-02-07 + scrollOff = "scrolloff"; }; in { imports = concatLists [ @@ -93,9 +97,15 @@ in { # 2024-12-02 (mkRenamedOptionModule ["vim" "enableEditorconfig"] ["vim" "globals" "editorconfig"]) + + # 2025-02-06 + (mkRemovedOptionModule ["vim" "disableArrows"] '' + Top-level convenience options are now in the process of being removed from nvf as + their behaviour was abstract, and confusing. Please use 'vim.options' or 'vim.luaConfigRC' + to replicate previous behaviour. + '') ] - # 2024-12-01 # Migrated via batchRenameOptions. Further batch renames must be below this line. renamedVimOpts ]; diff --git a/modules/modules.nix b/modules/modules.nix index 65b0c966..c7e198dd 100644 --- a/modules/modules.nix +++ b/modules/modules.nix @@ -23,7 +23,9 @@ "completion" "dashboard" "debugger" + "diagnostics" "filetree" + "formatter" "git" "languages" "lsp" diff --git a/modules/neovim/init/basic.nix b/modules/neovim/init/basic.nix index b4677de9..47bfe500 100644 --- a/modules/neovim/init/basic.nix +++ b/modules/neovim/init/basic.nix @@ -16,12 +16,6 @@ cfg = config.vim; in { options.vim = { - disableArrows = mkOption { - type = bool; - default = false; - description = "Set to prevent arrow keys from moving cursor"; - }; - hideSearchHighlight = mkOption { type = bool; default = false; diff --git a/modules/neovim/mappings/config.nix b/modules/neovim/mappings/config.nix index 4d7f2417..230df030 100644 --- a/modules/neovim/mappings/config.nix +++ b/modules/neovim/mappings/config.nix @@ -26,34 +26,6 @@ in { config = { vim.keymaps = mkMerge [ - ( - mkIf cfg.disableArrows [ - { - key = ""; - mode = ["n" "i"]; - action = ""; - noremap = false; - } - { - key = ""; - mode = ["n" "i"]; - action = ""; - noremap = false; - } - { - key = ""; - mode = ["n" "i"]; - action = ""; - noremap = false; - } - { - key = ""; - mode = ["n" "i"]; - action = ""; - noremap = false; - } - ] - ) ( pipe cfg.maps [ diff --git a/modules/plugins/completion/blink-cmp/blink-cmp.nix b/modules/plugins/completion/blink-cmp/blink-cmp.nix new file mode 100644 index 00000000..e56ac4cc --- /dev/null +++ b/modules/plugins/completion/blink-cmp/blink-cmp.nix @@ -0,0 +1,120 @@ +{lib, ...}: let + inherit (lib.options) mkEnableOption mkOption literalMD; + inherit (lib.types) listOf str either attrsOf submodule enum anything int nullOr; + inherit (lib.generators) mkLuaInline; + inherit (lib.nvim.types) mkPluginSetupOption luaInline; + inherit (lib.nvim.binds) mkMappingOption; + inherit (lib.nvim.config) mkBool; + + keymapType = submodule { + freeformType = attrsOf (listOf (either str luaInline)); + options = { + preset = mkOption { + type = enum ["default" "none" "super-tab" "enter"]; + default = "none"; + description = "keymap presets"; + }; + }; + }; + + providerType = submodule { + freeformType = anything; + options = { + module = mkOption { + type = str; + description = "module of the provider"; + }; + }; + }; +in { + options.vim.autocomplete.blink-cmp = { + enable = mkEnableOption "blink.cmp"; + setupOpts = mkPluginSetupOption "blink.cmp" { + sources = { + default = mkOption { + type = listOf str; + default = ["lsp" "path" "snippets" "buffer"]; + description = "Default list of sources to enable for completion."; + }; + + cmdline = mkOption { + type = nullOr (listOf str); + default = []; + description = "List of sources to enable for cmdline. Null means use default source list."; + }; + + providers = mkOption { + type = attrsOf providerType; + default = {}; + description = "Settings for completion providers"; + }; + + transform_items = mkOption { + type = nullOr luaInline; + default = mkLuaInline "function(_, items) return items end"; + defaultText = '' + Our default does nothing. If you want blink.cmp's default, which + lowers the score for snippets, set this option to null. + ''; + description = '' + Function to use when transforming the items before they're returned + for all providers. + ''; + }; + }; + + completion = { + documentation = { + auto_show = mkBool true "Show documentation whenever an item is selected"; + auto_show_delay_ms = mkOption { + type = int; + default = 200; + description = "Delay before auto show triggers"; + }; + }; + }; + + keymap = mkOption { + type = keymapType; + default = {}; + description = "blink.cmp keymap"; + example = literalMD '' + ```nix + vim.autocomplete.blink-cmp.setupOpts.keymap = { + preset = "none"; + + "" = ["select_prev" "fallback"]; + "" = [ + (lib.generators.mkLuaInline '''' + function(cmp) + if some_condition then return end -- runs the next command + return true -- doesn't run the next command + end, + '''') + "select_next" + ]; + }; + ``` + ''; + }; + + fuzzy = { + prebuilt_binaries = { + download = mkBool false '' + Auto-downloads prebuilt binaries. Do not enable, it doesn't work on nix + ''; + }; + }; + }; + + mappings = { + complete = mkMappingOption "Complete [blink.cmp]" ""; + confirm = mkMappingOption "Confirm [blink.cmp]" ""; + next = mkMappingOption "Next item [blink.cmp]" ""; + previous = mkMappingOption "Previous item [blink.cmp]" ""; + close = mkMappingOption "Close [blink.cmp]" ""; + scrollDocsUp = mkMappingOption "Scroll docs up [blink.cmp]" ""; + scrollDocsDown = mkMappingOption "Scroll docs down [blink.cmp]" ""; + }; + }; +} diff --git a/modules/plugins/completion/blink-cmp/config.nix b/modules/plugins/completion/blink-cmp/config.nix new file mode 100644 index 00000000..914821f9 --- /dev/null +++ b/modules/plugins/completion/blink-cmp/config.nix @@ -0,0 +1,91 @@ +{ + lib, + config, + ... +}: let + inherit (lib.modules) mkIf; + inherit (lib.strings) optionalString; + inherit (lib.generators) mkLuaInline; + inherit (lib.nvim.lua) toLuaObject; + inherit (builtins) concatStringsSep typeOf tryEval attrNames mapAttrs; + + cfg = config.vim.autocomplete.blink-cmp; + cmpCfg = config.vim.autocomplete.nvim-cmp; + inherit (cfg) mappings; + + getPluginName = plugin: + if typeOf plugin == "string" + then plugin + else if (plugin ? pname && (tryEval plugin.pname).success) + then plugin.pname + else plugin.name; +in { + vim = mkIf cfg.enable { + startPlugins = ["blink-compat"]; + lazy.plugins = { + blink-cmp = { + package = "blink-cmp"; + setupModule = "blink.cmp"; + inherit (cfg) setupOpts; + + # TODO: lazy disabled until lspconfig is lazy loaded + # + # event = ["InsertEnter" "CmdlineEnter"]; + + after = '' + ${optionalString config.vim.lazy.enable + (concatStringsSep "\n" (map + (package: "require('lz.n').trigger_load(${toLuaObject (getPluginName package)})") + cmpCfg.sourcePlugins))} + ''; + }; + }; + + autocomplete = { + enableSharedCmpSources = true; + blink-cmp.setupOpts = { + sources = { + default = ["lsp" "path" "snippets" "buffer"] ++ (attrNames cmpCfg.sources); + providers = + mapAttrs (name: _: { + inherit name; + module = "blink.compat.source"; + }) + cmpCfg.sources; + }; + snippets = mkIf config.vim.snippets.luasnip.enable { + preset = "luasnip"; + }; + + keymap = { + ${mappings.complete} = ["show" "fallback"]; + ${mappings.close} = ["hide" "fallback"]; + ${mappings.scrollDocsUp} = ["scroll_documentation_up" "fallback"]; + ${mappings.scrollDocsDown} = ["scroll_documentation_down" "fallback"]; + ${mappings.confirm} = ["accept" "fallback"]; + + ${mappings.next} = [ + "select_next" + "snippet_forward" + (mkLuaInline '' + function(cmp) + local line, col = unpack(vim.api.nvim_win_get_cursor(0)) + has_words_before = col ~= 0 and vim.api.nvim_buf_get_lines(0, line - 1, line, true)[1]:sub(col, col):match("%s") == nil + + if has_words_before then + return cmp.show() + end + end + '') + "fallback" + ]; + ${mappings.previous} = [ + "select_prev" + "snippet_backward" + "fallback" + ]; + }; + }; + }; + }; +} diff --git a/modules/plugins/completion/blink-cmp/default.nix b/modules/plugins/completion/blink-cmp/default.nix new file mode 100644 index 00000000..3e2d7e6b --- /dev/null +++ b/modules/plugins/completion/blink-cmp/default.nix @@ -0,0 +1,6 @@ +{ + imports = [ + ./blink-cmp.nix + ./config.nix + ]; +} diff --git a/modules/plugins/completion/config.nix b/modules/plugins/completion/config.nix new file mode 100644 index 00000000..8fc09201 --- /dev/null +++ b/modules/plugins/completion/config.nix @@ -0,0 +1,34 @@ +{ + lib, + config, + ... +}: let + inherit (lib.modules) mkIf; + inherit (lib.nvim.attrsets) mapListToAttrs; + inherit (builtins) typeOf tryEval; + + cfg = config.vim.autocomplete; + getPluginName = plugin: + if typeOf plugin == "string" + then plugin + else if (plugin ? pname && (tryEval plugin.pname).success) + then plugin.pname + else plugin.name; +in { + config.vim = mkIf cfg.enableSharedCmpSources { + startPlugins = ["rtp-nvim"]; + lazy.plugins = + mapListToAttrs (package: { + name = getPluginName package; + value = { + inherit package; + lazy = true; + after = '' + local path = vim.fn.globpath(vim.o.packpath, 'pack/*/opt/${getPluginName package}') + require("rtp_nvim").source_after_plugin_dir(path) + ''; + }; + }) + cfg.nvim-cmp.sourcePlugins; + }; +} diff --git a/modules/plugins/completion/default.nix b/modules/plugins/completion/default.nix index 0cae45f6..bf737580 100644 --- a/modules/plugins/completion/default.nix +++ b/modules/plugins/completion/default.nix @@ -1,5 +1,9 @@ { imports = [ + ./module.nix + ./config.nix + ./nvim-cmp + ./blink-cmp ]; } diff --git a/modules/plugins/completion/module.nix b/modules/plugins/completion/module.nix new file mode 100644 index 00000000..eb2a32f1 --- /dev/null +++ b/modules/plugins/completion/module.nix @@ -0,0 +1,7 @@ +{lib, ...}: let + inherit (lib.options) mkEnableOption; +in { + options.vim.autocomplete = { + enableSharedCmpSources = mkEnableOption "sources shared by blink.cmp and nvim-cmp"; + }; +} diff --git a/modules/plugins/completion/nvim-cmp/config.nix b/modules/plugins/completion/nvim-cmp/config.nix index cfd3e53a..ce058876 100644 --- a/modules/plugins/completion/nvim-cmp/config.nix +++ b/modules/plugins/completion/nvim-cmp/config.nix @@ -24,114 +24,103 @@ in { config = mkIf cfg.enable { vim = { - startPlugins = ["rtp-nvim"]; - lazy.plugins = mkMerge [ - (mapListToAttrs (package: { - name = getPluginName package; - value = { - inherit package; - lazy = true; - after = '' - local path = vim.fn.globpath(vim.o.packpath, 'pack/*/opt/${getPluginName package}') - require("rtp_nvim").source_after_plugin_dir(path) + lazy.plugins = { + nvim-cmp = { + package = "nvim-cmp"; + after = '' + ${optionalString luasnipEnable "local luasnip = require('luasnip')"} + local cmp = require("cmp") + + local kinds = require("cmp.types").lsp.CompletionItemKind + local deprio = function(kind) + return function(e1, e2) + if e1:get_kind() == kind then + return false + end + if e2:get_kind() == kind then + return true + end + return nil + end + end + + cmp.setup(${toLuaObject cfg.setupOpts}) + + ${optionalString config.vim.lazy.enable + (concatStringsSep "\n" (map + (package: "require('lz.n').trigger_load(${toLuaObject (getPluginName package)})") + cfg.sourcePlugins))} + ''; + + event = ["InsertEnter" "CmdlineEnter"]; + }; + }; + + autocomplete = { + enableSharedCmpSources = true; + + nvim-cmp = { + sources = { + nvim-cmp = null; + buffer = "[Buffer]"; + path = "[Path]"; + }; + + sourcePlugins = ["cmp-buffer" "cmp-path"]; + + setupOpts = { + sources = map (s: {name = s;}) (attrNames cfg.sources); + + window = mkIf borders.enable { + completion.border = borders.style; + documentation.border = borders.style; + }; + + formatting.format = cfg.format; + + # `cmp` and `luasnip` are defined above, in the `nvim-cmp` section + mapping = { + ${mappings.complete} = mkLuaInline "cmp.mapping.complete()"; + ${mappings.close} = mkLuaInline "cmp.mapping.abort()"; + ${mappings.scrollDocsUp} = mkLuaInline "cmp.mapping.scroll_docs(-4)"; + ${mappings.scrollDocsDown} = mkLuaInline "cmp.mapping.scroll_docs(4)"; + ${mappings.confirm} = mkLuaInline "cmp.mapping.confirm({ select = true })"; + + ${mappings.next} = mkLuaInline '' + cmp.mapping(function(fallback) + local has_words_before = function() + local line, col = unpack(vim.api.nvim_win_get_cursor(0)) + return col ~= 0 and vim.api.nvim_buf_get_lines(0, line - 1, line, true)[1]:sub(col, col):match("%s") == nil + end + + if cmp.visible() then + cmp.select_next_item() + ${optionalString luasnipEnable '' + elseif luasnip.locally_jumpable(1) then + luasnip.jump(1) + ''} + elseif has_words_before() then + cmp.complete() + else + fallback() + end + end) + ''; + + ${mappings.previous} = mkLuaInline '' + cmp.mapping(function(fallback) + if cmp.visible() then + cmp.select_prev_item() + ${optionalString luasnipEnable '' + elseif luasnip.locally_jumpable(-1) then + luasnip.jump(-1) + ''} + else + fallback() + end + end) ''; }; - }) - cfg.sourcePlugins) - { - nvim-cmp = { - package = "nvim-cmp"; - after = '' - ${optionalString luasnipEnable "local luasnip = require('luasnip')"} - local cmp = require("cmp") - - local kinds = require("cmp.types").lsp.CompletionItemKind - local deprio = function(kind) - return function(e1, e2) - if e1:get_kind() == kind then - return false - end - if e2:get_kind() == kind then - return true - end - return nil - end - end - - cmp.setup(${toLuaObject cfg.setupOpts}) - - ${optionalString config.vim.lazy.enable - (concatStringsSep "\n" (map - (package: "require('lz.n').trigger_load(${toLuaObject (getPluginName package)})") - cfg.sourcePlugins))} - ''; - - event = ["InsertEnter" "CmdlineEnter"]; - }; - } - ]; - - autocomplete.nvim-cmp = { - sources = { - nvim-cmp = null; - buffer = "[Buffer]"; - path = "[Path]"; - }; - - sourcePlugins = ["cmp-buffer" "cmp-path"]; - - setupOpts = { - sources = map (s: {name = s;}) (attrNames cfg.sources); - - window = mkIf borders.enable { - completion.border = borders.style; - documentation.border = borders.style; - }; - - formatting.format = cfg.format; - - # `cmp` and `luasnip` are defined above, in the `nvim-cmp` section - mapping = { - ${mappings.complete} = mkLuaInline "cmp.mapping.complete()"; - ${mappings.close} = mkLuaInline "cmp.mapping.abort()"; - ${mappings.scrollDocsUp} = mkLuaInline "cmp.mapping.scroll_docs(-4)"; - ${mappings.scrollDocsDown} = mkLuaInline "cmp.mapping.scroll_docs(4)"; - ${mappings.confirm} = mkLuaInline "cmp.mapping.confirm({ select = true })"; - - ${mappings.next} = mkLuaInline '' - cmp.mapping(function(fallback) - local has_words_before = function() - local line, col = unpack(vim.api.nvim_win_get_cursor(0)) - return col ~= 0 and vim.api.nvim_buf_get_lines(0, line - 1, line, true)[1]:sub(col, col):match("%s") == nil - end - - if cmp.visible() then - cmp.select_next_item() - ${optionalString luasnipEnable '' - elseif luasnip.locally_jumpable(1) then - luasnip.jump(1) - ''} - elseif has_words_before() then - cmp.complete() - else - fallback() - end - end) - ''; - - ${mappings.previous} = mkLuaInline '' - cmp.mapping(function(fallback) - if cmp.visible() then - cmp.select_prev_item() - ${optionalString luasnipEnable '' - elseif luasnip.locally_jumpable(-1) then - luasnip.jump(-1) - ''} - else - fallback() - end - end) - ''; }; }; }; diff --git a/modules/plugins/diagnostics/default.nix b/modules/plugins/diagnostics/default.nix new file mode 100644 index 00000000..3789640d --- /dev/null +++ b/modules/plugins/diagnostics/default.nix @@ -0,0 +1,3 @@ +{ + imports = [./nvim-lint]; +} diff --git a/modules/plugins/diagnostics/nvim-lint/config.nix b/modules/plugins/diagnostics/nvim-lint/config.nix new file mode 100644 index 00000000..dac2c2f4 --- /dev/null +++ b/modules/plugins/diagnostics/nvim-lint/config.nix @@ -0,0 +1,20 @@ +{ + config, + lib, + ... +}: let + inherit (lib.modules) mkIf; + inherit (lib.nvim.dag) entryAnywhere; + inherit (lib.nvim.lua) toLuaObject; + + cfg = config.vim.diagnostics.nvim-lint; +in { + config = mkIf cfg.enable { + vim = { + startPlugins = ["nvim-lint"]; + pluginRC.nvim-lint = entryAnywhere '' + require("lint").setup(${toLuaObject cfg.setupOpts}) + ''; + }; + }; +} diff --git a/modules/plugins/diagnostics/nvim-lint/default.nix b/modules/plugins/diagnostics/nvim-lint/default.nix new file mode 100644 index 00000000..00c526f1 --- /dev/null +++ b/modules/plugins/diagnostics/nvim-lint/default.nix @@ -0,0 +1,6 @@ +{ + imports = [ + ./nvim-lint.nix + ./config.nix + ]; +} diff --git a/modules/plugins/diagnostics/nvim-lint/nvim-lint.nix b/modules/plugins/diagnostics/nvim-lint/nvim-lint.nix new file mode 100644 index 00000000..2211211e --- /dev/null +++ b/modules/plugins/diagnostics/nvim-lint/nvim-lint.nix @@ -0,0 +1,27 @@ +{lib, ...}: let + inherit (lib.options) mkOption mkEnableOption; + inherit (lib.types) attrsOf listOf str; + inherit (lib.nvim.types) mkPluginSetupOption; +in { + options.vim.diagnostics.nvim-lint = { + enable = mkEnableOption "asynchronous linter plugin for Neovim [nvim-lint]"; + setupOpts = mkPluginSetupOption "nvim-lint" { + linters_by_ft = mkOption { + type = attrsOf (listOf str); + default = {}; + example = { + text = ["vale"]; + markdown = ["vale"]; + }; + + description = '' + Map of filetype to formatters. This option takes a set of + `key = value` format where the `value` will be converted + to its Lua equivalent. You are responsible for passing the + correct Nix data types to generate a correct Lua value that + conform is able to accept. + ''; + }; + }; + }; +} diff --git a/modules/plugins/formatter/conform-nvim/config.nix b/modules/plugins/formatter/conform-nvim/config.nix new file mode 100644 index 00000000..0b83d813 --- /dev/null +++ b/modules/plugins/formatter/conform-nvim/config.nix @@ -0,0 +1,20 @@ +{ + config, + lib, + ... +}: let + inherit (lib.modules) mkIf; + inherit (lib.nvim.dag) entryAnywhere; + inherit (lib.nvim.lua) toLuaObject; + + cfg = config.vim.formatter.conform-nvim; +in { + config = mkIf cfg.enable { + vim = { + startPlugins = ["conform-nvim"]; + pluginRC.conform-nvim = entryAnywhere '' + require("conform").setup(${toLuaObject cfg.setupOpts}) + ''; + }; + }; +} diff --git a/modules/plugins/formatter/conform-nvim/conform-nvim.nix b/modules/plugins/formatter/conform-nvim/conform-nvim.nix new file mode 100644 index 00000000..423a4f44 --- /dev/null +++ b/modules/plugins/formatter/conform-nvim/conform-nvim.nix @@ -0,0 +1,56 @@ +{ + pkgs, + lib, + ... +}: let + inherit (lib.options) mkOption mkEnableOption literalExpression; + inherit (lib.types) attrs enum; + inherit (lib.nvim.types) mkPluginSetupOption; + inherit (lib.nvim.lua) mkLuaInline; +in { + options.vim.formatter.conform-nvim = { + enable = mkEnableOption "lightweight yet powerful formatter plugin for Neovim [conform-nvim]"; + setupOpts = mkPluginSetupOption "conform.nvim" { + formatters_by_ft = mkOption { + type = attrs; + default = {}; + example = {lua = ["stylua"];}; + description = '' + Map of filetype to formatters. This option takes a set of + `key = value` format where the `value will` be converted + to its Lua equivalent. You are responsible for passing the + correct Nix data types to generate a correct Lua value that + conform is able to accept. + ''; + }; + + default_format_opts = mkOption { + type = attrs; + default = {lsp_format = "fallback";}; + description = "Default values when calling `conform.format()`"; + }; + + format_on_save = mkOption { + type = attrs; + default = { + lsp_format = "fallback"; + timeout_ms = 500; + }; + description = '' + Table that will be passed to `conform.format()`. If this + is set, Conform will run the formatter on save. + ''; + }; + + format_after_save = mkOption { + type = attrs; + default = {lsp_format = "fallback";}; + description = '' + Table that will be passed to `conform.format()`. If this + is set, Conform will run the formatter asynchronously after + save. + ''; + }; + }; + }; +} diff --git a/modules/plugins/formatter/conform-nvim/default.nix b/modules/plugins/formatter/conform-nvim/default.nix new file mode 100644 index 00000000..56c90f3f --- /dev/null +++ b/modules/plugins/formatter/conform-nvim/default.nix @@ -0,0 +1,6 @@ +{ + imports = [ + ./conform-nvim.nix + ./config.nix + ]; +} diff --git a/modules/plugins/formatter/default.nix b/modules/plugins/formatter/default.nix new file mode 100644 index 00000000..f57ad66a --- /dev/null +++ b/modules/plugins/formatter/default.nix @@ -0,0 +1,3 @@ +{ + imports = [./conform-nvim]; +} diff --git a/modules/plugins/languages/lua.nix b/modules/plugins/languages/lua.nix index 5ceed3ee..4ad49784 100644 --- a/modules/plugins/languages/lua.nix +++ b/modules/plugins/languages/lua.nix @@ -8,7 +8,6 @@ inherit (lib.modules) mkIf mkMerge; inherit (lib.meta) getExe; inherit (lib.lists) isList; - inherit (lib.strings) optionalString; inherit (lib.types) either listOf package str; inherit (lib.nvim.types) mkGrammarOption; inherit (lib.nvim.lua) expToLua; @@ -16,6 +15,12 @@ cfg = config.vim.languages.lua; in { + imports = [ + (lib.mkRemovedOptionModule ["vim" "languages" "lua" "lsp" "neodev"] '' + neodev has been replaced by lazydev + '') + ]; + options.vim.languages.lua = { enable = mkEnableOption "Lua language support"; treesitter = { @@ -32,7 +37,7 @@ in { default = pkgs.lua-language-server; }; - neodev.enable = mkEnableOption "neodev.nvim integration, useful for neovim plugin developers"; + lazydev.enable = mkEnableOption "lazydev.nvim integration, useful for neovim plugin developers"; }; }; @@ -49,7 +54,6 @@ in { lspconfig.lua_ls.setup { capabilities = capabilities; on_attach = default_on_attach; - ${optionalString cfg.lsp.neodev.enable "before_init = require('neodev.lsp').before_init;"} cmd = ${ if isList cfg.lsp.package then expToLua cfg.lsp.package @@ -59,10 +63,15 @@ in { ''; }) - (mkIf cfg.lsp.neodev.enable { - vim.startPlugins = ["neodev-nvim"]; - vim.pluginRC.neodev = entryBefore ["lua-lsp"] '' - require("neodev").setup({}) + (mkIf cfg.lsp.lazydev.enable { + vim.startPlugins = ["lazydev-nvim"]; + vim.pluginRC.lazydev = entryBefore ["lua-lsp"] '' + require("lazydev").setup({ + enabled = function(root_dir) + return not vim.uv.fs_stat(root_dir .. "/.luarc.json") + end, + library = { { path = "''${3rd}/luv/library", words = { "vim%.uv" } } }, + }) ''; }) ])) diff --git a/modules/plugins/lsp/config.nix b/modules/plugins/lsp/config.nix index e73a5387..0fa16e47 100644 --- a/modules/plugins/lsp/config.nix +++ b/modules/plugins/lsp/config.nix @@ -11,6 +11,7 @@ cfg = config.vim.lsp; usingNvimCmp = config.vim.autocomplete.nvim-cmp.enable; + usingBlinkCmp = config.vim.autocomplete.blink-cmp.enable; self = import ./module.nix {inherit config lib pkgs;}; mappingDefinitions = self.options.vim.lsp.mappings; @@ -22,7 +23,7 @@ in { config = mkIf cfg.enable { vim = { - autocomplete.nvim-cmp = { + autocomplete.nvim-cmp = mkIf usingNvimCmp { sources = {nvim_lsp = "[LSP]";}; sourcePlugins = ["cmp-nvim-lsp"]; }; @@ -170,6 +171,10 @@ in { }, } ''} + + ${optionalString usingBlinkCmp '' + capabilities = require('blink.cmp').get_lsp_capabilities() + ''} ''; }; }; diff --git a/modules/plugins/lsp/lsp-signature/config.nix b/modules/plugins/lsp/lsp-signature/config.nix index c9940534..da8828d4 100644 --- a/modules/plugins/lsp/lsp-signature/config.nix +++ b/modules/plugins/lsp/lsp-signature/config.nix @@ -10,9 +10,19 @@ cfg = config.vim.lsp; in { config = mkIf (cfg.enable && cfg.lspSignature.enable) { + assertions = [ + { + assertion = !config.vim.autocomplete.blink-cmp.enable; + message = '' + lsp-signature does not work with blink.cmp. Please use blink.cmp's builtin signature feature: + + vim.autocomplete.blink-cmp.setupOpts.signature.enabled = true; + ''; + } + ]; vim = { startPlugins = [ - "lsp-signature" + "lsp-signature-nvim" ]; lsp.lspSignature.setupOpts = { diff --git a/modules/plugins/lsp/lspkind/config.nix b/modules/plugins/lsp/lspkind/config.nix index 2ef20ff8..abe14524 100644 --- a/modules/plugins/lsp/lspkind/config.nix +++ b/modules/plugins/lsp/lspkind/config.nix @@ -8,16 +8,18 @@ inherit (lib.nvim.lua) toLuaObject; cfg = config.vim.lsp.lspkind; + usingCmp = config.vim.autocomplete.nvim-cmp.enable; + usingBlink = config.vim.autocomplete.blink-cmp.enable; in { config = mkIf cfg.enable { assertions = [ { - assertion = config.vim.autocomplete.nvim-cmp.enable; + assertion = usingCmp || usingBlink; message = '' While lspkind supports Neovim's native lsp upstream, using that over - nvim-cmp isn't recommended, nor supported by nvf. + nvim-cmp/blink.cmp isn't recommended, nor supported by nvf. - Please migrate to nvim-cmp if you want to use lspkind. + Please migrate to nvim-cmp/blink.cmp if you want to use lspkind. ''; } ]; @@ -26,9 +28,19 @@ in { startPlugins = ["lspkind"]; lsp.lspkind.setupOpts.before = config.vim.autocomplete.nvim-cmp.format; - autocomplete.nvim-cmp.setupOpts.formatting.format = mkForce (mkLuaInline '' - require("lspkind").cmp_format(${toLuaObject cfg.setupOpts}) - ''); + autocomplete = { + nvim-cmp = mkIf usingCmp { + setupOpts.formatting.format = mkForce (mkLuaInline '' + require("lspkind").cmp_format(${toLuaObject cfg.setupOpts}) + ''); + }; + + blink-cmp = mkIf usingBlink { + setupOpts.appearance.kind_icons = mkLuaInline '' + require("lspkind").symbol_map + ''; + }; + }; }; }; } diff --git a/modules/plugins/lsp/null-ls/config.nix b/modules/plugins/lsp/null-ls/config.nix index 8e776ed3..549ef0b7 100644 --- a/modules/plugins/lsp/null-ls/config.nix +++ b/modules/plugins/lsp/null-ls/config.nix @@ -14,7 +14,7 @@ in { { vim = { startPlugins = [ - "none-ls" + "none-ls-nvim" "plenary-nvim" ]; diff --git a/modules/plugins/notes/obsidian/obsidian.nix b/modules/plugins/notes/obsidian/obsidian.nix index 2da2127b..17369b88 100644 --- a/modules/plugins/notes/obsidian/obsidian.nix +++ b/modules/plugins/notes/obsidian/obsidian.nix @@ -7,6 +7,8 @@ inherit (lib.types) bool str nullOr; inherit (lib.modules) mkRenamedOptionModule; inherit (lib.nvim.types) mkPluginSetupOption; + + autocompleteCfg = config.vim.autocomplete; in { imports = let renamedSetupOption = oldPath: newPath: @@ -42,7 +44,7 @@ in { # If using nvim-cmp, otherwise set to false type = bool; description = "If using nvim-cmp, otherwise set to false"; - default = config.vim.autocomplete.nvim-cmp.enable; + default = autocompleteCfg.nvim-cmp.enable || autocompleteCfg.blink-cmp.enable; }; }; }; diff --git a/modules/plugins/notes/todo-comments/config.nix b/modules/plugins/notes/todo-comments/config.nix index 645f6770..b03efce4 100644 --- a/modules/plugins/notes/todo-comments/config.nix +++ b/modules/plugins/notes/todo-comments/config.nix @@ -15,7 +15,7 @@ in { config = mkIf cfg.enable { vim = { startPlugins = [ - "todo-comments" + "todo-comments-nvim" ]; maps.normal = mkMerge [ diff --git a/modules/plugins/snippets/luasnip/config.nix b/modules/plugins/snippets/luasnip/config.nix index b05f9f27..11be37c1 100644 --- a/modules/plugins/snippets/luasnip/config.nix +++ b/modules/plugins/snippets/luasnip/config.nix @@ -20,7 +20,7 @@ in { after = cfg.loaders; }; startPlugins = cfg.providers; - autocomplete.nvim-cmp = { + autocomplete.nvim-cmp = mkIf config.vim.autocomplete.nvim-cmp.enable { sources = {luasnip = "[LuaSnip]";}; sourcePlugins = ["cmp-luasnip"]; }; diff --git a/modules/plugins/statusline/lualine/config.nix b/modules/plugins/statusline/lualine/config.nix index ac587c03..facfcebb 100644 --- a/modules/plugins/statusline/lualine/config.nix +++ b/modules/plugins/statusline/lualine/config.nix @@ -34,7 +34,7 @@ in { }) (mkIf cfg.enable { vim = { - startPlugins = ["lualine"]; + startPlugins = ["lualine-nvim"]; pluginRC.lualine = entryAnywhere '' local lualine = require('lualine') lualine.setup ${toLuaObject cfg.setupOpts} diff --git a/modules/plugins/treesitter/config.nix b/modules/plugins/treesitter/config.nix index 566a716e..14aba5e1 100644 --- a/modules/plugins/treesitter/config.nix +++ b/modules/plugins/treesitter/config.nix @@ -20,7 +20,8 @@ in { vim = { startPlugins = ["nvim-treesitter"]; - autocomplete.nvim-cmp = { + # cmp-treesitter doesn't work on blink.cmp + autocomplete.nvim-cmp = mkIf config.vim.autocomplete.nvim-cmp.enable { sources = {treesitter = "[Treesitter]";}; sourcePlugins = ["cmp-treesitter"]; }; diff --git a/modules/plugins/ui/smartcolumn/config.nix b/modules/plugins/ui/smartcolumn/config.nix index f38edfdf..9f6f10e2 100644 --- a/modules/plugins/ui/smartcolumn/config.nix +++ b/modules/plugins/ui/smartcolumn/config.nix @@ -11,7 +11,7 @@ in { config = mkIf cfg.enable { vim = { - startPlugins = ["smartcolumn"]; + startPlugins = ["smartcolumn-nvim"]; pluginRC.smartcolumn = entryAnywhere '' require("smartcolumn").setup(${toLuaObject cfg.setupOpts}) diff --git a/modules/plugins/utility/binds/which-key/config.nix b/modules/plugins/utility/binds/which-key/config.nix index 01a29fbf..68dbbfbf 100644 --- a/modules/plugins/utility/binds/which-key/config.nix +++ b/modules/plugins/utility/binds/which-key/config.nix @@ -14,7 +14,7 @@ in { config = mkIf cfg.enable { vim = { - startPlugins = ["which-key"]; + startPlugins = ["which-key-nvim"]; pluginRC.whichkey = entryAnywhere '' local wk = require("which-key") diff --git a/modules/plugins/visuals/highlight-undo/config.nix b/modules/plugins/visuals/highlight-undo/config.nix index d41c6a69..09ae49be 100644 --- a/modules/plugins/visuals/highlight-undo/config.nix +++ b/modules/plugins/visuals/highlight-undo/config.nix @@ -11,7 +11,7 @@ in { config = mkIf cfg.enable { vim = { - startPlugins = ["highlight-undo"]; + startPlugins = ["highlight-undo-nvim"]; pluginRC.highlight-undo = entryAnywhere '' require("highlight-undo").setup(${toLuaObject cfg.setupOpts}) diff --git a/modules/plugins/visuals/indent-blankline/config.nix b/modules/plugins/visuals/indent-blankline/config.nix index 581bd136..78ebf68c 100644 --- a/modules/plugins/visuals/indent-blankline/config.nix +++ b/modules/plugins/visuals/indent-blankline/config.nix @@ -11,7 +11,7 @@ in { config = mkIf cfg.enable { vim = { - startPlugins = ["indent-blankline"]; + startPlugins = ["indent-blankline-nvim"]; pluginRC.indent-blankline = entryAnywhere '' require("ibl").setup(${toLuaObject cfg.setupOpts}) diff --git a/modules/plugins/visuals/rainbow-delimiters/config.nix b/modules/plugins/visuals/rainbow-delimiters/config.nix index 361a0426..79996aea 100644 --- a/modules/plugins/visuals/rainbow-delimiters/config.nix +++ b/modules/plugins/visuals/rainbow-delimiters/config.nix @@ -9,7 +9,7 @@ cfg = config.vim.visuals.rainbow-delimiters; in { vim = mkIf cfg.enable { - startPlugins = ["rainbow-delimiters"]; + startPlugins = ["rainbow-delimiters-nvim"]; pluginRC.rainbow-delimiters = entryAnywhere '' vim.g.rainbow_delimiters = ${toLuaObject cfg.setupOpts} diff --git a/modules/wrapper/build/config.nix b/modules/wrapper/build/config.nix index 46d99b36..64734f3b 100644 --- a/modules/wrapper/build/config.nix +++ b/modules/wrapper/build/config.nix @@ -1,29 +1,27 @@ { inputs, - lib, config, pkgs, + lib, ... -} -: let +}: let inherit (pkgs) vimPlugins; inherit (lib.strings) isString; inherit (lib.lists) filter map; inherit (builtins) path; - # alias to the internal configuration - vimOptions = config.vim; + getPin = name: ((pkgs.callPackages ../../../npins/sources.nix {}) // config.vim.pluginOverrides).${name}; noBuildPlug = pname: let - input = inputs."plugin-${pname}"; - version = input.shortRev or input.shortDirtyRev or "dirty"; + pin = getPin pname; + version = pin.revision or "dirty"; in { # vim.lazy.plugins relies on pname, so we only set that here # version isn't needed for anything, but inherit it anyway for correctness inherit pname version; outPath = path { name = "${pname}-0-unstable-${version}"; - path = input.outPath; + path = pin.outPath; }; passthru.vimPlugin = false; }; @@ -32,12 +30,12 @@ # if the plugin is nvim-treesitter, warn the user to use buildTreesitterPlug # instead buildPlug = attrs: let - input = inputs."plugin-${attrs.pname}"; + pin = getPin attrs.pname; in pkgs.vimUtils.buildVimPlugin ( { - version = input.shortRev or input.shortDirtyRev or "dirty"; - src = input.outPath; + version = pin.revision or "dirty"; + src = pin.outPath; } // attrs ); @@ -45,7 +43,7 @@ buildTreesitterPlug = grammars: vimPlugins.nvim-treesitter.withPlugins (_: grammars); pluginBuilders = { - nvim-treesitter = buildTreesitterPlug vimOptions.treesitter.grammars; + nvim-treesitter = buildTreesitterPlug config.vim.treesitter.grammars; flutter-tools-patched = buildPlug { pname = "flutter-tools"; patches = [./patches/flutter-tools.patch]; @@ -61,42 +59,45 @@ "flutter-tools.dev_tools" ]; }; + inherit (pkgs) blink-cmp; }; buildConfigPlugins = plugins: - map ( - plug: - if (isString plug) - then pluginBuilders.${plug} or (noBuildPlug plug) - else plug - ) (filter (f: f != null) plugins); + map (plug: + if (isString plug) + then pluginBuilders.${plug} or (noBuildPlug plug) + else plug) ( + filter (f: f != null) plugins + ); # built (or "normalized") plugins that are modified - builtStartPlugins = buildConfigPlugins vimOptions.startPlugins; - builtOptPlugins = map (package: package // {optional = true;}) (buildConfigPlugins vimOptions.optPlugins); + builtStartPlugins = buildConfigPlugins config.vim.startPlugins; + builtOptPlugins = map (package: package // {optional = true;}) ( + buildConfigPlugins config.vim.optPlugins + ); # additional Lua and Python3 packages, mapped to their respective functions # to conform to the format mnw expects. end user should # only ever need to pass a list of packages, which are modified # here - extraLuaPackages = ps: map (x: ps.${x}) vimOptions.luaPackages; - extraPython3Packages = ps: map (x: ps.${x}) vimOptions.python3Packages; + extraLuaPackages = ps: map (x: ps.${x}) config.vim.luaPackages; + extraPython3Packages = ps: map (x: ps.${x}) config.vim.python3Packages; # Wrap the user's desired (unwrapped) Neovim package with arguments that'll be used to # generate a wrapped Neovim package. neovim-wrapped = inputs.mnw.lib.wrap pkgs { - neovim = vimOptions.package; + neovim = config.vim.package; plugins = builtStartPlugins ++ builtOptPlugins; appName = "nvf"; - extraBinPath = vimOptions.extraPackages; - initLua = vimOptions.builtLuaConfigRC; - luaFiles = vimOptions.extraLuaFiles; + extraBinPath = config.vim.extraPackages; + initLua = config.vim.builtLuaConfigRC; + luaFiles = config.vim.extraLuaFiles; - inherit (vimOptions) viAlias vimAlias withRuby withNodeJs withPython3; + inherit (config.vim) viAlias vimAlias withRuby withNodeJs withPython3; inherit extraLuaPackages extraPython3Packages; }; - dummyInit = pkgs.writeText "nvf-init.lua" vimOptions.builtLuaConfigRC; + dummyInit = pkgs.writeText "nvf-init.lua" config.vim.builtLuaConfigRC; # Additional helper scripts for printing and displaying nvf configuration # in your commandline. printConfig = pkgs.writers.writeDashBin "nvf-print-config" "cat ${dummyInit}"; @@ -109,10 +110,10 @@ paths = [neovim-wrapped printConfig printConfigPath]; postBuild = "echo Helpers added"; - # Allow evaluating vimOptions, i.e., config.vim from the packages' passthru + # Allow evaluating config.vim, i.e., config.vim from the packages' passthru # attribute. For example, packages.x86_64-linux.neovim.passthru.neovimConfig # will return the configuration in full. - passthru.neovimConfig = vimOptions; + passthru.neovimConfig = config.vim; meta = neovim-wrapped.meta diff --git a/modules/wrapper/environment/options.nix b/modules/wrapper/environment/options.nix index 6a8d085f..c401f506 100644 --- a/modules/wrapper/environment/options.nix +++ b/modules/wrapper/environment/options.nix @@ -140,5 +140,21 @@ in { example = ''["pynvim"]''; description = "List of python packages to install"; }; + + pluginOverrides = mkOption { + type = attrsOf package; + default = {}; + example = '' + { + lazydev-nvim = pkgs.fetchFromGitHub { + owner = "folke"; + repo = "lazydev.nvim"; + rev = ""; + hash = ""; + }; + } + ''; + description = "Attribute set of plugins to override default values"; + }; }; } diff --git a/npins/sources.json b/npins/sources.json new file mode 100644 index 00000000..70df6065 --- /dev/null +++ b/npins/sources.json @@ -0,0 +1,2008 @@ +{ + "pins": { + "aerial-nvim": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "stevearc", + "repo": "aerial.nvim" + }, + "branch": "main", + "revision": "b3ec25ca8c347fafa976484a6cace162239112e1", + "url": "https://github.com/stevearc/aerial.nvim/archive/b3ec25ca8c347fafa976484a6cace162239112e1.tar.gz", + "hash": "0jz169xhg4xhg3di19xj1yvyl6lrrx8a0aka00gk62f08j8jv17d" + }, + "alpha-nvim": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "goolord", + "repo": "alpha-nvim" + }, + "branch": "main", + "revision": "de72250e054e5e691b9736ee30db72c65d560771", + "url": "https://github.com/goolord/alpha-nvim/archive/de72250e054e5e691b9736ee30db72c65d560771.tar.gz", + "hash": "0c1jkhxamfn2md7m1r5b2wpxa26y90b98yzjwf68m3fymalvkn5h" + }, + "base16-nvim": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "rrethy", + "repo": "base16-nvim" + }, + "branch": "main", + "revision": "6ac181b5733518040a33017dde654059cd771b7c", + "url": "https://github.com/rrethy/base16-nvim/archive/6ac181b5733518040a33017dde654059cd771b7c.tar.gz", + "hash": "0q47jbh6abn2hql9ghi9ayx3l8pdrdcdrnf4qfk7cp0v1bl7y48r" + }, + "blink-compat": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "saghen", + "repo": "blink.compat" + }, + "branch": "main", + "revision": "3f39cba0a30a7e7d7c2f63605e88ede464c7d39d", + "url": "https://github.com/saghen/blink.compat/archive/3f39cba0a30a7e7d7c2f63605e88ede464c7d39d.tar.gz", + "hash": "1a970v4b73jimjq7cmf61yycbd5j2x0vr14c6gbpblcaxkqby4bv" + }, + "bufdelete-nvim": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "famiu", + "repo": "bufdelete.nvim" + }, + "branch": "main", + "revision": "f6bcea78afb3060b198125256f897040538bcb81", + "url": "https://github.com/famiu/bufdelete.nvim/archive/f6bcea78afb3060b198125256f897040538bcb81.tar.gz", + "hash": "0xfzk3zgnxbwnr55n3lglsb8nmhnchpiqz9d152xr6j8d9z0sdcn" + }, + "catppuccin": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "catppuccin", + "repo": "nvim" + }, + "branch": "main", + "revision": "f67b886d65a029f12ffa298701fb8f1efd89295d", + "url": "https://github.com/catppuccin/nvim/archive/f67b886d65a029f12ffa298701fb8f1efd89295d.tar.gz", + "hash": "0fwgsvlxvzz5r8jfmj1fp97cqv9b9h2f37fn4nhmim5lm6d0n14p" + }, + "ccc-nvim": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "uga-rosa", + "repo": "ccc.nvim" + }, + "branch": "main", + "revision": "7c639042583c7bdc7ce2e37e5a0e0aa6d0659c6a", + "url": "https://github.com/uga-rosa/ccc.nvim/archive/7c639042583c7bdc7ce2e37e5a0e0aa6d0659c6a.tar.gz", + "hash": "01pp5j89x6p7k3r0gpcd12yjdqwxv2m472hnjvpr6mqhq3d525rs" + }, + "cellular-automaton-nvim": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "Eandrju", + "repo": "cellular-automaton.nvim" + }, + "branch": "main", + "revision": "11aea08aa084f9d523b0142c2cd9441b8ede09ed", + "url": "https://github.com/Eandrju/cellular-automaton.nvim/archive/11aea08aa084f9d523b0142c2cd9441b8ede09ed.tar.gz", + "hash": "0jvz2vnyhm6a2zyz93sh87n59vga2l016ijrfybfrlv44hhzp2ww" + }, + "chatgpt-nvim": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "jackMort", + "repo": "ChatGPT.nvim" + }, + "branch": "main", + "revision": "5b6d296eefc75331e2ff9f0adcffbd7d27862dd6", + "url": "https://github.com/jackMort/ChatGPT.nvim/archive/5b6d296eefc75331e2ff9f0adcffbd7d27862dd6.tar.gz", + "hash": "07f0p03fb4060lc7jfvp8mqi0jbk8mril9fg3b8rx9mq8415g1gr" + }, + "cheatsheet-nvim": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "sudormrfbin", + "repo": "cheatsheet.nvim" + }, + "branch": "main", + "revision": "9716f9aaa94dd1fd6ce59b5aae0e5f25e2a463ef", + "url": "https://github.com/sudormrfbin/cheatsheet.nvim/archive/9716f9aaa94dd1fd6ce59b5aae0e5f25e2a463ef.tar.gz", + "hash": "0dm94kppbnky8y0gs1pdfs7vcc9hyp8lf6h33dw6ndqfnw3hd2ad" + }, + "cinnamon-nvim": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "declancm", + "repo": "cinnamon.nvim" + }, + "branch": "main", + "revision": "450cb3247765fed7871b41ef4ce5fa492d834215", + "url": "https://github.com/declancm/cinnamon.nvim/archive/450cb3247765fed7871b41ef4ce5fa492d834215.tar.gz", + "hash": "1vq0cab139gyix2qhmivp86fq6l4fhzn7qafphj0yjac47i11iwi" + }, + "cmp-buffer": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "hrsh7th", + "repo": "cmp-buffer" + }, + "branch": "main", + "revision": "3022dbc9166796b644a841a02de8dd1cc1d311fa", + "url": "https://github.com/hrsh7th/cmp-buffer/archive/3022dbc9166796b644a841a02de8dd1cc1d311fa.tar.gz", + "hash": "1cwx8ky74633y0bmqmvq1lqzmphadnhzmhzkddl3hpb7rgn18vkl" + }, + "cmp-luasnip": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "saadparwaiz1", + "repo": "cmp_luasnip" + }, + "branch": "main", + "revision": "98d9cb5c2c38532bd9bdb481067b20fea8f32e90", + "url": "https://github.com/saadparwaiz1/cmp_luasnip/archive/98d9cb5c2c38532bd9bdb481067b20fea8f32e90.tar.gz", + "hash": "037sh4g1747wf07f9sqngiifp89hqww6m2rvizy5ra7jyd04magk" + }, + "cmp-nvim-lsp": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "hrsh7th", + "repo": "cmp-nvim-lsp" + }, + "branch": "main", + "revision": "99290b3ec1322070bcfb9e846450a46f6efa50f0", + "url": "https://github.com/hrsh7th/cmp-nvim-lsp/archive/99290b3ec1322070bcfb9e846450a46f6efa50f0.tar.gz", + "hash": "08q5mf5jrqjjcl1s4h9zj2vd1kcizz0a5a6p65wv1rc5s1fa3a49" + }, + "cmp-path": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "hrsh7th", + "repo": "cmp-path" + }, + "branch": "main", + "revision": "91ff86cd9c29299a64f968ebb45846c485725f23", + "url": "https://github.com/hrsh7th/cmp-path/archive/91ff86cd9c29299a64f968ebb45846c485725f23.tar.gz", + "hash": "18ixx14ibc7qrv32nj0ylxrx8w4ggg49l5vhcqd35hkp4n56j6mn" + }, + "cmp-treesitter": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "ray-x", + "repo": "cmp-treesitter" + }, + "branch": "main", + "revision": "958fcfa0d8ce46d215e19cc3992c542f576c4123", + "url": "https://github.com/ray-x/cmp-treesitter/archive/958fcfa0d8ce46d215e19cc3992c542f576c4123.tar.gz", + "hash": "05as01c2f7i20zkzpqbq9n8ji9bcwd678ixmxnrz9vmz5zsj8q7i" + }, + "codewindow-nvim": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "gorbit99", + "repo": "codewindow.nvim" + }, + "branch": "main", + "revision": "dd7017617962943eb1d152fc58940f11c6775a4a", + "url": "https://github.com/gorbit99/codewindow.nvim/archive/dd7017617962943eb1d152fc58940f11c6775a4a.tar.gz", + "hash": "1kxkf50rkqrzqz03jvygbwxb1yfmqh0gskr00vpmyrq51569a2hw" + }, + "comment-nvim": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "numToStr", + "repo": "Comment.nvim" + }, + "branch": "main", + "revision": "e30b7f2008e52442154b66f7c519bfd2f1e32acb", + "url": "https://github.com/numToStr/Comment.nvim/archive/e30b7f2008e52442154b66f7c519bfd2f1e32acb.tar.gz", + "hash": "0dyz78j0kj3j99y5g8wncl7794g6z2qs05gfg9ddxaa4xswhyjc7" + }, + "copilot-cmp": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "zbirenbaum", + "repo": "copilot-cmp" + }, + "branch": "main", + "revision": "15fc12af3d0109fa76b60b5cffa1373697e261d1", + "url": "https://github.com/zbirenbaum/copilot-cmp/archive/15fc12af3d0109fa76b60b5cffa1373697e261d1.tar.gz", + "hash": "0qyakf6wvkdxpzx63gv3p9bwafmxk87vgvcp14pfrkiznvqlpd3s" + }, + "copilot-lua": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "zbirenbaum", + "repo": "copilot.lua" + }, + "branch": "main", + "revision": "886ee73b6d464b2b3e3e6a7ff55ce87feac423a9", + "url": "https://github.com/zbirenbaum/copilot.lua/archive/886ee73b6d464b2b3e3e6a7ff55ce87feac423a9.tar.gz", + "hash": "15d1m1lq1f4snkgvnr3cvz0gxh3yycszlq6cph68ddn1sb8h8rbk" + }, + "crates-nvim": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "Saecki", + "repo": "crates.nvim" + }, + "branch": "main", + "revision": "8bf8358ee326d5d8c11dcd7ac0bcc9ff97dbc785", + "url": "https://github.com/Saecki/crates.nvim/archive/8bf8358ee326d5d8c11dcd7ac0bcc9ff97dbc785.tar.gz", + "hash": "088yi9z0wj2ackg3hh5zm66yg31b2c5rc2ss24idx2jkfhqv908c" + }, + "csharpls-extended-lsp-nvim": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "Decodetalkers", + "repo": "csharpls-extended-lsp.nvim" + }, + "branch": "main", + "revision": "4f56c06215d10c4fcfee8a7f04ba766c114aece0", + "url": "https://github.com/Decodetalkers/csharpls-extended-lsp.nvim/archive/4f56c06215d10c4fcfee8a7f04ba766c114aece0.tar.gz", + "hash": "1jnaimzc3mhqacn3cqds5zkwphn4dzqwrayv48791w0gv2wfzvwc" + }, + "dashboard-nvim": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "glepnir", + "repo": "dashboard-nvim" + }, + "branch": "main", + "revision": "ae309606940d26d8c9df8b048a6e136b6bbec478", + "url": "https://github.com/glepnir/dashboard-nvim/archive/ae309606940d26d8c9df8b048a6e136b6bbec478.tar.gz", + "hash": "06mr3869ag542vxnj68458k9cfyw9ldj0mjahzqkpwfl5nc28bs2" + }, + "diffview-nvim": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "sindrets", + "repo": "diffview.nvim" + }, + "branch": "main", + "revision": "4516612fe98ff56ae0415a259ff6361a89419b0a", + "url": "https://github.com/sindrets/diffview.nvim/archive/4516612fe98ff56ae0415a259ff6361a89419b0a.tar.gz", + "hash": "0brabpd02596hg98bml118bx6z2sly98kf1cr2p0xzybiinb4zs9" + }, + "dracula-nvim": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "Mofiqul", + "repo": "dracula.nvim" + }, + "branch": "main", + "revision": "515acae4fd294fcefa5b15237a333c2606e958d1", + "url": "https://github.com/Mofiqul/dracula.nvim/archive/515acae4fd294fcefa5b15237a333c2606e958d1.tar.gz", + "hash": "1sr09v6q07q111pbcm8nc12mvgzb5f5n7bg8frrwb6dpspj4h97n" + }, + "dressing-nvim": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "stevearc", + "repo": "dressing.nvim" + }, + "branch": "main", + "revision": "3a45525bb182730fe462325c99395529308f431e", + "url": "https://github.com/stevearc/dressing.nvim/archive/3a45525bb182730fe462325c99395529308f431e.tar.gz", + "hash": "0wd9zgqh9i9f77ny7avgsnsl6rxamcqcr7qlbzmsb8p003kl321p" + }, + "elixir-tools-nvim": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "elixir-tools", + "repo": "elixir-tools.nvim" + }, + "branch": "main", + "revision": "803fa69dbb457305cff98e3997bed2c4b51aea7c", + "url": "https://github.com/elixir-tools/elixir-tools.nvim/archive/803fa69dbb457305cff98e3997bed2c4b51aea7c.tar.gz", + "hash": "09fnpj27rynw55hvs8dc860di10m3yj628aghsn3lzm249ar708a" + }, + "fastaction-nvim": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "Chaitanyabsprip", + "repo": "fastaction.nvim" + }, + "branch": "main", + "revision": "886e22d85e13115808e81ca367d5aaba02d9a25b", + "url": "https://github.com/Chaitanyabsprip/fastaction.nvim/archive/886e22d85e13115808e81ca367d5aaba02d9a25b.tar.gz", + "hash": "0zz9jc2nfyn43idwz63xcacgyaclsvddsjnk8vjgifga4m7v2r6l" + }, + "fidget-nvim": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "j-hui", + "repo": "fidget.nvim" + }, + "branch": "main", + "revision": "9238947645ce17d96f30842e61ba81147185b657", + "url": "https://github.com/j-hui/fidget.nvim/archive/9238947645ce17d96f30842e61ba81147185b657.tar.gz", + "hash": "1117w5i7996vxx32vibb09zpzzgwaipj5ldkdgck3ds5vkcdlk53" + }, + "flutter-tools-nvim": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "akinsho", + "repo": "flutter-tools.nvim" + }, + "branch": "main", + "revision": "a526c30f1941a7472509aaedda13758f943c968e", + "url": "https://github.com/akinsho/flutter-tools.nvim/archive/a526c30f1941a7472509aaedda13758f943c968e.tar.gz", + "hash": "1qy03zi1vifsdhkyp9yf97px2ny0l30h6nagfic00lyj38z9vx65" + }, + "friendly-snippets": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "rafamadriz", + "repo": "friendly-snippets" + }, + "branch": "main", + "revision": "efff286dd74c22f731cdec26a70b46e5b203c619", + "url": "https://github.com/rafamadriz/friendly-snippets/archive/efff286dd74c22f731cdec26a70b46e5b203c619.tar.gz", + "hash": "1vb5l8ipfjwsrqffbq8v2z5p1cpg035b3gk57692wd7835kr3i13" + }, + "fzf-lua": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "ibhagwan", + "repo": "fzf-lua" + }, + "branch": "main", + "revision": "fbe21aeb147b3dc8b188b5753a8e288ecedcee5e", + "url": "https://github.com/ibhagwan/fzf-lua/archive/fbe21aeb147b3dc8b188b5753a8e288ecedcee5e.tar.gz", + "hash": "1wiwq9h0m4rzcc5h2wqxa4gqiw9xrxlggvcasacy9bq89c6l11yh" + }, + "gesture-nvim": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "notomo", + "repo": "gesture.nvim" + }, + "branch": "main", + "revision": "dbd839bda337cb73911aeef06897eb29cb99f76f", + "url": "https://github.com/notomo/gesture.nvim/archive/dbd839bda337cb73911aeef06897eb29cb99f76f.tar.gz", + "hash": "1cqiahc52xh113l8lgpz3k852vvqkv2srj9shdkyya76a2v2sf9d" + }, + "gitsigns-nvim": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "lewis6991", + "repo": "gitsigns.nvim" + }, + "branch": "main", + "revision": "5f808b5e4fef30bd8aca1b803b4e555da07fc412", + "url": "https://github.com/lewis6991/gitsigns.nvim/archive/5f808b5e4fef30bd8aca1b803b4e555da07fc412.tar.gz", + "hash": "1dxsyv26mm7lzll3xlkzjj6w7kp11wfak8rgp19fg2d8301kxc0z" + }, + "glow-nvim": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "ellisonleao", + "repo": "glow.nvim" + }, + "branch": "main", + "revision": "238070a686c1da3bccccf1079700eb4b5e19aea4", + "url": "https://github.com/ellisonleao/glow.nvim/archive/238070a686c1da3bccccf1079700eb4b5e19aea4.tar.gz", + "hash": "1j63y3hb03n5m4jig8576sxnb3jixxlr66m9xcs8vgfm5h0mrhqs" + }, + "gruvbox-nvim": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "ellisonleao", + "repo": "gruvbox.nvim" + }, + "branch": "main", + "revision": "68c3460a5d1d1a362318960035c9f3466d5011f5", + "url": "https://github.com/ellisonleao/gruvbox.nvim/archive/68c3460a5d1d1a362318960035c9f3466d5011f5.tar.gz", + "hash": "0yc0hv9d4888lfvhd68gdwvfhfgafyqn9ljca4b5a0pgb61hiax9" + }, + "haskell-tools-nvim": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "mrcjkb", + "repo": "haskell-tools.nvim" + }, + "branch": "main", + "revision": "943b77b68a79d3991523ba4d373063c9355c6f55", + "url": "https://github.com/mrcjkb/haskell-tools.nvim/archive/943b77b68a79d3991523ba4d373063c9355c6f55.tar.gz", + "hash": "0f8j9x20bs62pnsx4kwklbnrnxqakmfg9xd7742rqfyg03s4v5c1" + }, + "highlight-undo-nvim": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "tzachar", + "repo": "highlight-undo.nvim" + }, + "branch": "main", + "revision": "5f588b420179a31d7073854bfd07ed9d5f364645", + "url": "https://github.com/tzachar/highlight-undo.nvim/archive/5f588b420179a31d7073854bfd07ed9d5f364645.tar.gz", + "hash": "1ykk9kj74kpnqq003fkhj75d9k68k8fgdv3kr0hbcvggxlr6nhkg" + }, + "hop-nvim": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "phaazon", + "repo": "hop.nvim" + }, + "branch": "main", + "revision": "1a1eceafe54b5081eae4cb91c723abd1d450f34b", + "url": "https://github.com/phaazon/hop.nvim/archive/1a1eceafe54b5081eae4cb91c723abd1d450f34b.tar.gz", + "hash": "08h18cam2yr57qvfsnf1bra28vbl6013wlchnr5crb757xw8aysa" + }, + "icon-picker-nvim": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "ziontee113", + "repo": "icon-picker.nvim" + }, + "branch": "main", + "revision": "3ee9a0ea9feeef08ae35e40c8be6a2fa2c20f2d3", + "url": "https://github.com/ziontee113/icon-picker.nvim/archive/3ee9a0ea9feeef08ae35e40c8be6a2fa2c20f2d3.tar.gz", + "hash": "1357c2dhl7m7hbdsj0l2bmk97i76bp5yrfnd0g01sgd6wiasr4jm" + }, + "image-nvim": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "3rd", + "repo": "image.nvim" + }, + "branch": "main", + "revision": "b991fc7f845bc6ab40c6ec00b39750dcd5190010", + "url": "https://github.com/3rd/image.nvim/archive/b991fc7f845bc6ab40c6ec00b39750dcd5190010.tar.gz", + "hash": "1jbbm4l71w0cas0aj5d0jsy65chbvf4bdxxllb04i3k6h1zycdja" + }, + "indent-blankline-nvim": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "lukas-reineke", + "repo": "indent-blankline.nvim" + }, + "branch": "main", + "revision": "259357fa4097e232730341fa60988087d189193a", + "url": "https://github.com/lukas-reineke/indent-blankline.nvim/archive/259357fa4097e232730341fa60988087d189193a.tar.gz", + "hash": "1q9fgqvr84lynhy2vcyzp9xhzrl80g2pin14v7d3v0pgj10m8y8z" + }, + "lazydev-nvim": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "folke", + "repo": "lazydev.nvim" + }, + "branch": "main", + "revision": "a1b78b2ac6f978c72e76ea90ae92a94edf380cfc", + "url": "https://github.com/folke/lazydev.nvim/archive/a1b78b2ac6f978c72e76ea90ae92a94edf380cfc.tar.gz", + "hash": "1ch75kwgyzpplvlp04h6aa4yymkjcwsfkwgzwicnqpsxylsw6z9r" + }, + "leap-nvim": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "ggandor", + "repo": "leap.nvim" + }, + "branch": "main", + "revision": "c6bfb191f1161fbabace1f36f578a20ac6c7642c", + "url": "https://github.com/ggandor/leap.nvim/archive/c6bfb191f1161fbabace1f36f578a20ac6c7642c.tar.gz", + "hash": "1dmy45czi3irjd5qb74yamjam4d1lvqsgfxgh4vaj740b19gyl1w" + }, + "lsp-lines": { + "type": "Git", + "repository": { + "type": "Git", + "url": "https://git.sr.ht/~whynothugo/lsp_lines.nvim" + }, + "branch": "main", + "revision": "a92c755f182b89ea91bd8a6a2227208026f27b4d", + "url": null, + "hash": "14ym4d8vgvw2vhsaxik8612wyvszd895q69n9h100yd7x5jqhy4c" + }, + "lsp-signature-nvim": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "ray-x", + "repo": "lsp_signature.nvim" + }, + "branch": "main", + "revision": "fc38521ea4d9ec8dbd4c2819ba8126cea743943b", + "url": "https://github.com/ray-x/lsp_signature.nvim/archive/fc38521ea4d9ec8dbd4c2819ba8126cea743943b.tar.gz", + "hash": "0ag79vvjz1dqyw9358ijdkckr1rqshxkpk5fl0kww1vl3pfwv9jv" + }, + "lspkind-nvim": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "onsails", + "repo": "lspkind-nvim" + }, + "branch": "main", + "revision": "d79a1c3299ad0ef94e255d045bed9fa26025dab6", + "url": "https://github.com/onsails/lspkind-nvim/archive/d79a1c3299ad0ef94e255d045bed9fa26025dab6.tar.gz", + "hash": "1wdavqmwadby9lyw415jw79kxynxv4fxg2v376y0rkxf258clarq" + }, + "lspsaga-nvim": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "tami5", + "repo": "lspsaga.nvim" + }, + "branch": "main", + "revision": "5faeec9f2508d2d49a66c0ac0d191096b4e3fa81", + "url": "https://github.com/tami5/lspsaga.nvim/archive/5faeec9f2508d2d49a66c0ac0d191096b4e3fa81.tar.gz", + "hash": "1bw71db69na2sriv9q167z9bgkir4nwny1bdfv9z606bmng4hhzc" + }, + "lua-utils-nvim": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "nvim-neorg", + "repo": "lua-utils.nvim" + }, + "branch": "main", + "revision": "e565749421f4bbb5d2e85e37c3cef9d56553d8bd", + "url": "https://github.com/nvim-neorg/lua-utils.nvim/archive/e565749421f4bbb5d2e85e37c3cef9d56553d8bd.tar.gz", + "hash": "0bnl2kvxs55l8cjhfpa834bm010n8r4gmsmivjcp548c076msagn" + }, + "lualine-nvim": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "hoob3rt", + "repo": "lualine.nvim" + }, + "branch": "main", + "revision": "2a5bae925481f999263d6f5ed8361baef8df4f83", + "url": "https://github.com/hoob3rt/lualine.nvim/archive/2a5bae925481f999263d6f5ed8361baef8df4f83.tar.gz", + "hash": "0hp8gycbwm6ibq4rpa18j3g9xacgghklz4c8jlr4gif6g37r1pi0" + }, + "luasnip": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "L3MON4D3", + "repo": "LuaSnip" + }, + "branch": "main", + "revision": "33b06d72d220aa56a7ce80a0dd6f06c70cd82b9d", + "url": "https://github.com/L3MON4D3/LuaSnip/archive/33b06d72d220aa56a7ce80a0dd6f06c70cd82b9d.tar.gz", + "hash": "1zicjd8y9a16rq1rs1xbmc6g927j5xi05yrxj9ap6wp72pfxxw3r" + }, + "lz-n": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "nvim-neorocks", + "repo": "lz.n" + }, + "branch": "main", + "revision": "32be28a221b9c98e56841458e4b20c150a4169c4", + "url": "https://github.com/nvim-neorocks/lz.n/archive/32be28a221b9c98e56841458e4b20c150a4169c4.tar.gz", + "hash": "0jv8901lc712ddv1sdw5zan2d64hwxjcwi4mi4q1ivcp16miglp8" + }, + "lzn-auto-require": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "horriblename", + "repo": "lzn-auto-require" + }, + "branch": "main", + "revision": "a075ed51976323fd7fc44ccfca89fe0449a08cca", + "url": "https://github.com/horriblename/lzn-auto-require/archive/a075ed51976323fd7fc44ccfca89fe0449a08cca.tar.gz", + "hash": "1mgka1mmvpd2gfya898qdbbwrp5rpqds8manjs1s7g5x63xp6b98" + }, + "mind-nvim": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "phaazon", + "repo": "mind.nvim" + }, + "branch": "main", + "revision": "002137dd7cf97865ebd01b6a260209d2daf2da66", + "url": "https://github.com/phaazon/mind.nvim/archive/002137dd7cf97865ebd01b6a260209d2daf2da66.tar.gz", + "hash": "1p7gb8p1jrb2wx3x67lv7am3k1a14kvwsq89fdpb8b060s2l1214" + }, + "mini-ai": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "echasnovski", + "repo": "mini.ai" + }, + "branch": "main", + "revision": "ebb04799794a7f94628153991e6334c3304961b8", + "url": "https://github.com/echasnovski/mini.ai/archive/ebb04799794a7f94628153991e6334c3304961b8.tar.gz", + "hash": "1ipkxwizyhl3i3z6zff87k345mwkrsxmwwxbv5gcyq37bzmgpzkg" + }, + "mini-align": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "echasnovski", + "repo": "mini.align" + }, + "branch": "main", + "revision": "e715137aece7d05734403d793b8b6b64486bc812", + "url": "https://github.com/echasnovski/mini.align/archive/e715137aece7d05734403d793b8b6b64486bc812.tar.gz", + "hash": "1m39wsinfdmqw53mllf9wr854vaw8qzhixy3j5w8r112s7qrnyx0" + }, + "mini-animate": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "echasnovski", + "repo": "mini.animate" + }, + "branch": "main", + "revision": "d14190ac3040116540889e2ebc25f488b195799e", + "url": "https://github.com/echasnovski/mini.animate/archive/d14190ac3040116540889e2ebc25f488b195799e.tar.gz", + "hash": "15raqvmgp4srh7asll1y3finbm76l1sfmf52h69jj2y2w4kfdqv5" + }, + "mini-base16": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "echasnovski", + "repo": "mini.base16" + }, + "branch": "main", + "revision": "23453dacc1606e5d42238d82f0b42a2985386b62", + "url": "https://github.com/echasnovski/mini.base16/archive/23453dacc1606e5d42238d82f0b42a2985386b62.tar.gz", + "hash": "0cxwc4bpkc362q00vkm75bbazd69ghyyavs30gf37fj3zj9khssl" + }, + "mini-basics": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "echasnovski", + "repo": "mini.basics" + }, + "branch": "main", + "revision": "67c10b3436d5d3b892715137f4773e71c6753b13", + "url": "https://github.com/echasnovski/mini.basics/archive/67c10b3436d5d3b892715137f4773e71c6753b13.tar.gz", + "hash": "1ia7wha33l6q1krlx7d90v5rw25kdiv6la8j7f0s8vr0qxlcxhs7" + }, + "mini-bracketed": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "echasnovski", + "repo": "mini.bracketed" + }, + "branch": "main", + "revision": "0091e11fabe34973fc038a8d0d0485202742e403", + "url": "https://github.com/echasnovski/mini.bracketed/archive/0091e11fabe34973fc038a8d0d0485202742e403.tar.gz", + "hash": "0yw7lmgwwvraflcwzrl33rwcdb94qsyvdi0rzq9b3ps7bla4dsyb" + }, + "mini-bufremove": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "echasnovski", + "repo": "mini.bufremove" + }, + "branch": "main", + "revision": "285bdac9596ee7375db50c0f76ed04336dcd2685", + "url": "https://github.com/echasnovski/mini.bufremove/archive/285bdac9596ee7375db50c0f76ed04336dcd2685.tar.gz", + "hash": "0q8zm3k8hhpzbcjcd3gqz1r064fiymv9w2lfbdv5hhn2b8i9j7h8" + }, + "mini-clue": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "echasnovski", + "repo": "mini.clue" + }, + "branch": "main", + "revision": "63e42dad781b9ed4845d90ef1da8c52dfb6dce3f", + "url": "https://github.com/echasnovski/mini.clue/archive/63e42dad781b9ed4845d90ef1da8c52dfb6dce3f.tar.gz", + "hash": "039fq0svkgr96l3z7h750iyah6fz9n18zy8wm1dfhpp3bxjyjh7z" + }, + "mini-colors": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "echasnovski", + "repo": "mini.colors" + }, + "branch": "main", + "revision": "d64b1c0f520579d905f97208eca85329e664ab88", + "url": "https://github.com/echasnovski/mini.colors/archive/d64b1c0f520579d905f97208eca85329e664ab88.tar.gz", + "hash": "1yfx5zizm2m1c1064c5j5hb10xd7a8cgircs70q9cai14n25lqh7" + }, + "mini-comment": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "echasnovski", + "repo": "mini.comment" + }, + "branch": "main", + "revision": "6e1f9a8ebbf6f693fa3787ceda8ca3bf3cb6aec7", + "url": "https://github.com/echasnovski/mini.comment/archive/6e1f9a8ebbf6f693fa3787ceda8ca3bf3cb6aec7.tar.gz", + "hash": "0wvyrkq84gy15ygv47vj50ch3551vmjp5gjvmvz26p3d4l6h225w" + }, + "mini-completion": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "echasnovski", + "repo": "mini.completion" + }, + "branch": "main", + "revision": "6eb9546685c4e1c4af2365b87166d4afa39d8a1b", + "url": "https://github.com/echasnovski/mini.completion/archive/6eb9546685c4e1c4af2365b87166d4afa39d8a1b.tar.gz", + "hash": "05hk62f74fv8axdygbdz478dfcbvm4c4j696i77xlpqhfmy04m3n" + }, + "mini-diff": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "echasnovski", + "repo": "mini.diff" + }, + "branch": "main", + "revision": "00f072250061ef498f91ed226918c9ec31a416a4", + "url": "https://github.com/echasnovski/mini.diff/archive/00f072250061ef498f91ed226918c9ec31a416a4.tar.gz", + "hash": "1n3rjajwnx5n5iamn49l4h7p23p601jd4m343ri2hmazb7zxc6vm" + }, + "mini-doc": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "echasnovski", + "repo": "mini.doc" + }, + "branch": "main", + "revision": "bb73a3d1ff390f7e2740027ea2567017099a237c", + "url": "https://github.com/echasnovski/mini.doc/archive/bb73a3d1ff390f7e2740027ea2567017099a237c.tar.gz", + "hash": "1jsamvgdk6zxaimn9v949gbghf92d0ii8jhn2sjjy7arbl8w0w23" + }, + "mini-extra": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "echasnovski", + "repo": "mini.extra" + }, + "branch": "main", + "revision": "477e3dda7b597b49bc1373951ea7da4da834c352", + "url": "https://github.com/echasnovski/mini.extra/archive/477e3dda7b597b49bc1373951ea7da4da834c352.tar.gz", + "hash": "02ydzdiiqf0ydrjiz847f6cbaxy3imvggchds9xn40i34nz6nhlm" + }, + "mini-files": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "echasnovski", + "repo": "mini.files" + }, + "branch": "main", + "revision": "d0f03a5c38836fd2cce3dc80734124959002078c", + "url": "https://github.com/echasnovski/mini.files/archive/d0f03a5c38836fd2cce3dc80734124959002078c.tar.gz", + "hash": "0k5g5l9pb3br4vb5cm1b0hv081fdn967cw00mh687281dvrbnxah" + }, + "mini-fuzzy": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "echasnovski", + "repo": "mini.fuzzy" + }, + "branch": "main", + "revision": "faa5a6c0d29c28012c90bd011162963a58715428", + "url": "https://github.com/echasnovski/mini.fuzzy/archive/faa5a6c0d29c28012c90bd011162963a58715428.tar.gz", + "hash": "03v6rp0j63a7clpp6ficq6ixwr55lvyz3ygc99r1qw0gzh6y9w2y" + }, + "mini-git": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "echasnovski", + "repo": "mini-git" + }, + "branch": "main", + "revision": "fc13dde6cfe87cf25a4fd1ee177c0d157468436b", + "url": "https://github.com/echasnovski/mini-git/archive/fc13dde6cfe87cf25a4fd1ee177c0d157468436b.tar.gz", + "hash": "1wl9f3yncpnpv1j8imja4fwsnizjcqkv9cmblidj014rkji8lyxd" + }, + "mini-hipatterns": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "echasnovski", + "repo": "mini.hipatterns" + }, + "branch": "main", + "revision": "f34975103a38b3f608219a1324cdfc58ea660b8b", + "url": "https://github.com/echasnovski/mini.hipatterns/archive/f34975103a38b3f608219a1324cdfc58ea660b8b.tar.gz", + "hash": "08mhgd7p69fzy9l99adns1gwb407wdq18di8nm6iy1nw6wrhx7yc" + }, + "mini-hues": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "echasnovski", + "repo": "mini.hues" + }, + "branch": "main", + "revision": "ae6ad4c666ff42c1102344fe1eba18bb486f2e46", + "url": "https://github.com/echasnovski/mini.hues/archive/ae6ad4c666ff42c1102344fe1eba18bb486f2e46.tar.gz", + "hash": "1bfyhs79l8v2zbzc2kp7ss089bp05lpqqy1ndbgvyi546dxgsbp3" + }, + "mini-icons": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "echasnovski", + "repo": "mini.icons" + }, + "branch": "main", + "revision": "910db5df9724d65371182948f921fce23c2c881e", + "url": "https://github.com/echasnovski/mini.icons/archive/910db5df9724d65371182948f921fce23c2c881e.tar.gz", + "hash": "18d2s7sqcwi7yyb14xg96gzxpvr0gk6k1r4mglgjbfpx724z2hy3" + }, + "mini-indentscope": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "echasnovski", + "repo": "mini.indentscope" + }, + "branch": "main", + "revision": "613df2830d7faeae7483ba2e736683154b95921e", + "url": "https://github.com/echasnovski/mini.indentscope/archive/613df2830d7faeae7483ba2e736683154b95921e.tar.gz", + "hash": "02y7ya70wz79xd02xvlvri4sgnqbl9xd6d6im4323iyph7pdrg1j" + }, + "mini-jump": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "echasnovski", + "repo": "mini.jump" + }, + "branch": "main", + "revision": "bb93d998c9db6936697746330411f5fb9957145e", + "url": "https://github.com/echasnovski/mini.jump/archive/bb93d998c9db6936697746330411f5fb9957145e.tar.gz", + "hash": "0m5b0dy7aws5si5sc494hrrnfsgb9i0ssbrfwlprmi9q75xzvhx8" + }, + "mini-jump2d": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "echasnovski", + "repo": "mini.jump2d" + }, + "branch": "main", + "revision": "88077058297e80f1c76a18ed801ae9d7064187c6", + "url": "https://github.com/echasnovski/mini.jump2d/archive/88077058297e80f1c76a18ed801ae9d7064187c6.tar.gz", + "hash": "0dqslwc7r9yj3bszdgjp2cqhnhyzm8zn1zbikwi8q6bs50la2f7q" + }, + "mini-map": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "echasnovski", + "repo": "mini.map" + }, + "branch": "main", + "revision": "4c58e755d75f9999abcd3b3c6e934734b6a8b098", + "url": "https://github.com/echasnovski/mini.map/archive/4c58e755d75f9999abcd3b3c6e934734b6a8b098.tar.gz", + "hash": "1407jgrzk0pvnhsssm3hdgjw3vd1n182adgh8c5h4b46dzvrvgvl" + }, + "mini-misc": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "echasnovski", + "repo": "mini.misc" + }, + "branch": "main", + "revision": "645fb9367c19bb485902e54e5451425981498601", + "url": "https://github.com/echasnovski/mini.misc/archive/645fb9367c19bb485902e54e5451425981498601.tar.gz", + "hash": "0xy9sn0vjlaw0lk6l59drksqypz6yncmdrhach387mv4hvh1lxma" + }, + "mini-move": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "echasnovski", + "repo": "mini.move" + }, + "branch": "main", + "revision": "4caa1c212f5ca3d1633d21cfb184808090ed74b1", + "url": "https://github.com/echasnovski/mini.move/archive/4caa1c212f5ca3d1633d21cfb184808090ed74b1.tar.gz", + "hash": "0f4nrg9n8air507h6bd61dmb1rjjhykyl36qgr0ai72cb011wzcx" + }, + "mini-notify": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "echasnovski", + "repo": "mini.notify" + }, + "branch": "main", + "revision": "05e598d5b349bd66404d576e6a4d4340aea5f194", + "url": "https://github.com/echasnovski/mini.notify/archive/05e598d5b349bd66404d576e6a4d4340aea5f194.tar.gz", + "hash": "02z2qdkh6rks7j7b3pwnm6vala0rz5p09ahplcgv1s4mhgby6vmb" + }, + "mini-operators": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "echasnovski", + "repo": "mini.operators" + }, + "branch": "main", + "revision": "7cb4dc66c51a3d736d347bbc517dc73dc7d28888", + "url": "https://github.com/echasnovski/mini.operators/archive/7cb4dc66c51a3d736d347bbc517dc73dc7d28888.tar.gz", + "hash": "1h6bxqkabh61gnlqj9yp5rsvn1p4g2ssk7ffkj3z8c3f1387567r" + }, + "mini-pairs": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "echasnovski", + "repo": "mini.pairs" + }, + "branch": "main", + "revision": "7e834c5937d95364cc1740e20d673afe2d034cdb", + "url": "https://github.com/echasnovski/mini.pairs/archive/7e834c5937d95364cc1740e20d673afe2d034cdb.tar.gz", + "hash": "04x3gwrg64xxbg0njrb64bjb66rpi2aayydfqx9nbcimllng3l9y" + }, + "mini-pick": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "echasnovski", + "repo": "mini.pick" + }, + "branch": "main", + "revision": "09ade94d2c9c5133db9ae00f3693d82eae78e9be", + "url": "https://github.com/echasnovski/mini.pick/archive/09ade94d2c9c5133db9ae00f3693d82eae78e9be.tar.gz", + "hash": "00vq7zn0nmbnw19gk8gmm6a60zkxga4s8z6c0ildnq6ldk8q70a3" + }, + "mini-sessions": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "echasnovski", + "repo": "mini.sessions" + }, + "branch": "main", + "revision": "71c9ae596664ac110560d27eb928fc24e22bc53d", + "url": "https://github.com/echasnovski/mini.sessions/archive/71c9ae596664ac110560d27eb928fc24e22bc53d.tar.gz", + "hash": "0yd4li7z6py3c3b6ka9xv070lmrbzf38svq5wl4mhn4fdhqgqadz" + }, + "mini-snippets": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "echasnovski", + "repo": "mini.snippets" + }, + "branch": "main", + "revision": "72920f62e3dd1330720e94e8f5d42592f3a1ecf8", + "url": "https://github.com/echasnovski/mini.snippets/archive/72920f62e3dd1330720e94e8f5d42592f3a1ecf8.tar.gz", + "hash": "0lyyv95zzwa6kn3gz7sah6v7jqj635c45n88my2sx8wknadkv30y" + }, + "mini-splitjoin": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "echasnovski", + "repo": "mini.splitjoin" + }, + "branch": "main", + "revision": "3e92f6764e770ba392325cad3a4497adcada695f", + "url": "https://github.com/echasnovski/mini.splitjoin/archive/3e92f6764e770ba392325cad3a4497adcada695f.tar.gz", + "hash": "126z8rsyg3849ijix1siwq77f9slwr93l61rwg499flzja3incic" + }, + "mini-starter": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "echasnovski", + "repo": "mini.starter" + }, + "branch": "main", + "revision": "4b257cfc93241e8c8cde3f9302d1616ad4e0d036", + "url": "https://github.com/echasnovski/mini.starter/archive/4b257cfc93241e8c8cde3f9302d1616ad4e0d036.tar.gz", + "hash": "135l18l6n88v8zrdk95dfvw2ycsgd8m4wp9430g74bry99jj95m4" + }, + "mini-statusline": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "echasnovski", + "repo": "mini.statusline" + }, + "branch": "main", + "revision": "1b0edf76fe2af015f8c989385ff949f1db7aade2", + "url": "https://github.com/echasnovski/mini.statusline/archive/1b0edf76fe2af015f8c989385ff949f1db7aade2.tar.gz", + "hash": "1aiy37p08c95g3dh5f0hvabnnv56dhs4zmpah5lx33j3fbvqs381" + }, + "mini-surround": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "echasnovski", + "repo": "mini.surround" + }, + "branch": "main", + "revision": "aa5e245829dd12d8ff0c96ef11da28681d6049aa", + "url": "https://github.com/echasnovski/mini.surround/archive/aa5e245829dd12d8ff0c96ef11da28681d6049aa.tar.gz", + "hash": "1zslkqg96yfa1lgcwavvcz60waix4y1j1r0v98sxhf8adna8jid2" + }, + "mini-tabline": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "echasnovski", + "repo": "mini.tabline" + }, + "branch": "main", + "revision": "06ef4ecaeca2e362c7d31113435d86d144b3cbbe", + "url": "https://github.com/echasnovski/mini.tabline/archive/06ef4ecaeca2e362c7d31113435d86d144b3cbbe.tar.gz", + "hash": "1z808l3z7ywqxmqwfr1ab9ynyma5c1878x9ski0nrhvw4fli9rwy" + }, + "mini-test": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "echasnovski", + "repo": "mini.test" + }, + "branch": "main", + "revision": "86a64d5a4bf9d73ebf5875edaae0d878f64f5e48", + "url": "https://github.com/echasnovski/mini.test/archive/86a64d5a4bf9d73ebf5875edaae0d878f64f5e48.tar.gz", + "hash": "02zslska1g4ixy51slbvlxbjzcys0spc4wh200q8mwv4ipiignrn" + }, + "mini-trailspace": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "echasnovski", + "repo": "mini.trailspace" + }, + "branch": "main", + "revision": "3a328e62559c33014e422fb9ae97afc4208208b1", + "url": "https://github.com/echasnovski/mini.trailspace/archive/3a328e62559c33014e422fb9ae97afc4208208b1.tar.gz", + "hash": "1314bmb8zk3gdpg1wpr1935d0xd0f0cf2f0ipxclbwi07wbjz9i4" + }, + "mini-visits": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "echasnovski", + "repo": "mini.visits" + }, + "branch": "main", + "revision": "90f20ba6ab7d3d7cb984fffddd82f5f6c7a6bea7", + "url": "https://github.com/echasnovski/mini.visits/archive/90f20ba6ab7d3d7cb984fffddd82f5f6c7a6bea7.tar.gz", + "hash": "00drzhrxdyrysbdj4fnxk3lzn9alg8xhwfwgrscywvjfks0vbsa3" + }, + "minimap-vim": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "wfxr", + "repo": "minimap.vim" + }, + "branch": "main", + "revision": "395378137e6180762d5b963ca9ad5ac2db5d3283", + "url": "https://github.com/wfxr/minimap.vim/archive/395378137e6180762d5b963ca9ad5ac2db5d3283.tar.gz", + "hash": "0pfzmlf36in086g83g3sdqdy57jyyh5nbh2lrfmpbr2sg401a7qr" + }, + "modes-nvim": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "mvllow", + "repo": "modes.nvim" + }, + "branch": "main", + "revision": "c7a4b1b383606832aab150902719bd5eb5cdb2b0", + "url": "https://github.com/mvllow/modes.nvim/archive/c7a4b1b383606832aab150902719bd5eb5cdb2b0.tar.gz", + "hash": "1hy3ghscf8hfmg487p9b8cwd0y8nsi8j24kq2ir3vhd82gqhl4ja" + }, + "neo-tree-nvim": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "nvim-neo-tree", + "repo": "neo-tree.nvim" + }, + "branch": "main", + "revision": "a9f8943b4c31f8460d25c71e0f463d65e9775f1c", + "url": "https://github.com/nvim-neo-tree/neo-tree.nvim/archive/a9f8943b4c31f8460d25c71e0f463d65e9775f1c.tar.gz", + "hash": "1zhjd322jqmp8cs7z7nwgc3vkbf0as3an64qh5diwv04kdwjg4xm" + }, + "neocord": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "IogaMaster", + "repo": "neocord" + }, + "branch": "main", + "revision": "4d55d8dab2d5f2f272192add7a2c21982039c699", + "url": "https://github.com/IogaMaster/neocord/archive/4d55d8dab2d5f2f272192add7a2c21982039c699.tar.gz", + "hash": "18d84bd5242a3khpsk0iya3i75bc65mc2xc9kjldpvb827m6myl3" + }, + "neorg": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "nvim-neorg", + "repo": "neorg" + }, + "branch": "main", + "revision": "6b945909d84b5aeadc875f9b3f529ec44b9bc60f", + "url": "https://github.com/nvim-neorg/neorg/archive/6b945909d84b5aeadc875f9b3f529ec44b9bc60f.tar.gz", + "hash": "0dm8s47w57gh77vaarmz64yvmv68f9ybygq65zbblya4miqknzy4" + }, + "neorg-telescope": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "nvim-neorg", + "repo": "neorg-telescope" + }, + "branch": "main", + "revision": "ddb2556644cae922699a239bbb0fe16e25b084b7", + "url": "https://github.com/nvim-neorg/neorg-telescope/archive/ddb2556644cae922699a239bbb0fe16e25b084b7.tar.gz", + "hash": "0p2s3n22fy1vkqc9n55x6kssqs4n0znwlszfrs532hj8m992wbks" + }, + "neovim-session-manager": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "Shatur", + "repo": "neovim-session-manager" + }, + "branch": "main", + "revision": "ce43f2eb2a52492157d7742e5f684b9a42bb3e5c", + "url": "https://github.com/Shatur/neovim-session-manager/archive/ce43f2eb2a52492157d7742e5f684b9a42bb3e5c.tar.gz", + "hash": "0g2vfv9jjmsgagvhdffs3z37w5xa1nlwanq74w8c62y7amyyvn2v" + }, + "new-file-template-nvim": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "otavioschwanck", + "repo": "new-file-template.nvim" + }, + "branch": "main", + "revision": "6ac66669dbf2dc5cdee184a4fe76d22465ca67e8", + "url": "https://github.com/otavioschwanck/new-file-template.nvim/archive/6ac66669dbf2dc5cdee184a4fe76d22465ca67e8.tar.gz", + "hash": "0c7378c3w6bniclp666rq15c28akb0sjy58ayva0wpyin4k26hl3" + }, + "noice-nvim": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "folke", + "repo": "noice.nvim" + }, + "branch": "main", + "revision": "eaed6cc9c06aa2013b5255349e4f26a6b17ab70f", + "url": "https://github.com/folke/noice.nvim/archive/eaed6cc9c06aa2013b5255349e4f26a6b17ab70f.tar.gz", + "hash": "0imw4ls3vqh8bg358y8ckxcbylhczr297zxhcfx6r7mf64sj171s" + }, + "none-ls-nvim": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "nvimtools", + "repo": "none-ls.nvim" + }, + "branch": "main", + "revision": "bb680d752cec37949faca7a1f509e2fe67ab418a", + "url": "https://github.com/nvimtools/none-ls.nvim/archive/bb680d752cec37949faca7a1f509e2fe67ab418a.tar.gz", + "hash": "11zgc86cjkv1vi183mplx3bsqa2x7ardk7ybyrp702xx5hmd882l" + }, + "nord-nvim": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "gbprod", + "repo": "nord.nvim" + }, + "branch": "main", + "revision": "b0f3ed242fd8e5bafa7231367821d46c6c835dd8", + "url": "https://github.com/gbprod/nord.nvim/archive/b0f3ed242fd8e5bafa7231367821d46c6c835dd8.tar.gz", + "hash": "0yr5b30dxrdrbv8210fmh35wgz3z26274aj5irzal33liznx4436" + }, + "nui-nvim": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "MunifTanjim", + "repo": "nui.nvim" + }, + "branch": "main", + "revision": "53e907ffe5eedebdca1cd503b00aa8692068ca46", + "url": "https://github.com/MunifTanjim/nui.nvim/archive/53e907ffe5eedebdca1cd503b00aa8692068ca46.tar.gz", + "hash": "1m4vlf9qcs01a8qrq3salcz966sp8cpf01gbrg8dbf255vzc8kp9" + }, + "nvim-autopairs": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "windwp", + "repo": "nvim-autopairs" + }, + "branch": "main", + "revision": "b464658e9b880f463b9f7e6ccddd93fb0013f559", + "url": "https://github.com/windwp/nvim-autopairs/archive/b464658e9b880f463b9f7e6ccddd93fb0013f559.tar.gz", + "hash": "0p4v49saqfsc8kinl3wc3zhmr6m2q86vmay2f10payp29n4v3did" + }, + "nvim-bufferline-lua": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "akinsho", + "repo": "nvim-bufferline.lua" + }, + "branch": "main", + "revision": "261a72b90d6db4ed8014f7bda976bcdc9dd7ce76", + "url": "https://github.com/akinsho/nvim-bufferline.lua/archive/261a72b90d6db4ed8014f7bda976bcdc9dd7ce76.tar.gz", + "hash": "1cp9md0pv0m1866fynasam01bdcqj5fvfcfqqq5licxfr0cgdb6f" + }, + "nvim-cmp": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "hrsh7th", + "repo": "nvim-cmp" + }, + "branch": "main", + "revision": "b555203ce4bd7ff6192e759af3362f9d217e8c89", + "url": "https://github.com/hrsh7th/nvim-cmp/archive/b555203ce4bd7ff6192e759af3362f9d217e8c89.tar.gz", + "hash": "1s3wiwhnqp046skxp60sdrvzhrij4javhm9ndvfsw2fv9bc35x37" + }, + "nvim-colorizer-lua": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "NvChad", + "repo": "nvim-colorizer.lua" + }, + "branch": "main", + "revision": "8a65c448122fc8fac9c67b2e857b6e830a4afd0b", + "url": "https://github.com/NvChad/nvim-colorizer.lua/archive/8a65c448122fc8fac9c67b2e857b6e830a4afd0b.tar.gz", + "hash": "011i0jrx74siilym2lclbv2wcz04g7v7776qw8zhggdsmvgsrsma" + }, + "nvim-cursorline": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "yamatsum", + "repo": "nvim-cursorline" + }, + "branch": "main", + "revision": "804f0023692653b2b2368462d67d2a87056947f9", + "url": "https://github.com/yamatsum/nvim-cursorline/archive/804f0023692653b2b2368462d67d2a87056947f9.tar.gz", + "hash": "1zqbykfi4mjp07y8c1kir4lxgvcaxqy9jkn558y3n1jakpk3l72j" + }, + "nvim-dap": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "mfussenegger", + "repo": "nvim-dap" + }, + "branch": "main", + "revision": "ffb077e65259f13be096ea6d603e3575a76b214a", + "url": "https://github.com/mfussenegger/nvim-dap/archive/ffb077e65259f13be096ea6d603e3575a76b214a.tar.gz", + "hash": "0sfqxhqm3gmw8q9w60nz5cm3yj9qnq5mxm584f0g83jvdy59f9p6" + }, + "nvim-dap-go": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "leoluz", + "repo": "nvim-dap-go" + }, + "branch": "main", + "revision": "6aa88167ea1224bcef578e8c7160fe8afbb44848", + "url": "https://github.com/leoluz/nvim-dap-go/archive/6aa88167ea1224bcef578e8c7160fe8afbb44848.tar.gz", + "hash": "0ik9jnd561ipdclmxpbc0b1b4qykhkaqmmc2wr9iw4gmszjskhf1" + }, + "nvim-dap-ui": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "rcarriga", + "repo": "nvim-dap-ui" + }, + "branch": "main", + "revision": "e94d98649dccb6a3884b66aabc2e07beb279e535", + "url": "https://github.com/rcarriga/nvim-dap-ui/archive/e94d98649dccb6a3884b66aabc2e07beb279e535.tar.gz", + "hash": "06vk5h3z3sp048fnwpy0fdf5q0q41wrnaqbfbaa5vdbpki103hm6" + }, + "nvim-docs-view": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "amrbashir", + "repo": "nvim-docs-view" + }, + "branch": "main", + "revision": "1b97f8f954d74c46061bf289b6cea9232484c12c", + "url": "https://github.com/amrbashir/nvim-docs-view/archive/1b97f8f954d74c46061bf289b6cea9232484c12c.tar.gz", + "hash": "1xi0w20fq3yziwdjld1xhkm7dr0ihbbq2hik0qsckd7y73qqg5kg" + }, + "nvim-lightbulb": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "kosayoda", + "repo": "nvim-lightbulb" + }, + "branch": "main", + "revision": "3ac0791be37ba9cc7939f1ad90ebc5e75abf4eea", + "url": "https://github.com/kosayoda/nvim-lightbulb/archive/3ac0791be37ba9cc7939f1ad90ebc5e75abf4eea.tar.gz", + "hash": "0qc1rl45ykh9552dx5fmhdg0ncfsk2vpcmj5i7hrmdzgkd2f0avg" + }, + "nvim-lspconfig": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "neovim", + "repo": "nvim-lspconfig" + }, + "branch": "main", + "revision": "8b15a1a597a59f4f5306fad9adfe99454feab743", + "url": "https://github.com/neovim/nvim-lspconfig/archive/8b15a1a597a59f4f5306fad9adfe99454feab743.tar.gz", + "hash": "11mnsm4yaxd5ipmx7cn787f40zgbdx5hfdb3k6cryxfqja74gbg9" + }, + "nvim-metals": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "scalameta", + "repo": "nvim-metals" + }, + "branch": "main", + "revision": "e6b02c99161b43c67cfe1d6e5f9a9b9a0bb4701c", + "url": "https://github.com/scalameta/nvim-metals/archive/e6b02c99161b43c67cfe1d6e5f9a9b9a0bb4701c.tar.gz", + "hash": "10zyg59klx9ynqjnkmn9hhp27l9f4vzqibj8xqrnxfdrgryppm8v" + }, + "nvim-navbuddy": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "SmiteshP", + "repo": "nvim-navbuddy" + }, + "branch": "main", + "revision": "f22bac988f2dd073601d75ba39ea5636ab6e38cb", + "url": "https://github.com/SmiteshP/nvim-navbuddy/archive/f22bac988f2dd073601d75ba39ea5636ab6e38cb.tar.gz", + "hash": "034pmg403y0y1fxnb1jv291mr016bx1vn68y543v6v4dpbdlr7di" + }, + "nvim-navic": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "SmiteshP", + "repo": "nvim-navic" + }, + "branch": "main", + "revision": "8649f694d3e76ee10c19255dece6411c29206a54", + "url": "https://github.com/SmiteshP/nvim-navic/archive/8649f694d3e76ee10c19255dece6411c29206a54.tar.gz", + "hash": "0964wgwh6i4nm637vx36bshkpd5i63ipwzqmrdbkz5h9bzyng7nj" + }, + "nvim-neoclip-lua": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "AckslD", + "repo": "nvim-neoclip.lua" + }, + "branch": "main", + "revision": "5e5e010251281f4aea69cfc1d4976ffe6065cf0f", + "url": "https://github.com/AckslD/nvim-neoclip.lua/archive/5e5e010251281f4aea69cfc1d4976ffe6065cf0f.tar.gz", + "hash": "1fdm1k6gdhgi8vz4kfi2v40fjp4c1rnc6fb4bmmr3x6ca25ij8s4" + }, + "nvim-nio": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "nvim-neotest", + "repo": "nvim-nio" + }, + "branch": "main", + "revision": "a428f309119086dc78dd4b19306d2d67be884eee", + "url": "https://github.com/nvim-neotest/nvim-nio/archive/a428f309119086dc78dd4b19306d2d67be884eee.tar.gz", + "hash": "0n40q6znpy1xzywd1hwyivx7y1n0i0fcp3m7jp0vgipm6qssda4b" + }, + "nvim-notify": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "rcarriga", + "repo": "nvim-notify" + }, + "branch": "main", + "revision": "c3797193536711b5d8983975791c4b11dc35ab3a", + "url": "https://github.com/rcarriga/nvim-notify/archive/c3797193536711b5d8983975791c4b11dc35ab3a.tar.gz", + "hash": "003llmakicwzf0dkcnap6anwcr8kkvazfxy59shdb8zdnahfjc7n" + }, + "nvim-scrollbar": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "petertriho", + "repo": "nvim-scrollbar" + }, + "branch": "main", + "revision": "6994eb9f73d5fdc36ee2c8717940e8c853e51a49", + "url": "https://github.com/petertriho/nvim-scrollbar/archive/6994eb9f73d5fdc36ee2c8717940e8c853e51a49.tar.gz", + "hash": "0h01gcaqgjkb2392zl2jwvlsh5qmz10k9sy5rhyz1kwizmw7nw7y" + }, + "nvim-surround": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "kylechui", + "repo": "nvim-surround" + }, + "branch": "main", + "revision": "9f0cb495f25bff32c936062d85046fbda0c43517", + "url": "https://github.com/kylechui/nvim-surround/archive/9f0cb495f25bff32c936062d85046fbda0c43517.tar.gz", + "hash": "1c78320liqhza52gq2xylykd9m6rl50cn44flldg43a4l7rrabxh" + }, + "nvim-tree-lua": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "nvim-tree", + "repo": "nvim-tree.lua" + }, + "branch": "main", + "revision": "68fc4c20f5803444277022c681785c5edd11916d", + "url": "https://github.com/nvim-tree/nvim-tree.lua/archive/68fc4c20f5803444277022c681785c5edd11916d.tar.gz", + "hash": "08024p6w208ygn7qd74kj6yxras8qfd5f8w0qdqpyg6qbggqzyg0" + }, + "nvim-treesitter-context": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "nvim-treesitter", + "repo": "nvim-treesitter-context" + }, + "branch": "main", + "revision": "2bcf700b59bc92850ca83a1c02e86ba832e0fae0", + "url": "https://github.com/nvim-treesitter/nvim-treesitter-context/archive/2bcf700b59bc92850ca83a1c02e86ba832e0fae0.tar.gz", + "hash": "0xs3ha4zd96rzy5w9hyjzyyq88nnv1bnkgg2splfmnf3mhy4r0ac" + }, + "nvim-ts-autotag": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "windwp", + "repo": "nvim-ts-autotag" + }, + "branch": "main", + "revision": "1cca23c9da708047922d3895a71032bc0449c52d", + "url": "https://github.com/windwp/nvim-ts-autotag/archive/1cca23c9da708047922d3895a71032bc0449c52d.tar.gz", + "hash": "0fp8q08giyf4vi25hylsjmawcx56l5xhgmj3rli3ca9k28a56qxz" + }, + "nvim-ufo": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "kevinhwang91", + "repo": "nvim-ufo" + }, + "branch": "main", + "revision": "32cb247b893a384f1888b9cd737264159ecf183c", + "url": "https://github.com/kevinhwang91/nvim-ufo/archive/32cb247b893a384f1888b9cd737264159ecf183c.tar.gz", + "hash": "0p2f5p1nky56m666lbl8g111pf6h4piv8a29z86kdhm9hadrzp3s" + }, + "nvim-web-devicons": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "nvim-tree", + "repo": "nvim-web-devicons" + }, + "branch": "main", + "revision": "4adeeaa7a32d46cf3b5833341358c797304f950a", + "url": "https://github.com/nvim-tree/nvim-web-devicons/archive/4adeeaa7a32d46cf3b5833341358c797304f950a.tar.gz", + "hash": "1bnw6k9nki7igc7j4y02mbmihfb5yj7xykgiyi31kc5nbzldinl7" + }, + "obsidian-nvim": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "epwalsh", + "repo": "obsidian.nvim" + }, + "branch": "main", + "revision": "14e0427bef6c55da0d63f9a313fd9941be3a2479", + "url": "https://github.com/epwalsh/obsidian.nvim/archive/14e0427bef6c55da0d63f9a313fd9941be3a2479.tar.gz", + "hash": "15ycmhn48ryaqzch6w3w6llq2qgmjx8xwkb9dn0075z60dybpflr" + }, + "omnisharp-extended-lsp-nvim": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "Hoffs", + "repo": "omnisharp-extended-lsp.nvim" + }, + "branch": "main", + "revision": "4916fa12e5b28d21a1f031f0bdd10aa15a75d85d", + "url": "https://github.com/Hoffs/omnisharp-extended-lsp.nvim/archive/4916fa12e5b28d21a1f031f0bdd10aa15a75d85d.tar.gz", + "hash": "0w2zbiz2sxblnmhnqp6f6n7d9g9cm40ksk66anl3s7qnqffvc3cl" + }, + "onedark-nvim": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "navarasu", + "repo": "onedark.nvim" + }, + "branch": "main", + "revision": "67a74c275d1116d575ab25485d1bfa6b2a9c38a6", + "url": "https://github.com/navarasu/onedark.nvim/archive/67a74c275d1116d575ab25485d1bfa6b2a9c38a6.tar.gz", + "hash": "1pfyz3ascxs3sxl878qcirp9jsz77kpl2ks3wxkcv8ql4psymc9l" + }, + "orgmode": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "nvim-orgmode", + "repo": "orgmode" + }, + "branch": "main", + "revision": "bf657742f7cb56211f99946ff64f5f87d7d7f0d0", + "url": "https://github.com/nvim-orgmode/orgmode/archive/bf657742f7cb56211f99946ff64f5f87d7d7f0d0.tar.gz", + "hash": "074493jfhgihp5zyyl86f9hfa2j6qdgw35q87vvdbmmj6rwhjmhk" + }, + "otter-nvim": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "jmbuhr", + "repo": "otter.nvim" + }, + "branch": "main", + "revision": "e8c662e1aefa8b483cfba6e00729a39a363dcecc", + "url": "https://github.com/jmbuhr/otter.nvim/archive/e8c662e1aefa8b483cfba6e00729a39a363dcecc.tar.gz", + "hash": "0csl3ddm8782fw836adj4fp4h3fg2ygv7ik632llk55mp1q4dw1l" + }, + "oxocarbon-nvim": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "nyoom-engineering", + "repo": "oxocarbon.nvim" + }, + "branch": "main", + "revision": "004777819ba294423b638a35a75c9f0c7be758ed", + "url": "https://github.com/nyoom-engineering/oxocarbon.nvim/archive/004777819ba294423b638a35a75c9f0c7be758ed.tar.gz", + "hash": "1qllk870nqc9nhkdgmqm8km2rar6dsmyhfhpcfx8crrg640yfbqy" + }, + "pathlib-nvim": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "pysan3", + "repo": "pathlib.nvim" + }, + "branch": "main", + "revision": "57e5598af6fe253761c1b48e0b59b7cd6699e2c1", + "url": "https://github.com/pysan3/pathlib.nvim/archive/57e5598af6fe253761c1b48e0b59b7cd6699e2c1.tar.gz", + "hash": "1z3nwy83r3zbll9wc2wyvg60z0dqc5hm2xdfvqh3hwm5s9w8j432" + }, + "plenary-nvim": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "nvim-lua", + "repo": "plenary.nvim" + }, + "branch": "main", + "revision": "2d9b06177a975543726ce5c73fca176cedbffe9d", + "url": "https://github.com/nvim-lua/plenary.nvim/archive/2d9b06177a975543726ce5c73fca176cedbffe9d.tar.gz", + "hash": "1blmh0qr010jhydw61kiynll2m7q4xyrvrva8b5ipf1g81x8ysbf" + }, + "precognition-nvim": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "tris203", + "repo": "precognition.nvim" + }, + "branch": "main", + "revision": "531971e6d883e99b1572bf47294e22988d8fbec0", + "url": "https://github.com/tris203/precognition.nvim/archive/531971e6d883e99b1572bf47294e22988d8fbec0.tar.gz", + "hash": "1mm3gzv882kd0kmqj0zfk6hlw5fxbk7jz16g1h7g8xs2mjh4lxwv" + }, + "project-nvim": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "ahmedkhalf", + "repo": "project.nvim" + }, + "branch": "main", + "revision": "8c6bad7d22eef1b71144b401c9f74ed01526a4fb", + "url": "https://github.com/ahmedkhalf/project.nvim/archive/8c6bad7d22eef1b71144b401c9f74ed01526a4fb.tar.gz", + "hash": "1md639mcs3dgvhvx93wi0rxiwjnb195r9al9bfqvcvl3r307gxba" + }, + "promise-async": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "kevinhwang91", + "repo": "promise-async" + }, + "branch": "main", + "revision": "119e8961014c9bfaf1487bf3c2a393d254f337e2", + "url": "https://github.com/kevinhwang91/promise-async/archive/119e8961014c9bfaf1487bf3c2a393d254f337e2.tar.gz", + "hash": "0q4a0rmy09hka6zvydzjj2gcm2j5mlbrhbxfcdjj33ngpblkmqzm" + }, + "rainbow-delimiters-nvim": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "HiPhish", + "repo": "rainbow-delimiters.nvim" + }, + "branch": "main", + "revision": "85b80abaa09cbbc039e3095b2f515b3cf8cadd11", + "url": "https://github.com/HiPhish/rainbow-delimiters.nvim/archive/85b80abaa09cbbc039e3095b2f515b3cf8cadd11.tar.gz", + "hash": "0k1hqjyr9xxbg2087qssglv6dgnq81w671d3rqn7lxnprmidfqfd" + }, + "registers-nvim": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "tversteeg", + "repo": "registers.nvim" + }, + "branch": "main", + "revision": "c217f8f369e0886776cda6c94eab839b30a8940d", + "url": "https://github.com/tversteeg/registers.nvim/archive/c217f8f369e0886776cda6c94eab839b30a8940d.tar.gz", + "hash": "1pdfm98grlka537i1c94vi8bpbp66slkyz3by040wlfq4pgr3frk" + }, + "render-markdown-nvim": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "MeanderingProgrammer", + "repo": "render-markdown.nvim" + }, + "branch": "main", + "revision": "6fbd1491abc104409f119685de5353c35c97c005", + "url": "https://github.com/MeanderingProgrammer/render-markdown.nvim/archive/6fbd1491abc104409f119685de5353c35c97c005.tar.gz", + "hash": "081r1a7rhmmla80i6bg1lmld9lkjhzgkh2rvlpvka889zl36mhcx" + }, + "rose-pine": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "rose-pine", + "repo": "neovim" + }, + "branch": "main", + "revision": "91548dca53b36dbb9d36c10f114385f759731be1", + "url": "https://github.com/rose-pine/neovim/archive/91548dca53b36dbb9d36c10f114385f759731be1.tar.gz", + "hash": "00zhx2j5lm27pcfaimzbkil61gfc6cxyy1dcgc4cyb8vfi8psf3s" + }, + "rtp-nvim": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "nvim-neorocks", + "repo": "rtp.nvim" + }, + "branch": "main", + "revision": "494ddfc888bb466555d90ace731856de1320fe45", + "url": "https://github.com/nvim-neorocks/rtp.nvim/archive/494ddfc888bb466555d90ace731856de1320fe45.tar.gz", + "hash": "1b6hx50nr2s2mnhsx9zy54pjdq7f78mi394v2b2c9v687s45nqln" + }, + "run-nvim": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "diniamo", + "repo": "run.nvim" + }, + "branch": "main", + "revision": "9015c9cece816ccf10a185b420f6e345fd990802", + "url": "https://github.com/diniamo/run.nvim/archive/9015c9cece816ccf10a185b420f6e345fd990802.tar.gz", + "hash": "10xqwck0l1ad79midicilv4hnrczzjn7lkqi7a60hba20hwb4lq8" + }, + "rustaceanvim": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "mrcjkb", + "repo": "rustaceanvim" + }, + "branch": "main", + "revision": "51c097ebfb65d83baa71f48000b1e5c0a8dcc4fb", + "url": "https://github.com/mrcjkb/rustaceanvim/archive/51c097ebfb65d83baa71f48000b1e5c0a8dcc4fb.tar.gz", + "hash": "0c1gixywf7781h4af9bic07spgmxyx9ddxcrgy5b9da7phcmgimr" + }, + "smartcolumn-nvim": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "m4xshen", + "repo": "smartcolumn.nvim" + }, + "branch": "main", + "revision": "f14fbea6f86cd29df5042897ca9e3ba10ba4d27f", + "url": "https://github.com/m4xshen/smartcolumn.nvim/archive/f14fbea6f86cd29df5042897ca9e3ba10ba4d27f.tar.gz", + "hash": "1d0p906dr4wzc73zsm1pyc3fl9a6ns8i6hkl0ynvx72hj01is6p9" + }, + "sqls-nvim": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "nanotee", + "repo": "sqls.nvim" + }, + "branch": "main", + "revision": "a514379f5f89bf72955ed3bf5c1c31a40b8a1472", + "url": "https://github.com/nanotee/sqls.nvim/archive/a514379f5f89bf72955ed3bf5c1c31a40b8a1472.tar.gz", + "hash": "0rdhfjzfqhpjimi7b398d8ivfrg3ay084gz92fp0g4sgr3m876x3" + }, + "tabular": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "godlygeek", + "repo": "tabular" + }, + "branch": "main", + "revision": "12437cd1b53488e24936ec4b091c9324cafee311", + "url": "https://github.com/godlygeek/tabular/archive/12437cd1b53488e24936ec4b091c9324cafee311.tar.gz", + "hash": "1cnh21yhcn2f4fajdr2b6hrclnhf1sz4abra4nw7b5yk1mvfjq5a" + }, + "telescope": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "nvim-telescope", + "repo": "telescope.nvim" + }, + "branch": "main", + "revision": "2eca9ba22002184ac05eddbe47a7fe2d5a384dfc", + "url": "https://github.com/nvim-telescope/telescope.nvim/archive/2eca9ba22002184ac05eddbe47a7fe2d5a384dfc.tar.gz", + "hash": "0bkpys6dj01x6ycylmf6vrd2mqjibmny9a2hxxrqn0jqqvagm5ly" + }, + "tiny-devicons-auto-colors-nvim": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "rachartier", + "repo": "tiny-devicons-auto-colors.nvim" + }, + "branch": "main", + "revision": "c8f63933ee013c1e0a26091d58131e060546f01f", + "url": "https://github.com/rachartier/tiny-devicons-auto-colors.nvim/archive/c8f63933ee013c1e0a26091d58131e060546f01f.tar.gz", + "hash": "04mf9vkf7q3bxz79v1qp0r40sdql065vn4mfnavh71sqywm1jmcj" + }, + "todo-comments-nvim": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "folke", + "repo": "todo-comments.nvim" + }, + "branch": "main", + "revision": "ae0a2afb47cf7395dc400e5dc4e05274bf4fb9e0", + "url": "https://github.com/folke/todo-comments.nvim/archive/ae0a2afb47cf7395dc400e5dc4e05274bf4fb9e0.tar.gz", + "hash": "0v6vn3f9svj756ds8cp0skpw65xixlx1f3aj0fh374wdpb5i4zhh" + }, + "toggleterm-nvim": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "akinsho", + "repo": "toggleterm.nvim" + }, + "branch": "main", + "revision": "344fc1810292785b3d962ddac2de57669e1a7ff9", + "url": "https://github.com/akinsho/toggleterm.nvim/archive/344fc1810292785b3d962ddac2de57669e1a7ff9.tar.gz", + "hash": "0awj2kj3lam2j48bgld5wyb4m1v09gpxmzww35rgysq7wipliqx1" + }, + "tokyonight-nvim": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "folke", + "repo": "tokyonight.nvim" + }, + "branch": "main", + "revision": "45d22cf0e1b93476d3b6d362d720412b3d34465c", + "url": "https://github.com/folke/tokyonight.nvim/archive/45d22cf0e1b93476d3b6d362d720412b3d34465c.tar.gz", + "hash": "1038ff6i8csxx3cqccgbpv06slvbcs534cfkq7s58ww2vvldm7sc" + }, + "trouble": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "folke", + "repo": "trouble.nvim" + }, + "branch": "main", + "revision": "46cf952fc115f4c2b98d4e208ed1e2dce08c9bf6", + "url": "https://github.com/folke/trouble.nvim/archive/46cf952fc115f4c2b98d4e208ed1e2dce08c9bf6.tar.gz", + "hash": "12ky8alz6zi2vlqspnacmkj99d4sam4hrzs92i3n4sz6jx2w8696" + }, + "ts-error-translator-nvim": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "dmmulroy", + "repo": "ts-error-translator.nvim" + }, + "branch": "main", + "revision": "47e5ba89f71b9e6c72eaaaaa519dd59bd6897df4", + "url": "https://github.com/dmmulroy/ts-error-translator.nvim/archive/47e5ba89f71b9e6c72eaaaaa519dd59bd6897df4.tar.gz", + "hash": "08whn7l75qv5n74cifmnxc0s7n7ja1g7589pjnbbsk2djn6bqbky" + }, + "typst-preview-nvim": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "chomosuke", + "repo": "typst-preview.nvim" + }, + "branch": "main", + "revision": "c1100e8788baabe8ca8f8cd7fd63d3d479e49e36", + "url": "https://github.com/chomosuke/typst-preview.nvim/archive/c1100e8788baabe8ca8f8cd7fd63d3d479e49e36.tar.gz", + "hash": "1xjdfk20k0rjg8z76n57iadr7nkvfvx960gh1lc1d0ji2vpyz93p" + }, + "vim-dirtytalk": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "psliwka", + "repo": "vim-dirtytalk" + }, + "branch": "main", + "revision": "aa57ba902b04341a04ff97214360f56856493583", + "url": "https://github.com/psliwka/vim-dirtytalk/archive/aa57ba902b04341a04ff97214360f56856493583.tar.gz", + "hash": "0ikk2z9axk9hys3an3cvp7m8fwrmrxb570iw1km3yz7z9f73jdbb" + }, + "vim-fugitive": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "tpope", + "repo": "vim-fugitive" + }, + "branch": "main", + "revision": "174230d6a7f2df94705a7ffd8d5413e27ec10a80", + "url": "https://github.com/tpope/vim-fugitive/archive/174230d6a7f2df94705a7ffd8d5413e27ec10a80.tar.gz", + "hash": "0bs5l8f1qrg9fr97nb029yf7bs813fg0pk5f0cjqfnmglslfr773" + }, + "vim-illuminate": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "RRethy", + "repo": "vim-illuminate" + }, + "branch": "main", + "revision": "5eeb7951fc630682c322e88a9bbdae5c224ff0aa", + "url": "https://github.com/RRethy/vim-illuminate/archive/5eeb7951fc630682c322e88a9bbdae5c224ff0aa.tar.gz", + "hash": "0g86iv1mndcalrizdhl3z8ryj19jnqv139jwijpzyfk8gi677lhd" + }, + "vim-markdown": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "preservim", + "repo": "vim-markdown" + }, + "branch": "main", + "revision": "8f6cb3a6ca4e3b6bcda0730145a0b700f3481b51", + "url": "https://github.com/preservim/vim-markdown/archive/8f6cb3a6ca4e3b6bcda0730145a0b700f3481b51.tar.gz", + "hash": "14x6jfla4921jyx4xxqng9vzmb0iaj2nn7wckhmlx8jpks6r4834" + }, + "vim-repeat": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "tpope", + "repo": "vim-repeat" + }, + "branch": "main", + "revision": "65846025c15494983dafe5e3b46c8f88ab2e9635", + "url": "https://github.com/tpope/vim-repeat/archive/65846025c15494983dafe5e3b46c8f88ab2e9635.tar.gz", + "hash": "0n8sx6s2sbjb21dv9j6y5lyqda9vvxraffg2jz423daamn96dxqv" + }, + "vim-startify": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "mhinz", + "repo": "vim-startify" + }, + "branch": "main", + "revision": "4e089dffdad46f3f5593f34362d530e8fe823dcf", + "url": "https://github.com/mhinz/vim-startify/archive/4e089dffdad46f3f5593f34362d530e8fe823dcf.tar.gz", + "hash": "1ycqfqnmalqzrx1yy9a1fc2p0w922x4sqv2222bi9xjzmh77z4sv" + }, + "which-key-nvim": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "folke", + "repo": "which-key.nvim" + }, + "branch": "main", + "revision": "8ab96b38a2530eacba5be717f52e04601eb59326", + "url": "https://github.com/folke/which-key.nvim/archive/8ab96b38a2530eacba5be717f52e04601eb59326.tar.gz", + "hash": "12wkl04apgag0p5njw8mczzlbxqf5h08k61qciwy10n4q1harzvz" + }, + "yanky.nvim": { + "type": "Git", + "repository": { + "type": "GitHub", + "owner": "gbprod", + "repo": "yanky.nvim" + }, + "branch": "main", + "revision": "d2696b30e389dced94d5acab728f524a25f308d2", + "url": "https://github.com/gbprod/yanky.nvim/archive/d2696b30e389dced94d5acab728f524a25f308d2.tar.gz", + "hash": "1i96w32wi7s0nnjmyrlcvbvz150ph3y51mi0v46d580rmdpj9pqs" + } + }, + "version": 3 +} \ No newline at end of file diff --git a/npins/sources.nix b/npins/sources.nix new file mode 100644 index 00000000..daa176a0 --- /dev/null +++ b/npins/sources.nix @@ -0,0 +1,85 @@ +# Based off of: +# https://github.com/NixOS/nixpkgs/blob/776c3bee4769c616479393aeefceefeda16b6fcb/pkgs/tools/nix/npins/source.nix +{ + lib, + fetchurl, + fetchgit, + fetchzip, +}: +builtins.mapAttrs +( + _: let + getZip = { + url, + hash, + ... + }: + fetchzip { + inherit url; + sha256 = hash; + extension = "tar"; + }; + mkGitSource = { + repository, + revision, + url ? null, + hash, + ... + } @ attrs: + assert repository ? type; + if url != null + then getZip attrs + else + assert repository.type == "Git"; let + urlToName = url: rev: let + matched = builtins.match "^.*/([^/]*)(\\.git)?$" repository.url; + short = builtins.substring 0 7 rev; + appendShort = + if (builtins.match "[a-f0-9]*" rev) != null + then "-${short}" + else ""; + in "${ + if matched == null + then "source" + else builtins.head matched + }${appendShort}"; + name = urlToName repository.url revision; + in + fetchgit { + inherit name; + inherit (repository) url; + rev = revision; + sha256 = hash; + }; + + mkPyPiSource = { + url, + hash, + ... + }: + fetchurl { + inherit url; + sha256 = hash; + }; + in + spec: + assert spec ? type; let + func = + { + Git = mkGitSource; + GitRelease = mkGitSource; + PyPi = mkPyPiSource; + Channel = getZip; + } + .${spec.type} + or (builtins.throw "Unknown source type ${spec.type}"); + in + spec // {outPath = func spec;} +) +( + let + json = lib.importJSON ./sources.json; + in + assert lib.assertMsg (json.version == 3) "Npins version mismatch!"; + json.pins +)