summary refs log tree commit diff
diff options
context:
space:
mode:
authorCody Hiar <cody@hiar.ca>2021-11-17 09:08:42 -0700
committerCody Hiar <cody@hiar.ca>2021-11-22 09:04:26 -0700
commitfb2b2f8ab27f872d088b25e25056d7f5e71b3907 (patch)
treeae8c6c1e89ca70fa30bb1ab3c50bc2c18cceed0c
parentcf0519854227bac9f429c8b5129a75168cc4de26 (diff)
downloadnixpkgs-fb2b2f8ab27f872d088b25e25056d7f5e71b3907.tar
nixpkgs-fb2b2f8ab27f872d088b25e25056d7f5e71b3907.tar.gz
nixpkgs-fb2b2f8ab27f872d088b25e25056d7f5e71b3907.tar.bz2
nixpkgs-fb2b2f8ab27f872d088b25e25056d7f5e71b3907.tar.lz
nixpkgs-fb2b2f8ab27f872d088b25e25056d7f5e71b3907.tar.xz
nixpkgs-fb2b2f8ab27f872d088b25e25056d7f5e71b3907.tar.zst
nixpkgs-fb2b2f8ab27f872d088b25e25056d7f5e71b3907.zip
mani: init at 0.10.0
-rw-r--r--pkgs/development/tools/mani/default.nix45
-rw-r--r--pkgs/top-level/all-packages.nix2
2 files changed, 47 insertions, 0 deletions
diff --git a/pkgs/development/tools/mani/default.nix b/pkgs/development/tools/mani/default.nix
new file mode 100644
index 00000000000..8cfebb34861
--- /dev/null
+++ b/pkgs/development/tools/mani/default.nix
@@ -0,0 +1,45 @@
+{ buildGoModule, fetchFromGitHub, lib, installShellFiles, git, makeWrapper}:
+
+buildGoModule rec {
+  pname = "mani";
+  version = "0.10.0";
+
+  src = fetchFromGitHub {
+    owner = "alajmo";
+    repo = "mani";
+    rev = "v${version}";
+    sha256 = "sha256-9rcgPeYFHdIN73K0zGPEHqFFLFkVYkNYRXJ+0/Zo4zI=";
+  };
+
+  vendorSha256 = "sha256-ZivzDfjx2djzS0Xm3GISK3zpB5fUUMgy2o4Ti1Z9wMM=";
+
+  nativeBuildInputs = [ installShellFiles makeWrapper ];
+
+  postInstall = ''
+    installShellCompletion --cmd mani \
+      --bash <($out/bin/mani completion bash) \
+      --fish <($out/bin/mani completion fish) \
+      --zsh <($out/bin/mani completion zsh)
+
+    wrapProgram $out/bin/mani \
+      --prefix PATH : ${lib.makeBinPath [ git ]}
+  '';
+
+  # Skip tests
+  # The repo's test folder has a README.md with detailed information. I don't
+  # know how to wrap the dependencies for these integration tests so skip for now.
+  doCheck = false;
+
+  meta = with lib; {
+    description = "CLI tool to help you manage multiple repositories";
+    longDescription = ''
+      mani is a CLI tool that helps you manage multiple repositories. It's useful
+      when you are working with microservices, multi-project systems, many
+      libraries or just a bunch of repositories and want a central place for
+      pulling all repositories and running commands over them.
+    '';
+    homepage = "https://manicli.com/";
+    changelog = "https://github.com/alajmo/mani/releases/tag/v${version}";
+    license = licenses.mit;
+  };
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 551cb4e0157..00080918ab0 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -6904,6 +6904,8 @@ with pkgs;
 
   makebootfat = callPackage ../tools/misc/makebootfat { };
 
+  mani = callPackage ../development/tools/mani { };
+
   mapcache = callPackage ../servers/mapcache { };
 
   mapserver = callPackage ../servers/mapserver { };