summaryrefslogtreecommitdiff
path: root/modules/launchd/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'modules/launchd/default.nix')
-rw-r--r--modules/launchd/default.nix51
1 files changed, 1 insertions, 50 deletions
diff --git a/modules/launchd/default.nix b/modules/launchd/default.nix
index dccddd0..8ff6933 100644
--- a/modules/launchd/default.nix
+++ b/modules/launchd/default.nix
@@ -35,56 +35,7 @@ let
config = {
serviceConfig.Label = mkDefault "org.nixos.${name}";
- plist = pkgs.writeText "${config.serviceConfig.Label}.plist" (''
- <?xml version="1.0" encoding="UTF-8"?>
- <!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
- <plist version="1.0">
- <dict>
- '' + xmlMapAttr xmlString "Label" config.serviceConfig.Label
- + xmlMapAttr xmlBool "Disabled" config.serviceConfig.Disabled
- + xmlMapAttr xmlString "UserName" config.serviceConfig.UserName
- + xmlMapAttr xmlString "GroupName" config.serviceConfig.GroupName
- + xmlMapAttr (xmlMapAttrs xmlBool) "inetdCompatibility" config.serviceConfig.inetdCompatibility
- + xmlMapAttr (xmlMap xmlString) "LimitLoadToHosts" config.serviceConfig.LimitLoadToHosts
- + xmlMapAttr (xmlMap xmlString) "LimitLoadFromHosts" config.serviceConfig.LimitLoadFromHosts
- + xmlMapAttr xmlString "LimitLoadToSessionType" config.serviceConfig.LimitLoadToSessionType
- + xmlMapAttr xmlString "Program" config.serviceConfig.Program
- + xmlMapAttr (xmlMap xmlString) "ProgramArguments" config.serviceConfig.ProgramArguments
- + xmlMapAttr xmlBool "EnableGlobbing" config.serviceConfig.EnableGlobbing
- + xmlMapAttr xmlBool "EnableTransactions" config.serviceConfig.EnableTransactions
- + xmlMapAttr xmlBool "OnDemand" config.serviceConfig.OnDemand
- + xmlMapAttr xmlBool "KeepAlive" config.serviceConfig.KeepAlive
- + xmlMapAttr xmlBool "RunAtLoad" config.serviceConfig.RunAtLoad
- + xmlMapAttr xmlString "RootDirectory" config.serviceConfig.RootDirectory
- + xmlMapAttr xmlString "WorkingDirectory" config.serviceConfig.WorkingDirectory
- + xmlMapAttr (xmlMapAttrs xmlString) "EnvironmentVariables" config.serviceConfig.EnvironmentVariables
- + xmlMapAttr xmlInt "Umask" config.serviceConfig.Umask
- + xmlMapAttr xmlInt "TimeOut" config.serviceConfig.TimeOut
- + xmlMapAttr xmlInt "ExitTimeOut" config.serviceConfig.ExitTimeOut
- + xmlMapAttr xmlInt "ThrottleInterval" config.serviceConfig.ThrottleInterval
- + xmlMapAttr xmlBool "InitGroups" config.serviceConfig.InitGroups
- + xmlMapAttr (xmlMap xmlString) "WatchPaths" config.serviceConfig.WatchPaths
- + xmlMapAttr (xmlMap xmlString) "QueueDirectories" config.serviceConfig.QueueDirectories
- + xmlMapAttr xmlBool "StartOnMount" config.serviceConfig.StartOnMount
- + xmlMapAttr xmlInt "StartInterval" config.serviceConfig.StartInterval
- + xmlMapAttr (xmlMapAttrs xmlInt) "StartCalendarInterval" config.serviceConfig.StartCalendarInterval
- + xmlMapAttr xmlString "StandardInPath" config.serviceConfig.StandardInPath
- + xmlMapAttr xmlString "StandardOutPath" config.serviceConfig.StandardOutPath
- + xmlMapAttr xmlString "StandardErrorPath" config.serviceConfig.StandardErrorPath
- + xmlMapAttr xmlBool "Debug" config.serviceConfig.Debug
- + xmlMapAttr xmlBool "WaitForDebugger" config.serviceConfig.WaitForDebugger
- + xmlMapAttr (xmlMapAttrs xmlInt) "SoftResourceLimits" config.serviceConfig.SoftResourceLimits
- + xmlMapAttr (xmlMapAttrs xmlInt) "HardResourceLimits" config.serviceConfig.HardResourceLimits
- + xmlMapAttr xmlInt "Nice" config.serviceConfig.Nice
- + xmlMapAttr xmlString "ProcessType" config.serviceConfig.ProcessType
- + xmlMapAttr xmlBool "AbandonProcessGroup" config.serviceConfig.AbandonProcessGroup
- + xmlMapAttr xmlBool "LowPriorityIO" config.serviceConfig.LowPriorityIO
- + xmlMapAttr xmlBool "LaunchOnlyOnce" config.serviceConfig.LaunchOnlyOnce
- + xmlMapAttr (xmlMapAttrs xmlBool) "MachServices" config.serviceConfig.MachServices
- + ''
- </dict>
- </plist>
- '');
+ plist = pkgs.writeText "${config.serviceConfig.Label}.plist" (toPLIST config.serviceConfig);
};
};