NiksOS/system/programs/games.nix

67 lines
1.6 KiB
Nix

{
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";
};
};
}