nixfiles/nixos/profiles/gaming/wine.nix

74 lines
1.6 KiB
Nix

{
pkgs,
inputs,
lib,
...
}: let
inherit (lib.meta) getExe;
inherit (lib.attrsets) mapAttrs;
environment = {
PROTON_CACHYOS = "${inputs.chaotic.packages.${pkgs.system}.proton-cachyos_x86_64_v3.out}/bin";
PROTON_GE = "${inputs.chaotic.packages.${pkgs.system}.proton-ge-custom.out}/bin";
};
games = {
#
# Proton / contemporary video games
#
gw = "Guild Wars";
gw2 = "Guild Wars 2";
battlenet = "Battle.net";
sc = "Starcraft: Remastered";
sc2 = "Starcraft 2";
wcr = "Warcraft: Remastered";
wc2r = "Warcraft 2: Remastered";
wc = "Warcraft Orcs & Humans";
wc2 = "Warcraft 2: Battle.net Edition";
# https://lutris.net/games/install/25450/view
# Dissection:
# * nvapi disables,
# * registry key for Win7 in version
wc3 = "Warcraft 3: Reforged";
#
# Visual Novels
#
hanahira = "Hanahira";
kanon = "Kanon";
};
in {
hardware.graphics = {
enable32Bit = true;
extraPackages32 = with pkgs; [
driversi686Linux.mesa
];
};
programs.gamescope = {
enable = true;
package = pkgs.gamescope;
};
environment.systemPackages = with pkgs; [
protonplus
gamescope-wsi
mangohud
vkbasalt
];
systemd.user.services =
mapAttrs (k: v: {
description = v;
serviceConfig = {
ExecStart = "${getExe pkgs.katwine} ${k}";
Type = "simple";
};
inherit environment;
})
games;
home-manager.users.kat.home.file = {
# https://learnjapanese.moe/vn-linux/
"Games/VNs/drive_c/script.bat".source = ./vn_script.bat;
"Games/VNs/drive_c/cmd.exe".source = ./reactos_cmd.exe;
};
}