diff options
| author | Daiderd Jordan <daiderd@gmail.com> | 2016-11-30 23:12:06 +0100 |
|---|---|---|
| committer | Daiderd Jordan <daiderd@gmail.com> | 2016-11-30 23:12:06 +0100 |
| commit | 7ac68a8629db70770f0c1086bb656c62725d05d8 (patch) | |
| tree | 580922f5140accf9dda5eec40712401dbef86781 /modules/launchd/default.nix | |
| parent | 4322078270dc54cfda8287a41ac9d6ee38ddb667 (diff) | |
launchd: properly generate plist files
Diffstat (limited to 'modules/launchd/default.nix')
| -rw-r--r-- | modules/launchd/default.nix | 51 |
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); }; }; |
