{ config, pkgs, lib, ... }: { options.niksos.games = lib.mkEnableOption "gaming related stuff."; config = lib.mkIf config.niksos.games { # nixpkgs.overlays = [ # (final: prev: let # version = "1.4.2"; # hash = "sha256-xe0qlbtt06CUK8bXyaGDtCcHOXpSnkbuvcxaDJjeS/c="; # npmHash = "sha256-/+NhlQydGS6+2jEjpbwycwKplVo/++wcdPiBNY3R3FI="; # cargoHash = "sha256-VwzGbm34t7mg9ndmTkht6Ho32NQ+6uxuPTKi3+VrhYo="; # in { # gale = prev.gale.overrideAttrs (new: old: { # src = prev.fetchFromGitHub { # inherit version hash; # owner = "Kesomannen"; # repo = "gale"; # rev = "1.4.2"; # }; # npmDeps = prev.fetchNpmDeps { # hash = npmHash; # name = "${new.pname}-${new.version}-npm-deps"; # inherit (new) src; # }; # cargoDeps = prev.rustPlatform.fetchCargoVendor { # inherit # (new) # pname # version # src # cargoRoot # ; # hash = cargoHash; # }; # }); # }) # ]; users.users.jsw.packages = [pkgs.gale]; programs = { gamescope = { enable = true; capSysNice = true; args = [ "--rt" "--expose-wayland" ]; }; steam = { enable = true; extraCompatPackages = [ pkgs.proton-ge-bin ]; gamescopeSession.enable = true; }; }; environment.variables = { "STEAM_FORCE_DESKTOP_UI_SCALING" = "1.5"; }; }; }