From af7226d30e3e2ec8b072b6b8e4db241266dde434 Mon Sep 17 00:00:00 2001 From: Mohammad Rafiq Date: Sat, 14 Jun 2025 18:35:28 +0800 Subject: [PATCH] feat(desktop): move prism-launcher and steam config to nixos gaming module --- homes/x86_64-linux/rafiq/desktop/misc.nix | 2 -- modules/nixos/desktop/gaming/default.nix | 37 ++++++++++++++++++++++ modules/nixos/desktop/services/default.nix | 7 ---- systems/x86_64-linux/nemesis/default.nix | 5 ++- 4 files changed, 41 insertions(+), 10 deletions(-) create mode 100644 modules/nixos/desktop/gaming/default.nix diff --git a/homes/x86_64-linux/rafiq/desktop/misc.nix b/homes/x86_64-linux/rafiq/desktop/misc.nix index 27f2e7f..ecac1d3 100644 --- a/homes/x86_64-linux/rafiq/desktop/misc.nix +++ b/homes/x86_64-linux/rafiq/desktop/misc.nix @@ -5,7 +5,6 @@ "repos" "vids" "tmp" - ".local/share/PrismLauncher" ]; programs = { obs-studio.enable = true; @@ -14,6 +13,5 @@ }; home.packages = with pkgs; [ stremio - prismlauncher ]; } diff --git a/modules/nixos/desktop/gaming/default.nix b/modules/nixos/desktop/gaming/default.nix new file mode 100644 index 0000000..a6e4443 --- /dev/null +++ b/modules/nixos/desktop/gaming/default.nix @@ -0,0 +1,37 @@ +{ + config, + lib, + pkgs, + ... +}: +let + inherit (lib) + mkEnableOption + mkIf + mkMerge + singleton + ; + cfg = config.desktop.gaming; +in +{ + options.desktop.gaming = { + steam.enable = mkEnableOption ""; + prism-launcher.enable = mkEnableOption ""; + }; + + config = mkMerge [ + (mkIf cfg.steam.enable { + programs.steam = { + enable = true; + gamescopeSession.enable = true; + }; + home-manager.sharedModules = singleton { persistDirs = singleton ".local/share/Steam"; }; + }) + (mkIf cfg.prism-launcher.enable { + home-manager.sharedModules = singleton { + home.packages = singleton pkgs.prismlauncher; + persistDirs = singleton ".local/share/PrismLauncher"; + }; + }) + ]; +} diff --git a/modules/nixos/desktop/services/default.nix b/modules/nixos/desktop/services/default.nix index b9018d6..f993b41 100644 --- a/modules/nixos/desktop/services/default.nix +++ b/modules/nixos/desktop/services/default.nix @@ -41,12 +41,5 @@ in }; }; }) - (mkIf cfg.steam.enable { - programs.steam = { - enable = true; - gamescopeSession.enable = true; - }; - home-manager.sharedModules = singleton { persistDirs = singleton ".local/share/Steam"; }; - }) ]; } diff --git a/systems/x86_64-linux/nemesis/default.nix b/systems/x86_64-linux/nemesis/default.nix index 8a304d2..c9dfaa6 100644 --- a/systems/x86_64-linux/nemesis/default.nix +++ b/systems/x86_64-linux/nemesis/default.nix @@ -22,8 +22,11 @@ desktop = { browser.tor-browser.enable = true; - services = { + gaming = { + prism-launcher.enable = true; steam.enable = true; + }; + services = { sunshine.enable = true; spotifyd.enable = true; };