diff --git a/pkgs/applications/version-management/commitizen/default.nix b/pkgs/applications/version-management/commitizen/default.nix new file mode 100644 index 000000000000..fddffe6d198d --- /dev/null +++ b/pkgs/applications/version-management/commitizen/default.nix @@ -0,0 +1,49 @@ +{ buildPythonApplication +, lib +, fetchFromGitHub +, poetry +, termcolor +, questionary +, colorama +, decli +, tomlkit +, jinja2 +, pyyaml +, argcomplete +, typing-extensions +}: + +buildPythonApplication rec { + pname = "commitizen"; + version = "2.20.3"; + + src = fetchFromGitHub { + owner = "commitizen-tools"; + repo = pname; + rev = "v${version}"; + sha256 = "sha256-rAm2GTRxZIHQmn/FM0IwwH/2h+oOvzGmeVr5xkvD/zA="; + }; + + format = "pyproject"; + + nativeBuildInputs = [ poetry ]; + + propagatedBuildInputs = [ + termcolor + questionary + colorama + decli + tomlkit + jinja2 + pyyaml + argcomplete + typing-extensions + ]; + + meta = with lib; { + description = "Tool to create committing rules for projects, auto bump versions, and generate changelogs"; + homepage = "https://github.com/commitizen-tools/commitizen"; + license = licenses.mit; + maintainers = with maintainers; [ lovesegfault ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index dcc25c731902..cdbac82d992e 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -2546,6 +2546,8 @@ with pkgs; comma = callPackage ../tools/package-management/comma { }; + commitizen = python3Packages.callPackage ../applications/version-management/commitizen { }; + common-licenses = callPackage ../data/misc/common-licenses {}; compactor = callPackage ../applications/networking/compactor { };