diff --git a/pkgs/by-name/gi/git-credential-email/git-credential-aol/default.nix b/pkgs/by-name/gi/git-credential-email/git-credential-aol/default.nix new file mode 100644 index 000000000000..3a5409093f6b --- /dev/null +++ b/pkgs/by-name/gi/git-credential-email/git-credential-aol/default.nix @@ -0,0 +1,11 @@ +{ + lib, + callPackage, +}: + +callPackage ../package.nix { + pname = "git-credential-aol"; + scripts = [ "git-credential-aol" ]; + description = "Git credential helper for AOL accounts"; + license = lib.licenses.asl20; +} diff --git a/pkgs/by-name/gi/git-credential-email/git-credential-gmail/default.nix b/pkgs/by-name/gi/git-credential-email/git-credential-gmail/default.nix new file mode 100644 index 000000000000..1ceedb5bc7c6 --- /dev/null +++ b/pkgs/by-name/gi/git-credential-email/git-credential-gmail/default.nix @@ -0,0 +1,11 @@ +{ + lib, + callPackage, +}: + +callPackage ../package.nix { + pname = "git-credential-gmail"; + scripts = [ "git-credential-gmail" ]; + description = "Git credential helper for Gmail accounts"; + license = lib.licenses.asl20; +} diff --git a/pkgs/by-name/gi/git-credential-email/git-credential-outlook/default.nix b/pkgs/by-name/gi/git-credential-email/git-credential-outlook/default.nix new file mode 100644 index 000000000000..a73a1001a0e3 --- /dev/null +++ b/pkgs/by-name/gi/git-credential-email/git-credential-outlook/default.nix @@ -0,0 +1,11 @@ +{ + lib, + callPackage, +}: + +callPackage ../package.nix { + pname = "git-credential-outlook"; + scripts = [ "git-credential-outlook" ]; + description = "Git credential helper for Microsoft Outlook accounts"; + license = lib.licenses.asl20; +} diff --git a/pkgs/by-name/gi/git-credential-email/git-credential-yahoo/default.nix b/pkgs/by-name/gi/git-credential-email/git-credential-yahoo/default.nix new file mode 100644 index 000000000000..038edad27a18 --- /dev/null +++ b/pkgs/by-name/gi/git-credential-email/git-credential-yahoo/default.nix @@ -0,0 +1,11 @@ +{ + lib, + callPackage, +}: + +callPackage ../package.nix { + pname = "git-credential-yahoo"; + scripts = [ "git-credential-yahoo" ]; + description = "Git credential helper for Yahoo accounts"; + license = lib.licenses.asl20; +} diff --git a/pkgs/by-name/gi/git-credential-email/git-msgraph/default.nix b/pkgs/by-name/gi/git-credential-email/git-msgraph/default.nix new file mode 100644 index 000000000000..2de1cd6ee85b --- /dev/null +++ b/pkgs/by-name/gi/git-credential-email/git-msgraph/default.nix @@ -0,0 +1,11 @@ +{ + lib, + callPackage, +}: + +callPackage ../package.nix { + pname = "git-msgraph"; + scripts = [ "git-msgraph" ]; + description = "Git helper to use Microsoft Graph API instead of SMTP to send emails"; + license = lib.licenses.asl20; +} diff --git a/pkgs/by-name/gi/git-credential-email/git-protonmail/default.nix b/pkgs/by-name/gi/git-credential-email/git-protonmail/default.nix new file mode 100644 index 000000000000..0e2b53f496d1 --- /dev/null +++ b/pkgs/by-name/gi/git-credential-email/git-protonmail/default.nix @@ -0,0 +1,11 @@ +{ + lib, + callPackage, +}: + +callPackage ../package.nix { + pname = "git-protonmail"; + scripts = [ "git-protonmail" ]; + description = "Git helper to use ProtonMail API to send emails"; + license = lib.licenses.gpl3Only; +} diff --git a/pkgs/by-name/gi/git-credential-email/package.nix b/pkgs/by-name/gi/git-credential-email/package.nix new file mode 100644 index 000000000000..0e853cd058d0 --- /dev/null +++ b/pkgs/by-name/gi/git-credential-email/package.nix @@ -0,0 +1,67 @@ +{ + lib, + python3Packages, + fetchFromGitHub, + withOpencv ? false, + withPyqt6 ? builtins.elem "git-protonmail" scripts, + withQrcode ? true, + pname ? "git-credential-email", + scripts ? [ + "git-credential-aol" + "git-credential-gmail" + "git-credential-outlook" + "git-credential-yahoo" + "git-msgraph" + "git-protonmail" + ], + description ? "Git credential helpers for Microsoft Outlook, Gmail, Yahoo, AOL and Proton Mail accounts", + license ? with lib.licenses; [ + asl20 + gpl3Only + ], +}: + +let + withProtonmail = builtins.elem "git-protonmail" scripts; +in +python3Packages.buildPythonApplication rec { + inherit pname; + version = "5.5.2"; + + src = fetchFromGitHub { + owner = "AdityaGarg8"; + repo = "git-credential-email"; + tag = "v${version}"; + hash = "sha256-N4w339MvIOronA4MKS4ipLpQt+0xo+JVbgKWFYP2zP0="; + }; + + dependencies = + with python3Packages; + [ + keyring + requests + ] + ++ lib.optionals withPyqt6 [ pyqt6 ] + ++ lib.optionals withQrcode [ qrcode ] + ++ lib.optionals withProtonmail [ + bcrypt + cryptography + pgpy + requests-toolbelt + typing-extensions + ] + ++ lib.optionals (withProtonmail && withOpencv) [ opencv4 ]; + + pyproject = false; + + installPhase = '' + install -D -t $out/bin ${lib.concatStringsSep " " scripts} + ''; + + meta = { + inherit description license; + homepage = "https://github.com/AdityaGarg8/git-credential-email"; + changelog = "https://github.com/AdityaGarg8/git-credential-email/releases/tag/${src.tag}"; + maintainers = with lib.maintainers; [ sephalon ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 03ccaa9d18c2..22ae8800e998 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -1224,6 +1224,18 @@ with pkgs; git-credential-manager = callPackage ../applications/version-management/git-credential-manager { }; + git-credential-aol = callPackage ../by-name/gi/git-credential-email/git-credential-aol { }; + + git-credential-gmail = callPackage ../by-name/gi/git-credential-email/git-credential-gmail { }; + + git-credential-outlook = callPackage ../by-name/gi/git-credential-email/git-credential-outlook { }; + + git-credential-yahoo = callPackage ../by-name/gi/git-credential-email/git-credential-yahoo { }; + + git-msgraph = callPackage ../by-name/gi/git-credential-email/git-msgraph { }; + + git-protonmail = callPackage ../by-name/gi/git-credential-email/git-protonmail { }; + gitRepo = git-repo; merge-fmt = callPackage ../applications/version-management/merge-fmt {