Files
nix-config/home/linux/gui/base/gaming.nix
T
ryan4yin | 二花 08d2ff7578 feat(nixpak): sandbox umu-launcher with ~/Gaming as its home (#519)
* feat(nixpak): sandbox umu-launcher with ~/Games as its home

umu-run, winetricks and bbe leave the host PATH, so umu launchers
generated before this stop working until rewritten with
`umu-install.nu <name> - <launcher> <gameid>`.

Assisted-by: Claude Agent SDK (claude-opus-5-5)

* refactor(nixpak): mount ~/Gaming as the game sandbox home

idols-ai now preserves ~/Gaming instead of ~/Games, so existing games
vanish from the host after deploy until the preserved ~/Games is moved
to ~/Gaming/Games.

Assisted-by: Claude Agent SDK (claude-opus-5-5)

* docs(nixpak): record umu runtime validation

Assisted-by: Claude Agent SDK (claude-opus-5-5)
Assisted-by: DeepSeek Harness (deepseek-flash)
2026-11-05 22:39:48 -06:00

51 lines
1.5 KiB
Nix

{
pkgs,
config,
lib,
...
}:
with lib;
let
cfg = config.modules.desktop.gaming;
in
{
options.modules.desktop = {
gaming = {
enable = mkEnableOption "Enable desktop gaming support";
};
};
config = mkIf cfg.enable {
# ==========================================================================
# Other Optimizations
# Usage:
# UMU game launchers use MangoHud by default; set ENABLE_MANGOHUD=0 in their conf to disable.
# Steam - add this as a launch option: `mangohud %command%` / `gamemoderun %command%`
# ==========================================================================
home.packages =
(with pkgs; [
# https://github.com/flightlessmango/MangoHud
# a simple overlay program for monitoring FPS, temperature, CPU and GPU load, and more.
mangohud
# https://github.com/Open-Wine-Components/umu-launcher
# a unified launcher for Windows games on Linux, sandboxed with
# ~/Gaming as its home and only writable host directory. umu-run, winetricks,
# bbe and mangohud live inside it; the nix-config-umu-game skill and
# the launchers it generates run through `umu-sandbox`.
nixpaks.umu
])
++ (with pkgs; [
# Heroic Games Launcher - primarily for Epic Games & GOG
# https://heroicgameslauncher.com/
(heroic.override {
extraPkgs = _pkgs: [
pkgs.gamescope
];
})
]);
};
}