2025-05-04 02:47:36 +02:00
|
|
|
{
|
|
|
|
|
config,
|
|
|
|
|
lib,
|
|
|
|
|
...
|
|
|
|
|
}:
|
|
|
|
|
with lib; let
|
2025-08-15 21:33:22 +02:00
|
|
|
cfg = config.mySystem.services.sunshine;
|
2025-05-04 02:47:36 +02:00
|
|
|
in {
|
2025-08-15 21:33:22 +02:00
|
|
|
options.mySystem.services.sunshine = {
|
2025-07-05 00:02:39 +02:00
|
|
|
enable = mkEnableOption "Enables Sunshine";
|
2025-05-04 02:47:36 +02:00
|
|
|
autostart = mkEnableOption "Enables autostart";
|
|
|
|
|
};
|
|
|
|
|
config.services.sunshine = mkIf cfg.enable {
|
2025-07-05 00:02:39 +02:00
|
|
|
inherit (cfg) enable;
|
2025-05-04 02:47:36 +02:00
|
|
|
autoStart = cfg.autostart;
|
|
|
|
|
capSysAdmin = true;
|
|
|
|
|
openFirewall = true;
|
2026-02-08 00:20:44 +01:00
|
|
|
settings = {
|
|
|
|
|
sunshine_name = config.mySystem.networking.hostname;
|
|
|
|
|
locale = "en_GB";
|
|
|
|
|
system_tray = "enabled";
|
|
|
|
|
output_name = 1;
|
|
|
|
|
};
|
2026-02-24 02:02:59 +01:00
|
|
|
applications.apps = let
|
|
|
|
|
defaultPrep = [
|
|
|
|
|
{
|
|
|
|
|
do = "sh -c \"hyprctl -i 0 keyword monitor \\\"DP-2,\${SUNSHINE_CLIENT_WIDTH}x\${SUNSHINE_CLIENT_HEIGHT}@\${SUNSHINE_CLIENT_FPS},0x0,1\\\"\"";
|
|
|
|
|
undo = "sh -c \"hyprctl -i 0 keyword monitor 'DP-2,2560x1080@60,0x0,1,transform,1'\"";
|
|
|
|
|
}
|
|
|
|
|
];
|
|
|
|
|
in [
|
2025-09-03 11:45:12 +02:00
|
|
|
{
|
|
|
|
|
name = "Desktop";
|
|
|
|
|
image-path = "desktop.png";
|
2026-02-24 02:02:59 +01:00
|
|
|
prep-cmd = defaultPrep;
|
2025-09-03 11:45:12 +02:00
|
|
|
}
|
|
|
|
|
{
|
|
|
|
|
name = "Low Res Desktop";
|
|
|
|
|
image-path = "desktop.png";
|
2026-02-24 02:02:59 +01:00
|
|
|
prep-cmd = defaultPrep;
|
2025-09-03 11:45:12 +02:00
|
|
|
}
|
|
|
|
|
{
|
|
|
|
|
name = "Steam Big Picture";
|
|
|
|
|
detached = ["setsid steam steam://open/bigpicture"];
|
2026-02-24 02:02:59 +01:00
|
|
|
prep-cmd = defaultPrep;
|
2025-09-03 11:45:12 +02:00
|
|
|
image-path = "steam.png";
|
|
|
|
|
}
|
|
|
|
|
{
|
|
|
|
|
name = "OpenTTD";
|
|
|
|
|
cmd = "openttd";
|
|
|
|
|
image-path = "/home/phundrak/.config/sunshine/covers/igdb_18074.png";
|
2026-02-24 02:02:59 +01:00
|
|
|
prep-cmd = defaultPrep;
|
2025-09-03 11:45:12 +02:00
|
|
|
}
|
|
|
|
|
{
|
|
|
|
|
name = "OpenMW";
|
|
|
|
|
cmd = "openmw";
|
2026-02-08 00:20:44 +01:00
|
|
|
image-path = "/home/phundrak/.config/sunshine/covers/igdb_24775.png";
|
2026-02-24 02:02:59 +01:00
|
|
|
prep-cmd = defaultPrep;
|
2026-02-08 00:20:44 +01:00
|
|
|
}
|
|
|
|
|
{
|
|
|
|
|
name = "Vintage Story";
|
|
|
|
|
cmd = "flatpak run at.vintagestory.VintageStory";
|
|
|
|
|
image-path = "/home/phundrak/.config/sunshine/covers/igdb_69547.png";
|
2026-02-24 02:02:59 +01:00
|
|
|
prep-cmd = defaultPrep;
|
2025-09-03 11:45:12 +02:00
|
|
|
}
|
|
|
|
|
];
|
2025-05-04 02:47:36 +02:00
|
|
|
};
|
|
|
|
|
}
|