depot/third_party/nixpkgs/pkgs/development/tools/turbogit/default.nix

45 lines
1.4 KiB
Nix
Raw Normal View History

{ fetchFromGitHub, buildGoModule, lib, installShellFiles, libgit2, pkg-config }:
buildGoModule rec {
pname = "turbogit";
version = "3.1.1";
src = fetchFromGitHub {
owner = "b4nst";
repo = pname;
rev = "v${version}";
sha256 = "sha256-BHgVJlitRUX/9zYPoK5XfRpzzTZRbLhQVZJcx8KVshk=";
};
vendorSha256 = "sha256-280OcGXZQJD4G6z0b2WnWAS+v7XVptyf2WnlPjG99/0=";
subPackages = [ "." ];
buildInputs = [ libgit2 ];
nativeBuildInputs = [ installShellFiles pkg-config ];
postInstall = ''
# Move turbogit binary to tug
ln -s $out/bin/turbogit $out/bin/tug
# Generate completion files
mkdir -p share/completions
$out/bin/tug completion bash > share/completions/tug.bash
$out/bin/tug completion fish > share/completions/tug.fish
$out/bin/tug completion zsh > share/completions/tug.zsh
installShellCompletion share/completions/tug.{bash,fish,zsh}
'';
meta = with lib; {
description = "Keep your git workflow clean without headache.";
longDescription = ''
turbogit (tug) is a cli tool built to help you deal with your day-to-day git work.
turbogit enforces convention (e.g. The Conventional Commits) but tries to keep things simple and invisible for you.
turbogit is your friend.
'';
homepage = "https://b4nst.github.io/turbogit";
license = licenses.mit;
platforms = platforms.linux ++ platforms.darwin;
maintainers = [ maintainers.yusdacra ];
};
}