diff options
author | Freya Murphy <freya@freyacat.org> | 2025-06-23 22:33:44 -0400 |
---|---|---|
committer | Freya Murphy <freya@freyacat.org> | 2025-06-23 22:33:44 -0400 |
commit | 328c741b1aac74020412e99e0dca7c728dbc92fa (patch) | |
tree | 461f4ebcd3252d542749a34668defd62de356c73 /modules/gaming | |
parent | removed unused packages (diff) | |
download | dotfiles-nix-328c741b1aac74020412e99e0dca7c728dbc92fa.tar.gz dotfiles-nix-328c741b1aac74020412e99e0dca7c728dbc92fa.tar.bz2 dotfiles-nix-328c741b1aac74020412e99e0dca7c728dbc92fa.zip |
refactor
Diffstat (limited to '')
-rw-r--r-- | modules/gaming/default.nix | 19 | ||||
-rw-r--r-- | modules/gaming/homestuck.nix | 19 | ||||
-rw-r--r-- | modules/gaming/minecraft.nix | 17 | ||||
-rw-r--r-- | modules/gaming/steam.nix | 34 |
4 files changed, 89 insertions, 0 deletions
diff --git a/modules/gaming/default.nix b/modules/gaming/default.nix new file mode 100644 index 0000000..a0c826c --- /dev/null +++ b/modules/gaming/default.nix @@ -0,0 +1,19 @@ +{ + lib, + config, + ... +}: let + inherit (lib) mkEnableOption; +in { + imports = [ + ./homestuck.nix + ./minecraft.nix + ./steam.nix + ]; + + options.gaming = { + homestuck = mkEnableOption "Install the unofficial homestuck collection."; + minecraft = mkEnableOption "Install the minecraft block game."; + steam = mkEnableOption "Install the steam game launcher."; + }; +} diff --git a/modules/gaming/homestuck.nix b/modules/gaming/homestuck.nix new file mode 100644 index 0000000..12641a4 --- /dev/null +++ b/modules/gaming/homestuck.nix @@ -0,0 +1,19 @@ +{ + lib, + config, + pkgs, + inputs, + ... +}: let + inherit (lib) mkIf; + cfg = config.gaming; + system = pkgs.stdenv.hostPlatform.system; +in { + config = mkIf cfg.homestuck { + home-manager.users.${config.user} = { + home.packages = [ + inputs.self.packages.${system}.unofficial-homestuck-collection + ]; + }; + }; +} diff --git a/modules/gaming/minecraft.nix b/modules/gaming/minecraft.nix new file mode 100644 index 0000000..5de20e6 --- /dev/null +++ b/modules/gaming/minecraft.nix @@ -0,0 +1,17 @@ +{ + lib, + config, + pkgs, + ... +}: let + inherit (lib) mkIf; + cfg = config.gaming; +in { + config = mkIf cfg.minecraft { + home-manager.users.${config.user} = { + home.packages = with pkgs; [ + prismlauncher + ]; + }; + }; +} diff --git a/modules/gaming/steam.nix b/modules/gaming/steam.nix new file mode 100644 index 0000000..53ab252 --- /dev/null +++ b/modules/gaming/steam.nix @@ -0,0 +1,34 @@ +{ + lib, + config, + ... +}: let + inherit (lib) mkIf; + cfg = config.gaming; +in { + config = mkIf cfg.steam { + nixpkgs.config.allowUnfreePredicate = pkg: + builtins.elem (lib.getName pkg) [ + "steam" + "steam-original" + "steam-runtime" + ]; + + programs.gamescope = { + enable = true; + capSysNice = true; + }; + + programs.steam = { + enable = true; + remotePlay.openFirewall = true; + dedicatedServer.openFirewall = true; + localNetworkGameTransfers.openFirewall = true; + gamescopeSession.enable = true; + }; + + # controllers + hardware.xone.enable = true; + hardware.steam-hardware.enable = true; + }; +} |