diff --git a/home-manager/home.nix b/home-manager/home.nix index d3cf1435..7e49805e 100644 --- a/home-manager/home.nix +++ b/home-manager/home.nix @@ -15,7 +15,6 @@ ./gtk ./shell ./firefox - ./steam ]; nixpkgs = { diff --git a/home-manager/steam/default.nix b/home-manager/steam/default.nix index 5ce90bde..6d919295 100644 --- a/home-manager/steam/default.nix +++ b/home-manager/steam/default.nix @@ -1,61 +1,23 @@ +{ pkgs, ... }: { - pkgs, - lib, - config, - ... -}: -let - steam-with-pkgs = pkgs.steam.override { - extraPkgs = - pkgs: with pkgs; [ - xorg.libXcursor - xorg.libXi - xorg.libXinerama - xorg.libXScrnSaver - libpng - libpulseaudio - libvorbis - stdenv.cc.cc.lib - libkrb5 - keyutils - gamescope - mangohud - ]; + programs.steam = { + enable = true; + package = pkgs.steam.override { + extraPkgs = + pkgs: with pkgs; [ + xorg.libXcursor + xorg.libXi + xorg.libXinerama + xorg.libXScrnSaver + libpng + libpulseaudio + libvorbis + stdenv.cc.cc.lib + libkrb5 + keyutils + gamescope + mangohud + ]; + }; }; - - monitor = lib.head (lib.filter (m: m.primary) config.monitors); - steam-session = - let - gamescope = lib.concatStringsSep " " [ - (lib.getExe pkgs.gamescope) - "--output-width ${toString monitor.width}" - "--output-height ${toString monitor.height}" - "--framerate-limit ${toString monitor.refreshRate}" - "--prefer-output ${monitor.name}" - "--adaptive-sync" - "--expose-wayland" - "--steam" - ]; - steam = lib.concatStringsSep " " [ - "steam" - "steam://open/bigpicture" - ]; - in - pkgs.writeTextDir "share/wayland-sessions/steam-sesson.desktop" # ini - - '' - [Desktop Entry] - Name=Steam Session - Exec=${gamescope} -- ${steam} - Type=Application - ''; -in -{ - home.packages = [ - steam-with-pkgs - steam-session - pkgs.gamescope - pkgs.mangohud - pkgs.protontricks - ]; } diff --git a/nixos/configuration.nix b/nixos/configuration.nix index d76c9d3d..eec3022a 100644 --- a/nixos/configuration.nix +++ b/nixos/configuration.nix @@ -16,7 +16,7 @@ # If you want to use modules from other flakes (such as nixos-hardware): # inputs.hardware.nixosModules.common-cpu-amd # inputs.hardware.nixosModules.common-ssd - + ./steam # You can also split up your configuration and import pieces of it here: # ./users.nix # Import your generated (nixos-generate-config) hardware configuration diff --git a/nixos/steam/default.nix b/nixos/steam/default.nix new file mode 100644 index 00000000..6d919295 --- /dev/null +++ b/nixos/steam/default.nix @@ -0,0 +1,23 @@ +{ pkgs, ... }: +{ + programs.steam = { + enable = true; + package = pkgs.steam.override { + extraPkgs = + pkgs: with pkgs; [ + xorg.libXcursor + xorg.libXi + xorg.libXinerama + xorg.libXScrnSaver + libpng + libpulseaudio + libvorbis + stdenv.cc.cc.lib + libkrb5 + keyutils + gamescope + mangohud + ]; + }; + }; +}