diff --git a/nixos/modules/services/misc/gitolite.nix b/nixos/modules/services/misc/gitolite.nix
index 961af48e0f8..462b68aa0a1 100644
--- a/nixos/modules/services/misc/gitolite.nix
+++ b/nixos/modules/services/misc/gitolite.nix
@@ -15,14 +15,21 @@ in
default = false;
description = ''
Enable gitolite management under the
- gitolite user. The Gitolite home
- directory is /var/lib/gitolite. After
+ gitolite user. After
switching to a configuration with Gitolite enabled, you can
then run git clone
gitolite@host:gitolite-admin.git to manage it further.
'';
};
+ dataDir = mkOption {
+ type = types.str;
+ default = "/var/lib/gitolite";
+ description = ''
+ Gitolite home directory (used to store all the repositories).
+ '';
+ };
+
adminPubkey = mkOption {
type = types.str;
description = ''
@@ -45,7 +52,7 @@ in
config = mkIf cfg.enable {
users.extraUsers.gitolite = {
description = "Gitolite user";
- home = "/var/lib/gitolite";
+ home = cfg.dataDir;
createHome = true;
uid = config.ids.uids.gitolite;
useDefaultShell = true;
@@ -61,7 +68,7 @@ in
path = [ pkgs.gitolite pkgs.git pkgs.perl pkgs.bash pkgs.openssh ];
script = ''
- cd /var/lib/gitolite
+ cd ${cfg.dataDir}
mkdir -p .gitolite/logs
if [ ! -d repositories ]; then
gitolite setup -pk ${pubkeyFile}