diff options
| author | adikro <adikro@disroot.org> | 2026-04-19 14:22:05 +0200 |
|---|---|---|
| committer | adikro <adikro@disroot.org> | 2026-04-19 14:22:05 +0200 |
| commit | 97eec64e5b301c9b25a31289ef909df2f2eb11e5 (patch) | |
| tree | 8eabed219255d3a2c01b95d6217b3b41453c43fc /os/srv/sunshine.nix | |
| parent | c5e8dbead2c96d178e5cce2190581ca3e0381a8a (diff) | |
added sunshine and tailscale
Diffstat (limited to 'os/srv/sunshine.nix')
| -rw-r--r-- | os/srv/sunshine.nix | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/os/srv/sunshine.nix b/os/srv/sunshine.nix new file mode 100644 index 0000000..f1d4300 --- /dev/null +++ b/os/srv/sunshine.nix @@ -0,0 +1,41 @@ +{ + config, + lib, + pkgs, + username, + ... +}: +let + cfgSunshine = config.os.srv.sunshine; + cfgMoonlight = config.os.srv.moonlight; +in +{ + options.os.srv = { + sunshine.enable = lib.mkEnableOption "enables sunshine streaming server"; + moonlight.enable = lib.mkEnableOption "enables moonlight streaming client"; + }; + + config = lib.mkMerge [ + (lib.mkIf cfgSunshine.enable { + services.sunshine = { + enable = true; + capSysAdmin = true; + openFirewall = true; + }; + + hardware.uinput.enable = true; + + users.users.${username}.extraGroups = [ + "video" + "input" + "render" + ]; + }) + + (lib.mkIf cfgMoonlight.enable { + environment.systemPackages = [ + pkgs.moonlight-qt + ]; + }) + ]; +} |
