summaryrefslogtreecommitdiff
path: root/system
diff options
context:
space:
mode:
authorFreya Murphy <freya@freyacat.org>2026-05-25 16:14:41 -0400
committerFreya Murphy <freya@freyacat.org>2026-05-25 16:14:41 -0400
commit93ede2beed3258c2bcc02aff591c0a4404294035 (patch)
treedce806c52dd3930ccc47b092c928382db0fdcfe7 /system
parentdisable terrible bluetooth feature why does this exist (diff)
downloaddotfiles-nix-93ede2beed3258c2bcc02aff591c0a4404294035.tar.gz
dotfiles-nix-93ede2beed3258c2bcc02aff591c0a4404294035.tar.bz2
dotfiles-nix-93ede2beed3258c2bcc02aff591c0a4404294035.zip
expand gaming module with gamery things
Diffstat (limited to 'system')
-rw-r--r--system/default.nix10
-rw-r--r--system/desktop.nix11
-rw-r--r--system/gaming/default.nix23
-rw-r--r--system/gaming/steam.nix1
4 files changed, 41 insertions, 4 deletions
diff --git a/system/default.nix b/system/default.nix
index 62c8306..4bb2809 100644
--- a/system/default.nix
+++ b/system/default.nix
@@ -10,6 +10,9 @@
in {
imports = [
inputs.home-manager.nixosModules.home-manager
+ inputs.nix-gaming.nixosModules.platformOptimizations
+ inputs.nix-gaming.nixosModules.pipewireLowLatency
+ inputs.nix-gaming.nixosModules.wine
./desktops
./gaming
./virt
@@ -51,6 +54,8 @@ in {
(_: _: inputs.hyprland.packages.${system})
(_: _: inputs.hyprland-plugins.packages.${system})
(_: _: inputs.hy3.packages.${system})
+ # gaming
+ (_: _: inputs.nix-gaming.packages.${system})
# misc
(_: _: inputs.talc.packages.${system})
(_: _: inputs.apple-fonts.packages.${system})
@@ -130,7 +135,10 @@ in {
};
# use the latest kernel
- boot.kernelPackages = pkgs.linuxPackages_latest;
+ boot.kernelPackages =
+ if config.gaming.enable
+ then pkgs.linuxPackages_xanmod_latest
+ else pkgs.linuxPackages_latest;
# sysrq
boot.kernel.sysctl."kernel.sysrq" = 246;
diff --git a/system/desktop.nix b/system/desktop.nix
index 0c26fa6..aec5ba8 100644
--- a/system/desktop.nix
+++ b/system/desktop.nix
@@ -27,12 +27,14 @@ in {
# gtk portal?
programs.dconf.enable = true;
- # audio / video
+ # audio
services.pipewire = {
enable = true;
alsa.enable = true;
+ alsa.support32Bit = config.gaming.enable;
pulse.enable = true;
jack.enable = true;
+ lowLatency.enable = config.gaming.enable;
wireplumber = {
enable = true;
extraConfig = {
@@ -44,8 +46,13 @@ in {
};
};
};
- hardware.graphics.enable = true;
users.groups.audio.members = [config.user];
+
+ # video
+ hardware.graphics = {
+ enable = true;
+ enable32Bit = config.gaming.enable;
+ };
users.groups.video.members = [config.user];
# scheduling
diff --git a/system/gaming/default.nix b/system/gaming/default.nix
index 734ece0..ac04c6f 100644
--- a/system/gaming/default.nix
+++ b/system/gaming/default.nix
@@ -1,5 +1,26 @@
-_: {
+{
+ config,
+ lib,
+ pkgs,
+ ...
+}: let
+ inherit (lib) mkIf;
+ cfg = config.gaming;
+in {
imports = [
./steam.nix
];
+
+ config = mkIf cfg.enable {
+ programs.wine = {
+ enable = true;
+ package = pkgs.wineWow64Packages.staging;
+ binfmt = true;
+ ntsync = true;
+ };
+
+ environment.systemPackages = with pkgs; [
+ winetricks
+ ];
+ };
}
diff --git a/system/gaming/steam.nix b/system/gaming/steam.nix
index df65632..dd4fc50 100644
--- a/system/gaming/steam.nix
+++ b/system/gaming/steam.nix
@@ -26,6 +26,7 @@ in {
dedicatedServer.openFirewall = true;
localNetworkGameTransfers.openFirewall = true;
gamescopeSession.enable = true;
+ platformOptimizations.enable = config.gaming.enable;
# Fix new steam controller
extest.enable = true;