2023-10-30 14:10:57 -07:00
|
|
|
{ pkgs, aagl, ... }: {
|
|
|
|
|
imports = [ aagl.nixosModules.default ];
|
|
|
|
|
|
2023-07-11 00:38:39 -07:00
|
|
|
environment.systemPackages = with pkgs; [
|
2024-01-30 09:32:08 -08:00
|
|
|
heroic
|
|
|
|
|
lutris
|
|
|
|
|
mangohud
|
|
|
|
|
prismlauncher
|
2023-07-11 00:38:39 -07:00
|
|
|
wine
|
2024-01-30 09:32:08 -08:00
|
|
|
# parsec-bin
|
2023-07-11 00:38:39 -07:00
|
|
|
];
|
|
|
|
|
|
2023-11-01 02:14:15 -07:00
|
|
|
nixpkgs.config.permittedInsecurePackages = [
|
|
|
|
|
"electron-24.8.6"
|
|
|
|
|
# "electron-12.2.3"
|
|
|
|
|
];
|
|
|
|
|
|
2023-07-11 00:38:39 -07:00
|
|
|
programs.steam.enable = true;
|
2023-07-14 19:02:49 -07:00
|
|
|
programs.gamemode.enable = true;
|
|
|
|
|
programs.gamescope.enable = true;
|
2023-07-11 00:38:39 -07:00
|
|
|
|
2023-10-30 14:10:57 -07:00
|
|
|
nix.settings = aagl.nixConfig;
|
|
|
|
|
programs.honkers-railway-launcher.enable = true;
|
|
|
|
|
|
2024-01-23 14:19:19 -08:00
|
|
|
users = { groups.game = { }; };
|
|
|
|
|
security.pam.loginLimits = [
|
|
|
|
|
{ domain = "@game"; type = "-"; item = "nice"; value = -20; }
|
|
|
|
|
];
|
|
|
|
|
|
2023-07-11 00:38:39 -07:00
|
|
|
security.rtkit.enable = true;
|
|
|
|
|
environment.etc =
|
|
|
|
|
let
|
|
|
|
|
json = pkgs.formats.json { };
|
|
|
|
|
in
|
|
|
|
|
{
|
2024-01-23 14:19:19 -08:00
|
|
|
"pipewire/pipewire.conf.d/92-low-latency.conf".source = json.generate "92-low-latency.conf" {
|
2023-07-11 00:38:39 -07:00
|
|
|
context.properties = {
|
|
|
|
|
# default.allowed-rates = []
|
2024-01-23 14:19:19 -08:00
|
|
|
default.clock.rate = 48000;
|
2023-07-11 00:38:39 -07:00
|
|
|
default.clock.quantum = 32;
|
|
|
|
|
default.clock.min-quantum = 32;
|
|
|
|
|
default.clock.max-quantum = 32;
|
|
|
|
|
};
|
|
|
|
|
};
|
2024-01-23 14:19:19 -08:00
|
|
|
"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/48000";
|
|
|
|
|
pulse.default.req = "32/48000";
|
|
|
|
|
pulse.max.req = "32/48000";
|
|
|
|
|
pulse.min.quantum = "32/48000";
|
|
|
|
|
pulse.max.quantum = "32/48000";
|
|
|
|
|
};
|
|
|
|
|
}
|
|
|
|
|
];
|
|
|
|
|
stream.properties = {
|
|
|
|
|
node.latency = "32/48000";
|
|
|
|
|
resample.quality = 1;
|
|
|
|
|
};
|
|
|
|
|
};
|
2023-12-25 20:10:20 -08:00
|
|
|
# "pipewire/pipewire.d/99-input-denoising.conf" = json.generate "99-input-denoising.conf" {
|
|
|
|
|
# context.modules = [{
|
|
|
|
|
# name = "libpipewire-module-filter-chain";
|
|
|
|
|
# }];
|
|
|
|
|
# };
|
2023-07-11 00:38:39 -07:00
|
|
|
};
|
|
|
|
|
}
|