22 lines
703 B
Nix
22 lines
703 B
Nix
{ lib, createSynitDaemon }:
|
|
|
|
{ name, description, initialize, daemon, daemonArgs, instanceName, pidFile
|
|
, foregroundProcess, foregroundProcessArgs, path, environment, directory, umask
|
|
, nice, user, dependencies, credentials, overrides, postInstall }:
|
|
|
|
let
|
|
generatedTargetSpecificArgs = {
|
|
inherit name description environment directory dependencies;
|
|
|
|
argv = if daemon != null then
|
|
[ daemon ] ++ daemonArgs
|
|
else
|
|
[ foregroundProcess ] ++ foregroundProcessArgs;
|
|
};
|
|
|
|
targetSpecificArgs = if builtins.isFunction overrides then
|
|
overrides generatedTargetSpecificArgs
|
|
else
|
|
lib.recursiveUpdate generatedTargetSpecificArgs overrides;
|
|
in createSynitDaemon targetSpecificArgs
|