57 lines
1.2 KiB
Nix
57 lines
1.2 KiB
Nix
{ config, lib, pkgs, ... }:
|
|
|
|
let
|
|
cfg = config.ptw.programs.gaming;
|
|
in {
|
|
options.ptw.programs.gaming = {
|
|
enable = lib.mkEnableOption "Configure gaming options";
|
|
};
|
|
config = lib.mkIf cfg.enable {
|
|
environment.systemPackages = with pkgs; [
|
|
# General wine
|
|
wineWowPackages.staging winetricks
|
|
protontricks
|
|
|
|
# Lutris for League
|
|
lutris-free-wrapped
|
|
# prismlauncher-wrapped
|
|
|
|
# retroarch for retro games
|
|
(pkgs.callPackage ./wrapper.nix {
|
|
inherit (pkgs) retroarch;
|
|
cores = with pkgs.libretro; [
|
|
mgba mupen64plus melonds desmume dolphin
|
|
];
|
|
})
|
|
|
|
#steam-wrapped # Custom package
|
|
|
|
# Gameplay clip recording
|
|
(pkgs.wrapOBS {
|
|
plugins = with pkgs.obs-studio-plugins; [
|
|
obs-vaapi obs-vkcapture obs-pipewire-audio-capture
|
|
];
|
|
})
|
|
obs-cli
|
|
|
|
# Gameplay clip editing
|
|
kdenlive
|
|
|
|
# Better experience
|
|
gamescope
|
|
|
|
# Performance
|
|
corectrl
|
|
];
|
|
|
|
# security.wrappers.gamescope = {
|
|
# owner = "alexander";
|
|
# group = "alexander";
|
|
# source = "${pkgs.gamescope}/bin/gamescope";
|
|
# capabilities = "CAP_SYS_NICE=eip";
|
|
# };
|
|
|
|
hardware.steam-hardware.enable = true;
|
|
};
|
|
}
|