nix-processmgmt/nixproc/create-managed-process/agnostic/generate-sysvinit-script.nix

33 lines
706 B
Nix

{ createSystemVInitScript, stdenv }:
{ name
, description
, initialize
, daemon
, daemonArgs
, instanceName
, pidFile
, foregroundProcess
, foregroundProcessArgs
, path
, environment
, directory
, umask
, nice
, user
, dependencies
, credentials
, overrides
}:
createSystemVInitScript (stdenv.lib.recursiveUpdate ({
inherit name description path environment directory umask nice dependencies credentials;
inherit instanceName initialize user;
process = if daemon != null then daemon else foregroundProcess;
processIsDaemon = daemon != null;
args = if daemon != null then daemonArgs else foregroundProcessArgs;
} // stdenv.lib.optionalAttrs (pidFile != null) {
inherit pidFile;
}) overrides)