1 { lib, buildGoModule, fetchFromGitHub, installShellFiles, git, testers, git-town, makeWrapper }:
7 src = fetchFromGitHub {
11 hash = "sha256-q4bRUz6ZI6y0AYEDMUBMN1YJxmHkIDDkUiMd4rQbDHk=";
16 nativeBuildInputs = [ installShellFiles makeWrapper ];
18 buildInputs = [ git ];
22 modulePath = "github.com/git-town/git-town/v${lib.versions.major version}";
27 "-X ${modulePath}/src/cmd.version=v${version}"
28 "-X ${modulePath}/src/cmd.buildDate=nix"
31 nativeCheckInputs = [ git ];
36 # this runs tests requiring local operations
42 # Disable tests requiring local operations
45 "TestMockingRunner/MockCommand"
46 "TestMockingRunner/QueryWith"
47 "TestTestCommands/CreateChildFeatureBranch"
50 [ "-skip=^${builtins.concatStringsSep "$|^" skippedTests}$" ];
53 installShellCompletion --cmd git-town \
54 --bash <($out/bin/git-town completions bash) \
55 --fish <($out/bin/git-town completions fish) \
56 --zsh <($out/bin/git-town completions zsh)
58 wrapProgram $out/bin/git-town --prefix PATH : ${lib.makeBinPath [ git ]}
61 passthru.tests.version = testers.testVersion {
63 command = "git-town --version";
68 description = "Generic, high-level git support for git-flow workflows";
69 homepage = "https://www.git-town.com/";
70 license = licenses.mit;
71 maintainers = with maintainers; [ allonsy blaggacao gabyx ];
72 mainProgram = "git-town";