Merge pull request #4773 from abbradar/gitolite-home

gitolite: 'dataDir' option
This commit is contained in:
lethalman 2014-11-02 00:30:26 +01:00
commit d3646532cc

View File

@ -15,14 +15,21 @@ in
default = false; default = false;
description = '' description = ''
Enable gitolite management under the Enable gitolite management under the
<literal>gitolite</literal> user. The Gitolite home <literal>gitolite</literal> user. After
directory is <literal>/var/lib/gitolite</literal>. After
switching to a configuration with Gitolite enabled, you can switching to a configuration with Gitolite enabled, you can
then run <literal>git clone then run <literal>git clone
gitolite@host:gitolite-admin.git</literal> to manage it further. gitolite@host:gitolite-admin.git</literal> 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 { adminPubkey = mkOption {
type = types.str; type = types.str;
description = '' description = ''
@ -45,7 +52,7 @@ in
config = mkIf cfg.enable { config = mkIf cfg.enable {
users.extraUsers.gitolite = { users.extraUsers.gitolite = {
description = "Gitolite user"; description = "Gitolite user";
home = "/var/lib/gitolite"; home = cfg.dataDir;
createHome = true; createHome = true;
uid = config.ids.uids.gitolite; uid = config.ids.uids.gitolite;
useDefaultShell = true; useDefaultShell = true;
@ -61,7 +68,7 @@ in
path = [ pkgs.gitolite pkgs.git pkgs.perl pkgs.bash pkgs.openssh ]; path = [ pkgs.gitolite pkgs.git pkgs.perl pkgs.bash pkgs.openssh ];
script = '' script = ''
cd /var/lib/gitolite cd ${cfg.dataDir}
mkdir -p .gitolite/logs mkdir -p .gitolite/logs
if [ ! -d repositories ]; then if [ ! -d repositories ]; then
gitolite setup -pk ${pubkeyFile} gitolite setup -pk ${pubkeyFile}