summaryrefslogtreecommitdiff
path: root/os/srv/sunshine.nix
diff options
context:
space:
mode:
authoradikro <adikro@disroot.org>2026-04-19 14:22:05 +0200
committeradikro <adikro@disroot.org>2026-04-19 14:22:05 +0200
commit97eec64e5b301c9b25a31289ef909df2f2eb11e5 (patch)
tree8eabed219255d3a2c01b95d6217b3b41453c43fc /os/srv/sunshine.nix
parentc5e8dbead2c96d178e5cce2190581ca3e0381a8a (diff)
added sunshine and tailscale
Diffstat (limited to 'os/srv/sunshine.nix')
-rw-r--r--os/srv/sunshine.nix41
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
+ ];
+ })
+ ];
+}