diff --git a/plugins/_sources/generated.json b/plugins/_sources/generated.json index 839e16af..3c7a7d16 100644 --- a/plugins/_sources/generated.json +++ b/plugins/_sources/generated.json @@ -99,6 +99,26 @@ }, "version": "d7fb84a670795a5b36b18a5b59afd1d3865cbec7" }, + "netman-nvim": { + "cargoLocks": null, + "date": "2023-03-02", + "extract": null, + "name": "netman-nvim", + "passthru": null, + "pinned": false, + "src": { + "deepClone": false, + "fetchSubmodules": false, + "leaveDotGit": false, + "name": null, + "owner": "miversen33", + "repo": "netman.nvim", + "rev": "1ef50efcbe88f8293e97946af37243a20873bb1c", + "sha256": "sha256-oRjBjVmO/7bmgyf9ltthRrwZBD5SLD757GklSjw1bJs=", + "type": "github" + }, + "version": "1ef50efcbe88f8293e97946af37243a20873bb1c" + }, "nvim-osc52": { "cargoLocks": null, "date": "2023-03-03", diff --git a/plugins/_sources/generated.nix b/plugins/_sources/generated.nix index 5d114d3a..d14ff382 100644 --- a/plugins/_sources/generated.nix +++ b/plugins/_sources/generated.nix @@ -61,6 +61,18 @@ }); date = "2021-06-22"; }; + netman-nvim = { + pname = "netman-nvim"; + version = "1ef50efcbe88f8293e97946af37243a20873bb1c"; + src = fetchFromGitHub ({ + owner = "miversen33"; + repo = "netman.nvim"; + rev = "1ef50efcbe88f8293e97946af37243a20873bb1c"; + fetchSubmodules = false; + sha256 = "sha256-oRjBjVmO/7bmgyf9ltthRrwZBD5SLD757GklSjw1bJs="; + }); + date = "2023-03-02"; + }; nvim-osc52 = { pname = "nvim-osc52"; version = "47ce7ee2396fa3ee4fb6b0e0ef14ba06f9c9bd31"; diff --git a/plugins/default.nix b/plugins/default.nix index 6f2cc0ed..cb7e72dc 100644 --- a/plugins/default.nix +++ b/plugins/default.nix @@ -66,6 +66,7 @@ ./utils/neo-tree.nix ./utils/neorg.nix ./utils/notify.nix + ./utils/netman.nix ./utils/nvim-autopairs.nix ./utils/nvim-bqf.nix ./utils/nvim-colorizer.nix diff --git a/plugins/nvfetcher.toml b/plugins/nvfetcher.toml index bffcb275..3cd52636 100644 --- a/plugins/nvfetcher.toml +++ b/plugins/nvfetcher.toml @@ -29,3 +29,7 @@ fetch.github = "WhiteBlackGoose/magma-nvim-goose" [nvim-osc52] src.git = "https://github.com/ojroques/nvim-osc52" fetch.github = "ojroques/nvim-osc52" + +[netman-nvim] +src.git = "https://github.com/miversen33/netman.nvim" +fetch.github = "miversen33/netman.nvim" diff --git a/plugins/plugin-defs.nix b/plugins/plugin-defs.nix index 0bedf141..224f5a88 100644 --- a/plugins/plugin-defs.nix +++ b/plugins/plugin-defs.nix @@ -74,4 +74,8 @@ in { nvim-osc52 = pkgs.vimUtils.buildVimPlugin { inherit (sources.nvim-osc52) pname version src; }; + + netman-nvim = pkgs.vimUtils.buildVimPlugin { + inherit (sources.netman-nvim) pname version src; + }; } diff --git a/plugins/utils/netman.nix b/plugins/utils/netman.nix new file mode 100644 index 00000000..07bd4536 --- /dev/null +++ b/plugins/utils/netman.nix @@ -0,0 +1,29 @@ +{ + config, + lib, + pkgs, + ... +} @ args: let + defs = import ../plugin-defs.nix {inherit pkgs;}; + helpers = import ../helpers.nix args; +in + with lib; { + options.plugins.netman = { + enable = mkEnableOption "netman.nvim, a framework to access remote resources"; + package = helpers.mkPackageOption "netman.nvim" defs.netman-nvim; + + neoTreeIntegration = mkEnableOption "support for netman as a neo-tree source"; + }; + + config = let + cfg = config.plugins.netman; + in + mkIf cfg.enable { + extraPlugins = [cfg.package]; + extraConfigLua = '' + require("netman") + ''; + + plugins.neo-tree.extraSources = mkIf cfg.neoTreeIntegration ["netman.ui.neo-tree"]; + }; + } diff --git a/tests/plugins/netman.nix b/tests/plugins/netman.nix new file mode 100644 index 00000000..40641bfa --- /dev/null +++ b/tests/plugins/netman.nix @@ -0,0 +1,15 @@ +{ + empty = { + tests.dontRun = true; + plugins.netman.enable = true; + }; + + withNeotree = { + tests.dontRun = true; + plugins.neo-tree.enable = true; + plugins.netman = { + enable = true; + neoTreeIntegration = true; + }; + }; +}