您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符

default.nix 4.5KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183
  1. /* All git-relates tools live here, in a separate attribute set so that users
  2. * can get a fast overview over what's available.
  3. */
  4. args @ {config, lib, pkgs}: with args; with pkgs;
  5. let
  6. gitBase = callPackage ./git {
  7. svnSupport = false; # for git-svn support
  8. guiSupport = false; # requires tcl/tk
  9. sendEmailSupport = false; # requires plenty of perl libraries
  10. perlLibs = [perlPackages.LWP perlPackages.URI perlPackages.TermReadKey];
  11. smtpPerlLibs = [
  12. perlPackages.libnet perlPackages.NetSMTPSSL
  13. perlPackages.IOSocketSSL perlPackages.NetSSLeay
  14. perlPackages.AuthenSASL perlPackages.DigestHMAC
  15. ];
  16. };
  17. self = rec {
  18. # Try to keep this generally alphabetized
  19. bfg-repo-cleaner = callPackage ./bfg-repo-cleaner { };
  20. bitbucket-server-cli = callPackage ./bitbucket-server-cli { };
  21. darcsToGit = callPackage ./darcs-to-git { };
  22. delta = callPackage ./delta { };
  23. diff-so-fancy = callPackage ./diff-so-fancy { };
  24. ghq = callPackage ./ghq { };
  25. git = appendToName "minimal" gitBase;
  26. git-absorb = callPackage ./git-absorb {
  27. inherit (darwin.apple_sdk.frameworks) Security;
  28. };
  29. git-appraise = callPackage ./git-appraise {};
  30. git-fame = callPackage ./git-fame {};
  31. gita = python3Packages.callPackage ./gita {};
  32. # The full-featured Git.
  33. gitFull = gitBase.override {
  34. svnSupport = true;
  35. guiSupport = true;
  36. sendEmailSupport = !stdenv.isDarwin;
  37. withLibsecret = !stdenv.isDarwin;
  38. };
  39. # Git with SVN support, but without GUI.
  40. gitSVN = lowPrio (appendToName "with-svn" (gitBase.override {
  41. svnSupport = true;
  42. }));
  43. git-annex = pkgs.haskellPackages.git-annex;
  44. git-annex-metadata-gui = libsForQt5.callPackage ./git-annex-metadata-gui {
  45. inherit (python3Packages) buildPythonApplication pyqt5 git-annex-adapter;
  46. };
  47. git-annex-remote-b2 = callPackage ./git-annex-remote-b2 { };
  48. git-annex-remote-dbx = callPackage ./git-annex-remote-dbx {
  49. inherit (python3Packages)
  50. buildPythonApplication
  51. fetchPypi
  52. dropbox
  53. annexremote
  54. humanfriendly;
  55. };
  56. git-annex-remote-rclone = callPackage ./git-annex-remote-rclone { };
  57. git-bug = callPackage ./git-bug { };
  58. # support for bugzilla
  59. git-bz = callPackage ./git-bz { };
  60. git-codeowners = callPackage ./git-codeowners { };
  61. git-cola = callPackage ./git-cola { };
  62. git-crypt = callPackage ./git-crypt { };
  63. git-dit = callPackage ./git-dit {
  64. inherit (darwin.apple_sdk.frameworks) CoreFoundation Security;
  65. };
  66. git-extras = callPackage ./git-extras { };
  67. git-gone = callPackage ./git-gone {
  68. inherit (darwin.apple_sdk.frameworks) Security;
  69. };
  70. git-hub = callPackage ./git-hub { };
  71. git-ignore = callPackage ./git-ignore { };
  72. git-imerge = callPackage ./git-imerge { };
  73. git-octopus = callPackage ./git-octopus { };
  74. git-open = callPackage ./git-open { };
  75. git-radar = callPackage ./git-radar { };
  76. git-recent = callPackage ./git-recent {
  77. utillinux = if stdenv.isLinux then utillinuxMinimal else utillinux;
  78. };
  79. git-remote-hg = callPackage ./git-remote-hg { };
  80. git-reparent = callPackage ./git-reparent { };
  81. git-secret = callPackage ./git-secret { };
  82. git-secrets = callPackage ./git-secrets { };
  83. git-standup = callPackage ./git-standup { };
  84. git-stree = callPackage ./git-stree { };
  85. git-subrepo = callPackage ./git-subrepo { };
  86. git-sync = callPackage ./git-sync { };
  87. git-test = callPackage ./git-test { };
  88. git2cl = callPackage ./git2cl { };
  89. gitFastExport = callPackage ./fast-export { };
  90. gitRemoteGcrypt = callPackage ./git-remote-gcrypt { };
  91. gitflow = callPackage ./gitflow { };
  92. gitstatus = callPackage ./gitstatus { };
  93. grv = callPackage ./grv { };
  94. hub = callPackage ./hub {
  95. inherit (darwin) Security;
  96. };
  97. hubUnstable = throw "use gitAndTools.hub instead";
  98. lab = callPackage ./lab { };
  99. lefthook = callPackage ./lefthook { };
  100. pre-commit = pkgs.python3Packages.toPythonApplication pkgs.python3Packages.pre-commit;
  101. pass-git-helper = python3Packages.callPackage ./pass-git-helper { };
  102. qgit = qt5.callPackage ./qgit { };
  103. stgit = callPackage ./stgit {
  104. };
  105. subgit = callPackage ./subgit { };
  106. svn2git = callPackage ./svn2git {
  107. git = gitSVN;
  108. };
  109. svn-all-fast-export = libsForQt5.callPackage ./svn-all-fast-export { };
  110. tig = callPackage ./tig { };
  111. topGit = callPackage ./topgit { };
  112. transcrypt = callPackage ./transcrypt { };
  113. } // lib.optionalAttrs (config.allowAliases or true) (with self; {
  114. # aliases
  115. gitAnnex = git-annex;
  116. svn_all_fast_export = svn-all-fast-export;
  117. });
  118. in
  119. self