refactor(nixos): move sunshine config to its own module
This commit is contained in:
parent
8165d96d7c
commit
4258046ccf
2 changed files with 23 additions and 15 deletions
|
@ -11,24 +11,9 @@ in
|
||||||
{
|
{
|
||||||
options.desktop.services = {
|
options.desktop.services = {
|
||||||
spotifyd.enable = mkEnableOption "";
|
spotifyd.enable = mkEnableOption "";
|
||||||
sunshine.enable = mkEnableOption "";
|
|
||||||
steam.enable = mkEnableOption "";
|
|
||||||
};
|
};
|
||||||
|
|
||||||
config = mkMerge [
|
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 {
|
(mkIf cfg.spotifyd.enable {
|
||||||
networking.firewall.allowedTCPPorts = [ 5353 ];
|
networking.firewall.allowedTCPPorts = [ 5353 ];
|
||||||
networking.firewall.allowedUDPPorts = [ 5353 ];
|
networking.firewall.allowedUDPPorts = [ 5353 ];
|
||||||
|
|
23
modules/nixos/desktop/services/sunshine/default.nix
Normal file
23
modules/nixos/desktop/services/sunshine/default.nix
Normal 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"; };
|
||||||
|
};
|
||||||
|
}
|
Loading…
Add table
Add a link
Reference in a new issue