mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-11-15 22:36:23 +01:00
ff1a94e523
The nixpkgs-unstable channel's programs.sqlite was used to identify packages producing exactly one binary, and these automatically added to their package definitions wherever possible.
48 lines
1.6 KiB
Nix
48 lines
1.6 KiB
Nix
{ buildGoModule, fetchFromGitHub, lib, installShellFiles, git, makeWrapper}:
|
|
|
|
buildGoModule rec {
|
|
pname = "mani";
|
|
version = "0.25.0";
|
|
|
|
src = fetchFromGitHub {
|
|
owner = "alajmo";
|
|
repo = "mani";
|
|
rev = "v${version}";
|
|
sha256 = "sha256-TqxoU2g4ZegJGHrnNO+ivPu209NDFcLnxpHGj8pOA4E=";
|
|
};
|
|
|
|
vendorHash = "sha256-mFan09oJ+BPVJHAxoROj282WJ+4e7TD0ZqeQH1kDabQ=";
|
|
|
|
nativeBuildInputs = [ installShellFiles makeWrapper ];
|
|
|
|
ldflags = [ "-s" "-w" "-X github.com/alajmo/mani/cmd.version=${version}" ];
|
|
|
|
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";
|
|
mainProgram = "mani";
|
|
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;
|
|
};
|
|
}
|