in {
options.services.myGitolite = {
enable = lib.mkEnableOption "my gitolite service";
+ gitoliteDir = lib.mkOption {
+ type = lib.types.string;
+ default = "/var/lib/gitolite";
+ };
};
config = lib.mkIf cfg.enable {
});
};
+ services.gitDaemon = {
+ enable = true;
+ user = "gitolite";
+ group = "gitolite";
+ basePath = "${cfg.gitoliteDir}/repositories";
+ };
+
system.activationScripts.gitolite =
assert mylibs.checkEnv "NIXOPS_GITOLITE_LDAP_PASSWORD";
let
in {
deps = [ "users" ];
text = ''
- if [ -d /var/lib/gitolite ]; then
- ln -sf ${gitolite_ldap_groups} /var/lib/gitolite/gitolite_ldap_groups.sh
- chmod g+rx /var/lib/gitolite
+ if [ -d ${cfg.gitoliteDir} ]; then
+ ln -sf ${gitolite_ldap_groups} ${cfg.gitoliteDir}/gitolite_ldap_groups.sh
+ chmod g+rx ${cfg.gitoliteDir}
fi
- if [ -f /var/lib/gitolite/projects.list ]; then
- chmod g+r /var/lib/gitolite/projects.list
+ if [ -f ${cfg.gitoliteDir}/projects.list ]; then
+ chmod g+r ${cfg.gitoliteDir}/projects.list
fi
'';
};