refactor(nixos): move sunshine config to its own module

This commit is contained in:
Mohammad Rafiq 2025-06-16 20:08:10 +08:00
parent 8165d96d7c
commit 4258046ccf
No known key found for this signature in database
2 changed files with 23 additions and 15 deletions

View file

@ -11,24 +11,9 @@ in
{
options.desktop.services = {
spotifyd.enable = mkEnableOption "";
sunshine.enable = mkEnableOption "";
steam.enable = mkEnableOption "";
};
config = mkMerge [
(mkIf cfg.sunshine.enable {
services.sunshine = {
enable = true;
capSysAdmin = true;
openFirewall = true;
settings = {
sunshine_name = config.hostname;
origin_web_ui_allowed = "wan";
};
applications = { };
};
home-manager.sharedModules = singleton { persistDirs = singleton ".config/sunshine"; };
})
(mkIf cfg.spotifyd.enable {
networking.firewall.allowedTCPPorts = [ 5353 ];
networking.firewall.allowedUDPPorts = [ 5353 ];

View file

@ -0,0 +1,23 @@
{ config, lib, ... }:
let
inherit (lib) singleton mkIf mkEnableOption;
cfg = config.desktop.services.sunshine;
in
{
options.desktop.services.sunshine = {
enable = mkEnableOption "";
};
config = mkIf cfg.enable {
services.sunshine = {
enable = true;
capSysAdmin = true;
openFirewall = true;
settings = {
sunshine_name = config.hostname;
origin_web_ui_allowed = "wan";
};
applications = { };
};
home-manager.sharedModules = singleton { persistDirs = singleton ".config/sunshine"; };
};
}