From cee657f9a338cb9fa7505fd02fb69e46449da16d Mon Sep 17 00:00:00 2001 From: Pavel Goran Date: Sat, 23 Sep 2017 14:56:26 +0700 Subject: [PATCH] nixos/gitolite: add enableGitAnnex option --- nixos/modules/services/misc/gitolite.nix | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/nixos/modules/services/misc/gitolite.nix b/nixos/modules/services/misc/gitolite.nix index 6bb8adeccf79..f395b9558b5a 100644 --- a/nixos/modules/services/misc/gitolite.nix +++ b/nixos/modules/services/misc/gitolite.nix @@ -41,6 +41,15 @@ in ''; }; + enableGitAnnex = mkOption { + type = types.bool; + default = false; + description = '' + Enable git-annex support. Uses the extraGitoliteRc option + to apply the necessary configuration. + ''; + }; + commonHooks = mkOption { type = types.listOf types.path; default = []; @@ -75,6 +84,8 @@ in will need to take any customizations you may have in ~/.gitolite.rc, convert them to appropriate Perl statements, add them to this option, and remove the file. + + See also the enableGitAnnex option. ''; }; @@ -124,6 +135,11 @@ in ''} >>"$out/gitolite.rc" ''; in { + services.gitolite.extraGitoliteRc = optionalString cfg.enableGitAnnex '' + # Enable git-annex support: + push( @{$RC{ENABLE}}, 'git-annex-shell ua'); + ''; + users.extraUsers.${cfg.user} = { description = "Gitolite user"; home = cfg.dataDir; @@ -198,6 +214,7 @@ in ''; }; - environment.systemPackages = [ pkgs.gitolite pkgs.git ]; + environment.systemPackages = [ pkgs.gitolite pkgs.git ] + ++ optional cfg.enableGitAnnex pkgs.gitAndTools.git-annex; }); }