···177 startLimitIntervalSec = 500;
178 startLimitBurst = 5;
17900180 serviceConfig = {
181 # only add configFile if an application or a setting other than the default port is set to allow configuration from web UI
182 ExecStart = escapeSystemdExecArgs (
···177 startLimitIntervalSec = 500;
178 startLimitBurst = 5;
179180+ environment.PATH = lib.mkForce null; # don't use default PATH, needed for tray icon menu links to work
181+182 serviceConfig = {
183 # only add configFile if an application or a setting other than the default port is set to allow configuration from web UI
184 ExecStart = escapeSystemdExecArgs (
+10-6
nixos/tests/sunshine.nix
···6 # test is flaky on aarch64
7 broken = pkgs.stdenv.hostPlatform.isAarch64;
8 maintainers = [ lib.maintainers.devusb ];
09 };
1011 nodes.sunshine =
···5859 # initiate pairing from moonlight
60 moonlight.execute("moonlight pair sunshine --pin 1234 >&2 & disown")
61- moonlight.wait_for_console_text("Executing request")
6263 # respond to pairing request from sunshine
64- sunshine.succeed("curl --insecure -u sunshine:sunshine -d '{\"pin\": \"1234\"}' https://localhost:47990/api/pin")
6566- # close moonlight once pairing complete
67- moonlight.send_key("kp_enter")
680069 # put words on the sunshine screen for moonlight to see
70- sunshine.execute("gxmessage 'hello world' -center -font 'sans 75' >&2 & disown")
7172 # connect to sunshine from moonlight and look for the words
73 moonlight.execute("moonlight --video-decoder software stream sunshine 'Desktop' >&2 & disown")
74- moonlight.wait_for_text("hello world")
075 '';
76 }
77)
···6 # test is flaky on aarch64
7 broken = pkgs.stdenv.hostPlatform.isAarch64;
8 maintainers = [ lib.maintainers.devusb ];
9+ timeout = 600;
10 };
1112 nodes.sunshine =
···5960 # initiate pairing from moonlight
61 moonlight.execute("moonlight pair sunshine --pin 1234 >&2 & disown")
62+ moonlight.wait_for_console_text("Executing request.*pair")
6364 # respond to pairing request from sunshine
65+ sunshine.succeed("curl --fail --insecure -u sunshine:sunshine -d '{\"pin\": \"1234\"}' https://localhost:47990/api/pin")
6667+ # wait until pairing is complete
68+ moonlight.wait_for_console_text("Executing request.*phrase=pairchallenge")
6970+ # hide icewm panel
71+ sunshine.send_key("ctrl-alt-h")
72 # put words on the sunshine screen for moonlight to see
73+ sunshine.execute("gxmessage ' ABC' -center -font 'consolas 100' -fg '#FFFFFF' -bg '#000000' -borderless -geometry '2000x2000' -buttons \"\" >&2 & disown")
7475 # connect to sunshine from moonlight and look for the words
76 moonlight.execute("moonlight --video-decoder software stream sunshine 'Desktop' >&2 & disown")
77+ moonlight.wait_for_console_text("Dropping window event during flush")
78+ moonlight.wait_for_text("ABC")
79 '';
80 }
81)
···62 fi
6364 # packages in the nix store should have an empty metadata file
65- used_source="$(jq -r '.source // ""' "$version"/.nupkg.metadata)"
66 found=false
6768 if [[ -z "$used_source" || -d "$used_source" ]]; then
···62 fi
6364 # packages in the nix store should have an empty metadata file
65+ used_source="$(jq -r 'if has("source") then .source else "" end' "$version"/.nupkg.metadata)"
66 found=false
6768 if [[ -z "$used_source" || -d "$used_source" ]]; then