diff options
Diffstat (limited to 'modules/sunshine.nix')
| -rw-r--r-- | modules/sunshine.nix | 58 |
1 files changed, 47 insertions, 11 deletions
diff --git a/modules/sunshine.nix b/modules/sunshine.nix index 9384441..b705445 100644 --- a/modules/sunshine.nix +++ b/modules/sunshine.nix @@ -46,17 +46,53 @@ in PATH = "$(PATH):/run/current-system/sw/bin:/etc/profiles/per-user/${user}/bin:$(HOME)/.local/bin"; }; - apps = [ - # the app that moondeck will call when connecting via moonlight - { - name = "MoonDeckStream"; - cmd = "${auxiliaryPkgs.moondeck-buddy}/bin/MoonDeckStream"; - image-path = "${auxiliaryPkgs.moondeck-buddy}/share/icons/hicolor/256x256/apps/moondeckbuddy.png"; - exclude-global-prep-cmd = "false"; - elevated = "false"; - } - # + default applications, desktop, low-res desktop, steam big picture - ]; + apps = + let + command = + name: cmd: + getExe ( + pkgs.writeShellApplication { + inherit name; + runtimeInputs = with pkgs; [ + steam + util-linux + ]; + text = "sudo -u ${user} ${cmd}"; + } + ); + in + [ + # moondeck will call this app when connecting via moonlight, automatically + { + name = "MoonDeckStream"; + cmd = "${auxiliaryPkgs.moondeck-buddy}/bin/MoonDeckStream"; + image-path = "${auxiliaryPkgs.moondeck-buddy}/share/icons/hicolor/256x256/apps/moondeckbuddy.png"; + exclude-global-prep-cmd = "false"; + elevated = "false"; + } + + # other applications, called manually + { + name = "Desktop"; + image-path = "desktop.png"; + # empty commands will always simply open desktop + } + { + name = "Steam"; + image-path = "steam.png"; + detached = [ (command "sunshine-open-steam-bp" "steam steam://open/bigpicture") ]; + prep-cmd = [ + { + do = ""; + undo = command "sunshine-close-steam-bp" "steam steam://close/bigpicture"; # close up steam + } + ]; + # sunshine can't track the steam startup properly, so don't. + auto-detach = "true"; + wait-all = "true"; + exit-timeout = "5"; + } + ]; }; }; |
