diff --git a/pkgs/by-name/nv/nvs/package.nix b/pkgs/by-name/nv/nvs/package.nix new file mode 100644 index 000000000000..a445c397b79c --- /dev/null +++ b/pkgs/by-name/nv/nvs/package.nix @@ -0,0 +1,50 @@ +{ + buildGoModule, + fetchFromGitHub, + installShellFiles, + writableTmpDirAsHomeHook, + lib, +}: +buildGoModule (finalAttrs: { + pname = "nvs"; + version = "1.10.6"; + + src = fetchFromGitHub { + owner = "y3owk1n"; + repo = "nvs"; + tag = "v${finalAttrs.version}"; + hash = "sha256-hqIauWbAsWbD7P58BGnj6NlLtfuaR5YxOLgPOrpN++w="; + }; + + vendorHash = "sha256-l2FdnXA+vKVRekcIKt1R+MxppraTsmo0b/B7RNqnxjA="; + + ldflags = [ + "-s" + "-w" + ]; + + # Completions + nativeBuildInputs = [ + installShellFiles + writableTmpDirAsHomeHook + ]; + postInstall = '' + installShellCompletion --cmd nvs \ + --bash <($out/bin/nvs completion bash) \ + --fish <($out/bin/nvs completion fish) \ + --zsh <($out/bin/nvs completion zsh) + ''; + + __darwinAllowLocalNetworking = true; + + meta = { + mainProgram = "nvs"; + description = "Lightweight Neovim Version & Config Manager CLI tool to install, switch, list, uninstall, and reset Neovim versions"; + homepage = "https://github.com/y3owk1n/nvs"; + changelog = "https://github.com/y3owk1n/nvs/releases/tag/v${finalAttrs.version}"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ + cupcakearmy + ]; + }; +})