nix-processmgmt-services/services-agnostic/svnserve/default.nix

37 lines
841 B
Nix

{createManagedProcess, lib, subversion, runtimeDir, forceDisableUserChange}:
{ instanceSuffix ? ""
, instanceName ? "svnserve${instanceSuffix}"
, port ? 3690
, svnBaseDir
, svnGroup
, postInstall ? ""
}:
let
pidFile = "${runtimeDir}/${instanceName}.pid";
in
createManagedProcess {
inherit instanceName postInstall;
initialize = ''
mkdir -p ${svnBaseDir}
${lib.optionalString (!forceDisableUserChange) ''
chgrp ${svnGroup} ${svnBaseDir}
''}
'';
process = "${subversion.out}/bin/svnserve";
args = [ "-r" svnBaseDir "--listen-port" port "--daemon" ];
foregroundProcessExtraArgs = ["--foreground" ];
daemonExtraArgs = [ "--pid-file" pidFile ];
overrides = {
synit = {
depends-on = [ "<service-state <milestone network> up>>" ];
};
sysvinit = {
runlevels = [ 3 4 5 ];
};
};
}