From fdee07eb4d8f3fe87a88f749e34b4099c804824e Mon Sep 17 00:00:00 2001 From: Stefan Wiehler Date: Sat, 1 Nov 2025 09:58:55 +0100 Subject: [PATCH 1/2] git-credential-email: init at 5.5.2 --- .../git-credential-aol/default.nix | 14 ++++ .../git-credential-gmail/default.nix | 14 ++++ .../git-credential-outlook/default.nix | 14 ++++ .../git-credential-yahoo/default.nix | 14 ++++ .../git-msgraph/default.nix | 14 ++++ .../git-protonmail/default.nix | 14 ++++ .../gi/git-credential-email/package.nix | 67 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 12 ++++ 8 files changed, 163 insertions(+) create mode 100644 pkgs/by-name/gi/git-credential-email/git-credential-aol/default.nix create mode 100644 pkgs/by-name/gi/git-credential-email/git-credential-gmail/default.nix create mode 100644 pkgs/by-name/gi/git-credential-email/git-credential-outlook/default.nix create mode 100644 pkgs/by-name/gi/git-credential-email/git-credential-yahoo/default.nix create mode 100644 pkgs/by-name/gi/git-credential-email/git-msgraph/default.nix create mode 100644 pkgs/by-name/gi/git-credential-email/git-protonmail/default.nix create mode 100644 pkgs/by-name/gi/git-credential-email/package.nix 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..e6e59e22977c --- /dev/null +++ b/pkgs/by-name/gi/git-credential-email/git-credential-aol/default.nix @@ -0,0 +1,14 @@ +{ + lib, + callPackage, +}: + +let + script = "git-credential-aol"; +in +callPackage ../package.nix { + pname = script; + scripts = [ script ]; + 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..e1de10dbb148 --- /dev/null +++ b/pkgs/by-name/gi/git-credential-email/git-credential-gmail/default.nix @@ -0,0 +1,14 @@ +{ + lib, + callPackage, +}: + +let + script = "git-credential-gmail"; +in +callPackage ../package.nix { + pname = script; + scripts = [ script ]; + 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..5e9dea67c528 --- /dev/null +++ b/pkgs/by-name/gi/git-credential-email/git-credential-outlook/default.nix @@ -0,0 +1,14 @@ +{ + lib, + callPackage, +}: + +let + script = "git-credential-outlook"; +in +callPackage ../package.nix { + pname = script; + scripts = [ script ]; + 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..a5a3fccde364 --- /dev/null +++ b/pkgs/by-name/gi/git-credential-email/git-credential-yahoo/default.nix @@ -0,0 +1,14 @@ +{ + lib, + callPackage, +}: + +let + script = "git-credential-yahoo"; +in +callPackage ../package.nix { + pname = script; + scripts = [ script ]; + 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..5d6403c6936e --- /dev/null +++ b/pkgs/by-name/gi/git-credential-email/git-msgraph/default.nix @@ -0,0 +1,14 @@ +{ + lib, + callPackage, +}: + +let + script = "git-msgraph"; +in +callPackage ../package.nix { + pname = script; + scripts = [ script ]; + 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..ca4999b02abe --- /dev/null +++ b/pkgs/by-name/gi/git-credential-email/git-protonmail/default.nix @@ -0,0 +1,14 @@ +{ + lib, + callPackage, +}: + +let + script = "git-protonmail"; +in +callPackage ../package.nix { + pname = script; + scripts = [ script ]; + 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..088332fc6bf9 --- /dev/null +++ b/pkgs/by-name/gi/git-credential-email/package.nix @@ -0,0 +1,67 @@ +{ + lib, + python3Packages, + fetchFromGitHub, + withOpencv ? false, + withPyqt6 ? if builtins.elem "git-protonmail" scripts then true else false, + 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 = rec { + inherit description license; + homepage = "https://github.com/AdityaGarg8/git-credential-email"; + changelog = "${homepage}/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 f8fd9d837a60..879d17701d9d 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -1237,6 +1237,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 { From c541710bb2c72591a55e424870be438c4e948598 Mon Sep 17 00:00:00 2001 From: sephalon Date: Sun, 23 Nov 2025 18:05:32 +0100 Subject: [PATCH 2/2] Apply suggestions from code review Co-authored-by: Sandro --- .../gi/git-credential-email/git-credential-aol/default.nix | 7 ++----- .../git-credential-email/git-credential-gmail/default.nix | 7 ++----- .../git-credential-outlook/default.nix | 7 ++----- .../git-credential-email/git-credential-yahoo/default.nix | 7 ++----- .../gi/git-credential-email/git-msgraph/default.nix | 7 ++----- .../gi/git-credential-email/git-protonmail/default.nix | 7 ++----- pkgs/by-name/gi/git-credential-email/package.nix | 6 +++--- 7 files changed, 15 insertions(+), 33 deletions(-) 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 index e6e59e22977c..3a5409093f6b 100644 --- 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 @@ -3,12 +3,9 @@ callPackage, }: -let - script = "git-credential-aol"; -in callPackage ../package.nix { - pname = script; - scripts = [ script ]; + 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 index e1de10dbb148..1ceedb5bc7c6 100644 --- 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 @@ -3,12 +3,9 @@ callPackage, }: -let - script = "git-credential-gmail"; -in callPackage ../package.nix { - pname = script; - scripts = [ script ]; + 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 index 5e9dea67c528..a73a1001a0e3 100644 --- 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 @@ -3,12 +3,9 @@ callPackage, }: -let - script = "git-credential-outlook"; -in callPackage ../package.nix { - pname = script; - scripts = [ script ]; + 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 index a5a3fccde364..038edad27a18 100644 --- 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 @@ -3,12 +3,9 @@ callPackage, }: -let - script = "git-credential-yahoo"; -in callPackage ../package.nix { - pname = script; - scripts = [ script ]; + 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 index 5d6403c6936e..2de1cd6ee85b 100644 --- a/pkgs/by-name/gi/git-credential-email/git-msgraph/default.nix +++ b/pkgs/by-name/gi/git-credential-email/git-msgraph/default.nix @@ -3,12 +3,9 @@ callPackage, }: -let - script = "git-msgraph"; -in callPackage ../package.nix { - pname = script; - scripts = [ script ]; + 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 index ca4999b02abe..0e2b53f496d1 100644 --- a/pkgs/by-name/gi/git-credential-email/git-protonmail/default.nix +++ b/pkgs/by-name/gi/git-credential-email/git-protonmail/default.nix @@ -3,12 +3,9 @@ callPackage, }: -let - script = "git-protonmail"; -in callPackage ../package.nix { - pname = script; - scripts = [ script ]; + 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 index 088332fc6bf9..0e853cd058d0 100644 --- a/pkgs/by-name/gi/git-credential-email/package.nix +++ b/pkgs/by-name/gi/git-credential-email/package.nix @@ -3,7 +3,7 @@ python3Packages, fetchFromGitHub, withOpencv ? false, - withPyqt6 ? if builtins.elem "git-protonmail" scripts then true else false, + withPyqt6 ? builtins.elem "git-protonmail" scripts, withQrcode ? true, pname ? "git-credential-email", scripts ? [ @@ -58,10 +58,10 @@ python3Packages.buildPythonApplication rec { install -D -t $out/bin ${lib.concatStringsSep " " scripts} ''; - meta = rec { + meta = { inherit description license; homepage = "https://github.com/AdityaGarg8/git-credential-email"; - changelog = "${homepage}/releases/tag/${src.tag}"; + changelog = "https://github.com/AdityaGarg8/git-credential-email/releases/tag/${src.tag}"; maintainers = with lib.maintainers; [ sephalon ]; }; }