7 , git-credential-manager
11 , withLibsecretSupport ? true
12 , withGpgSupport ? true
15 buildDotnetModule rec {
16 pname = "git-credential-manager";
19 src = fetchFromGitHub {
20 owner = "git-ecosystem";
21 repo = "git-credential-manager";
23 hash = "sha256-8hjMtfPY/7cNH8WdHyG4kT2W+wGWteHbin1HgTBGiNQ=";
26 projectFile = "src/shared/Git-Credential-Manager/Git-Credential-Manager.csproj";
27 nugetDeps = ./deps.nix;
28 dotnet-sdk = dotnetCorePackages.sdk_8_0;
29 dotnet-runtime = dotnetCorePackages.runtime_8_0;
30 dotnetInstallFlags = [ "--framework" "net8.0" ];
31 executables = [ "git-credential-manager" ];
34 lib.optional withLibsecretSupport libsecret;
36 "--prefix PATH : ${lib.makeBinPath ([ git ] ++ lib.optionals withGpgSupport [ gnupg pass ])}"
41 updateScript = ./update.sh;
42 tests.version = testers.testVersion {
43 package = git-credential-manager;
48 description = "Secure, cross-platform Git credential storage with authentication to GitHub, Azure Repos, and other popular Git hosting services";
49 homepage = "https://github.com/git-ecosystem/git-credential-manager";
50 license = with licenses; [ mit ];
51 platforms = platforms.unix;
52 maintainers = with maintainers; [ _999eagle ];
54 git-credential-manager is a secure, cross-platform Git credential storage with authentication to GitHub, Azure Repos, and other popular Git hosting services.
56 > requires sandbox to be disabled on MacOS, so that
57 .NET can find `/usr/bin/codesign` to sign the compiled binary.
58 This problem is common to all .NET packages on MacOS with Nix.
60 mainProgram = "git-credential-manager";