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"
+ ];
};
};