lol

nixos/unifi: Switch command line args to a list

There's no functionality change here, but this makes it a bit more
convenient to add more args.

+13 -12
+13 -12
nixos/modules/services/networking/unifi.nix
··· 2 2 let 3 3 cfg = config.services.unifi; 4 4 stateDir = "/var/lib/unifi"; 5 - cmd = '' 6 - @${cfg.jrePackage}/bin/java java \ 7 - ${lib.optionalString (lib.versionAtLeast (lib.getVersion cfg.jrePackage) "16") 8 - ("--add-opens java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.time=ALL-UNNAMED " 9 - + "--add-opens java.base/sun.security.util=ALL-UNNAMED --add-opens java.base/java.io=ALL-UNNAMED " 10 - + "--add-opens java.rmi/sun.rmi.transport=ALL-UNNAMED")} \ 11 - ${lib.optionalString (cfg.initialJavaHeapSize != null) "-Xms${(toString cfg.initialJavaHeapSize)}m"} \ 12 - ${lib.optionalString (cfg.maximumJavaHeapSize != null) "-Xmx${(toString cfg.maximumJavaHeapSize)}m"} \ 13 - -jar ${stateDir}/lib/ace.jar 14 - ''; 5 + cmd = lib.escapeShellArgs ([ "@${cfg.jrePackage}/bin/java" "java" ] 6 + ++ lib.optionals (lib.versionAtLeast (lib.getVersion cfg.jrePackage) "16") [ 7 + "--add-opens=java.base/java.lang=ALL-UNNAMED" 8 + "--add-opens=java.base/java.time=ALL-UNNAMED" 9 + "--add-opens=java.base/sun.security.util=ALL-UNNAMED" 10 + "--add-opens=java.base/java.io=ALL-UNNAMED" 11 + "--add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED" 12 + ] 13 + ++ (lib.optional (cfg.initialJavaHeapSize != null) "-Xms${(toString cfg.initialJavaHeapSize)}m") 14 + ++ (lib.optional (cfg.maximumJavaHeapSize != null) "-Xmx${(toString cfg.maximumJavaHeapSize)}m") 15 + ++ [ "-jar" "${stateDir}/lib/ace.jar" ]); 15 16 in 16 17 { 17 18 ··· 122 123 123 124 serviceConfig = { 124 125 Type = "simple"; 125 - ExecStart = "${(lib.removeSuffix "\n" cmd)} start"; 126 - ExecStop = "${(lib.removeSuffix "\n" cmd)} stop"; 126 + ExecStart = "${cmd} start"; 127 + ExecStop = "${cmd} stop"; 127 128 Restart = "on-failure"; 128 129 TimeoutSec = "5min"; 129 130 User = "unifi";