From 8ae075d84c5d81236dfa3dae95d870997f296b9c Mon Sep 17 00:00:00 2001 From: kenji Date: Wed, 9 Jul 2025 11:30:03 -0500 Subject: [PATCH] added sunshine --- hosts/hakase/configuration.nix | 2 +- modules/default/{appimage.nix => remote.nix} | 1 + packages/moondeck-buddy/appimage.nix | 62 ++++++++++++++++---- packages/sunshine/default.nix | 11 ++++ 4 files changed, 65 insertions(+), 11 deletions(-) rename modules/default/{appimage.nix => remote.nix} (63%) create mode 100644 packages/sunshine/default.nix diff --git a/hosts/hakase/configuration.nix b/hosts/hakase/configuration.nix index 59dd426..306d7a8 100644 --- a/hosts/hakase/configuration.nix +++ b/hosts/hakase/configuration.nix @@ -126,7 +126,7 @@ networking = { networkmanager.enable = true; firewall = { - enable = false; + enable = true; allowedTCPPorts = [22 80]; allowedUDPPorts = [53]; }; diff --git a/modules/default/appimage.nix b/modules/default/remote.nix similarity index 63% rename from modules/default/appimage.nix rename to modules/default/remote.nix index e574d0d..efd2ab2 100644 --- a/modules/default/appimage.nix +++ b/modules/default/remote.nix @@ -1,5 +1,6 @@ { imports = [ ../../packages/moondeck-buddy/appimage.nix + ../../packages/sunshine/default.nix ]; } diff --git a/packages/moondeck-buddy/appimage.nix b/packages/moondeck-buddy/appimage.nix index f3a5f9a..5f0e077 100644 --- a/packages/moondeck-buddy/appimage.nix +++ b/packages/moondeck-buddy/appimage.nix @@ -1,15 +1,57 @@ +# /etc/nixos/configuration.nix { - appimageTools, + config, + pkgs, + lib, fetchurl, + ... }: let - pname = "moondeck-buddy"; - version = "1.8.2"; + moondeckBuddyWrapped = pkgs.appimageTools.wrapType2 { + pname = "moondeck-buddy"; + version = "1.8.2"; - src = fetchurl { - url = "https://github.com/FrogTheFrog/moondeck-buddy/releases/download/v${version}/MoonDeckBuddy-${version}-x86_64.AppImage"; - hash = "sha256-he1uGC1M/nFcKpMM9JKY4oeexJcnzV0ZRxhTjtJz6xw="; + src = pkgs.fetchurl { + url = "https://github.com/FrogTheFrog/moondeck-buddy/releases/download/v1.8.2/MoonDeckBuddy-1.8.2-x86_64.AppImage"; + hash = "sha256-D+9XIi3pIwaAq22DGHWAUqKub778qHQSjCU0aIjXmYY="; # Don't forget to update this! + }; + + extraPkgs = pkgs: + with pkgs; [ + # Your extraPkgs here + ]; + + desktopItems = [ + (pkgs.makeDesktopItem { + name = "Moondeck Buddy"; + exec = "moondeck-buddy"; + icon = "applications-other"; + comment = "A Sunshine/Moondeck Buddy."; + categories = ["Utility" "Productivity"]; + }) + ]; + + meta = with lib; { + description = "Moondeck Buddy is an companion app for NVIDIA Sunshine/Moonlight."; + homepage = "https://github.com/FrogTheFrog/moondeck-buddy"; + license = licenses.gpl3Only; + platforms = platforms.linux; + mainProgram = "moondeck-buddy"; + }; }; -in - appimageTools.wrapType2 { - inherit pname version src; - } +in { + environment.systemPackages = with pkgs; [ + moondeckBuddyWrapped + ]; + + programs.appimage.enable = true; + programs.appimage.binfmt = true; + + # --- Firewall Configuration --- + networking.firewall.allowedTCPPorts = [ + 59999 # Allow Moondeck Buddy to listen on this port + ]; + # If Moondeck Buddy also needs UDP, uncomment and add it here: + # networking.firewall.allowedUDPPorts = [ + # 59999 + # ]; +} diff --git a/packages/sunshine/default.nix b/packages/sunshine/default.nix new file mode 100644 index 0000000..c51e610 --- /dev/null +++ b/packages/sunshine/default.nix @@ -0,0 +1,11 @@ +{pkgs, ...}: { + environment.systemPackages = with pkgs; [ + sunshine + ]; + services.sunshine = { + enable = true; + autoStart = true; + capSysAdmin = true; + openFirewall = true; + }; +}