NOflake/extras/gaming.nix

107 lines
2.7 KiB
Nix
Raw Normal View History

2024-02-24 02:30:17 -08:00
{pkgs, ...}: {
2024-02-24 02:50:02 -08:00
# { pkgs, aagl, ... }: {
2024-02-01 19:24:36 -08:00
# imports = [ aagl.nixosModules.default ];
2024-02-24 02:50:02 -08:00
# nix.settings = aagl.nixConfig;
# programs.honkers-railway-launcher.enable = true;
# nixpkgs.config.permittedInsecurePackages = [
# "electron-24.8.6"
# # "electron-12.2.3"
# ];
2023-10-30 14:10:57 -07:00
2023-07-11 00:38:39 -07:00
environment.systemPackages = with pkgs; [
2024-02-24 02:50:02 -08:00
# parsec-bin
2024-01-30 09:32:08 -08:00
heroic
lutris
mangohud
prismlauncher
2024-02-22 00:14:23 -08:00
protonup
2023-07-11 00:38:39 -07:00
wine
2024-03-02 02:34:41 -08:00
yuzu
2023-11-01 02:14:15 -07:00
];
2024-02-29 22:14:53 -08:00
# programs.steam.enable = true;
# programs.steam.gamescopeSession.enable = true;
programs.steam = {
enable = true;
remotePlay.openFirewall = true;
gamescopeSession.enable = false;
2024-02-29 22:14:53 -08:00
};
# programs.gamemode.enable = true;
2023-07-14 19:02:49 -07:00
programs.gamescope.enable = true;
2023-07-11 00:38:39 -07:00
2024-02-24 02:30:17 -08:00
users = {groups.game = {};};
2024-01-23 14:19:19 -08:00
security.pam.loginLimits = [
2024-02-24 02:30:17 -08:00
{
domain = "@game";
type = "-";
item = "nice";
value = -20;
}
2024-01-23 14:19:19 -08:00
];
2024-02-29 22:14:53 -08:00
# services.pipewire = {
# enable = true;
# };
# environment.etc = let
# json = pkgs.formats.json {};
# in {
# "pipewire/pipewire.conf.d/92-low-latency.conf".source = json.generate "92-low-latency.conf" {
# context.properties = {
# # default.allowed-rates = []
# default.clock.rate = 192000;
# default.clock.quantum = 32;
# default.clock.min-quantum = 32;
# default.clock.max-quantum = 32;
# };
# };
# "pipewire/pipewire-pulse.d/92-low-latency.conf".source = json.generate "92-low-latency.conf" {
# context.modules = [
# {
# name = "libpipewire-module-protocol-pulse";
# args = {
# pulse.min.req = "32/44100";
# pulse.default.req = "32/192000";
# pulse.max.req = "32/192000";
# pulse.min.quantum = "32/192000";
# pulse.max.quantum = "32/192000";
# };
# }
# ];
# stream.properties = {
# node.latency = "32/192000";
# resample.quality = 1;
# };
# };
# };
2024-03-02 02:34:41 -08:00
# services.pipewire.enable = false;
services.pipewire.extraConfig = {
pipewire."99-low-latency" = {
context.properties = {
# default.allowed-rates = []
default.clock.rate = 192000;
default.clock.quantum = 32;
default.clock.min-quantum = 32;
default.clock.max-quantum = 32;
};
};
pipewire-pulse."99-low-latency" = {
context.modules = [
{
name = "libpipewire-module-protocol-pulse";
args = {
pulse.min.req = "32/44100";
pulse.default.req = "32/192000";
pulse.max.req = "32/192000";
pulse.min.quantum = "32/192000";
pulse.max.quantum = "32/192000";
};
}
];
stream.properties = {
node.latency = "32/192000";
resample.quality = 1;
};
};
};
2023-07-11 00:38:39 -07:00
}