diff --git a/.github/README.md b/.github/README.md index 0c2036d2..9a059419 100644 --- a/.github/README.md +++ b/.github/README.md @@ -210,12 +210,16 @@ features. Alongside myself, nvf is developed by those talented folk: -- [**@horriblename**](https://github.com/horriblename) - For actively - implementing planned features and quality of life updates. +- [**@horriblename**](https://github.com/horriblename) + ([Liberapay](https://liberapay.com/horriblename/))- For actively implementing + planned features and quality of life updates. - [**@Diniamo**](https://github.com/Diniamo) ([Liberapay](https://en.liberapay.com/diniamo/)) - For actively submitting pull requests, issues and assistance with maintenance of nvf. +Please do remember to extend your thanks (financially or otherwise) if this +project has been helpful to you. + ### Contributors [mnw]: https://github.com/gerg-l/mnw @@ -245,17 +249,17 @@ This configuration borrows from and is based on a few other configurations, including: - [@jordanisaacs's](https://github.com/jordanisaacs) - [neovim-flake](https://github.com/jordanisaacs/neovim-flake) that this flake - is originally based on. -- [@sioodmy's](https://github.com/sioodmy) - [dotfiles](https://github.com/sioodmy/dotfiles) that inspired the design - choices for UI and plugin defaults. + [**neovim-flake**](https://github.com/jordanisaacs/neovim-flake) that this + flake is originally based on. - [@wiltaylor's](https://github.com/wiltaylor) [neovim-flake](https://github.com/wiltaylor/neovim-flake) for plugin and design ideas. - [@gvolpe's](https://github.com/gvolpe) [neovim-flake](https://github.com/gvolpe/neovim-flake) for plugin, design and nix concepts. +- [@sioodmy's](https://github.com/sioodmy) + [dotfiles](https://github.com/sioodmy/dotfiles) that inspired the design + choices for UI and plugin defaults. I am grateful for their previous work and inspiration, and I wholeheartedly recommend checking their work out. @@ -263,12 +267,12 @@ recommend checking their work out. ## License -Following the license of the -[original neovim-flake](https://github.com/jordanisaacs/neovim-flake), nvf has -been made available under the [**MIT License**](LICENSE). However, all assets -and documentation are published under the +Following the license of +[the original neovim-flake](https://github.com/jordanisaacs/neovim-flake), nvf +has been made available under the [**MIT License**](LICENSE). However, all +assets and documentation are published under the [**CC BY License**](https://github.com/NotAShelf/nvf/blob/main/.github/assets/LICENSE) -under explicit permission by the artist. +under explicit permission by the author or authors.
Yes, this includes the logo work too. Stop taking artwork that is not yours!
diff --git a/docs/release-notes/rl-0.8.md b/docs/release-notes/rl-0.8.md index eb7ca0db..036b673c 100644 --- a/docs/release-notes/rl-0.8.md +++ b/docs/release-notes/rl-0.8.md @@ -32,5 +32,7 @@ [horriblename](https://github.com/horriblename): [aerial.nvim](https://github.com/stevearc/aerial.nvim) +[nvim-ufo](https://github.com/kevinhwang91/nvim-ufo) - Add [aerial.nvim] +- Add [nvim-ufo] diff --git a/flake.lock b/flake.lock index 4b56f7fa..d4e745c1 100644 --- a/flake.lock +++ b/flake.lock @@ -1518,6 +1518,22 @@ "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": { @@ -1694,6 +1710,22 @@ "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-registers": { "flake": false, "locked": { @@ -2191,6 +2223,7 @@ "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", @@ -2202,6 +2235,7 @@ "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-registers": "plugin-registers", "plugin-render-markdown-nvim": "plugin-render-markdown-nvim", "plugin-rose-pine": "plugin-rose-pine", diff --git a/flake.nix b/flake.nix index f5014afe..c1fe0688 100644 --- a/flake.nix +++ b/flake.nix @@ -720,6 +720,16 @@ 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"; diff --git a/modules/plugins/languages/dart.nix b/modules/plugins/languages/dart.nix index ee069a7d..e2b3182e 100644 --- a/modules/plugins/languages/dart.nix +++ b/modules/plugins/languages/dart.nix @@ -130,7 +130,6 @@ in { (mkIf cfg.lsp.enable { vim.lsp.lspconfig.enable = true; - vim.lsp.lspconfig.sources.dart-lsp = servers.${cfg.lsp.server}.lspConfig; }) diff --git a/modules/plugins/languages/haskell.nix b/modules/plugins/languages/haskell.nix index 62f4cd41..ff6c7d78 100644 --- a/modules/plugins/languages/haskell.nix +++ b/modules/plugins/languages/haskell.nix @@ -71,7 +71,7 @@ in { cmd = ${ if isList cfg.lsp.package then expToLua cfg.lsp.package - else ''{"${cfg.lsp.package}/bin/haskell-language-server-wrapper"}'' + else ''{"${cfg.lsp.package}/bin/haskell-language-server-wrapper", "--lsp"}'' }, on_attach = function(client, bufnr, ht) default_on_attach(client, bufnr, ht) diff --git a/modules/plugins/ui/default.nix b/modules/plugins/ui/default.nix index 34076600..e9489e9b 100644 --- a/modules/plugins/ui/default.nix +++ b/modules/plugins/ui/default.nix @@ -2,6 +2,7 @@ imports = [ ./noice ./modes + ./nvim-ufo ./notifications ./smartcolumn ./colorizer diff --git a/modules/plugins/ui/nvim-ufo/config.nix b/modules/plugins/ui/nvim-ufo/config.nix new file mode 100644 index 00000000..7b40386f --- /dev/null +++ b/modules/plugins/ui/nvim-ufo/config.nix @@ -0,0 +1,20 @@ +{ + lib, + config, + ... +}: let + inherit (lib.modules) mkIf; + + cfg = config.vim.ui.nvim-ufo; +in { + config = mkIf cfg.enable { + vim = { + startPlugins = ["promise-async"]; + lazy.plugins.nvim-ufo = { + package = "nvim-ufo"; + setupModule = "ufo"; + inherit (cfg) setupOpts; + }; + }; + }; +} diff --git a/modules/plugins/ui/nvim-ufo/default.nix b/modules/plugins/ui/nvim-ufo/default.nix new file mode 100644 index 00000000..9f541f97 --- /dev/null +++ b/modules/plugins/ui/nvim-ufo/default.nix @@ -0,0 +1,6 @@ +{ + imports = [ + ./nvim-ufo.nix + ./config.nix + ]; +} diff --git a/modules/plugins/ui/nvim-ufo/nvim-ufo.nix b/modules/plugins/ui/nvim-ufo/nvim-ufo.nix new file mode 100644 index 00000000..d5ad4933 --- /dev/null +++ b/modules/plugins/ui/nvim-ufo/nvim-ufo.nix @@ -0,0 +1,9 @@ +{lib, ...}: let + inherit (lib.options) mkEnableOption; + inherit (lib.nvim.types) mkPluginSetupOption; +in { + options.vim.ui.nvim-ufo = { + enable = mkEnableOption "nvim-ufo"; + setupOpts = mkPluginSetupOption "nvim-ufo" {}; + }; +} diff --git a/modules/wrapper/build/config.nix b/modules/wrapper/build/config.nix index ee5b4fda..46d99b36 100644 --- a/modules/wrapper/build/config.nix +++ b/modules/wrapper/build/config.nix @@ -49,6 +49,17 @@ flutter-tools-patched = buildPlug { pname = "flutter-tools"; patches = [./patches/flutter-tools.patch]; + + # Disable failing require check hook checks + nvimSkipModule = [ + "flutter-tools.devices" + "flutter-tools.dap" + "flutter-tools.runners.job_runner" + "flutter-tools.decorations" + "flutter-tools.commands" + "flutter-tools.executable" + "flutter-tools.dev_tools" + ]; }; };