summaryrefslogtreecommitdiff
path: root/os/srv/gaming.nix
diff options
context:
space:
mode:
authoradikro <adikro@disroot.org>2025-12-24 16:21:00 +0100
committeradikro <adikro@disroot.org>2025-12-24 16:21:00 +0100
commit6aaa5993e4c1cfb205ed555d958702f9bba1770d (patch)
tree3af8cf20967cf10542edd2e51232b1da70002fde /os/srv/gaming.nix
parent2ceabfd1d1dc03ca895e960048b73a82e29e45e8 (diff)
a bunch of changes, renames sys to os and refactored some of the logic
Diffstat (limited to 'os/srv/gaming.nix')
-rw-r--r--os/srv/gaming.nix50
1 files changed, 50 insertions, 0 deletions
diff --git a/os/srv/gaming.nix b/os/srv/gaming.nix
new file mode 100644
index 0000000..ee7f608
--- /dev/null
+++ b/os/srv/gaming.nix
@@ -0,0 +1,50 @@
+{ config, lib, pkgs, username, ... }:
+let
+ cfg = config.sys.srv.gaming;
+in
+{
+ options.sys.srv.gaming = {
+ enable = lib.mkEnableOption "enables gaming utilities";
+ steam.enable = lib.mkEnableOption "enables steam utilities";
+ vr.enable = lib.mkEnableOption "enables vr support";
+ };
+ config = lib.mkMerge [
+ (lib.mkIf cfg.enable {
+ programs.gamescope.enable = true;
+
+ programs.gamemode = {
+ enable = true;
+ enableRenice = true;
+ };
+
+ environment.systemPackages = with pkgs; [
+ heroic
+ prismlauncher
+ ];
+
+ home-manager.users.${username}.hm.soft.mangohud.enable = true;
+ })
+
+ (lib.mkIf cfg.steam.enable {
+ programs.steam = {
+ enable = true;
+ localNetworkGameTransfers.openFirewall = true;
+ dedicatedServer.openFirewall = true;
+ remotePlay.openFirewall = false;
+ extest.enable = true;
+ protontricks.enable = true;
+
+ extraCompatPackages = with pkgs; [
+ proton-ge-custom
+ ];
+ };
+ })
+
+ (lib.mkIf cfg.vr.enable {
+ programs.alvr = {
+ enable = true;
+ openFirewall = true;
+ };
+ })
+ ];
+}