feat: wine and librewolf stuff

This commit is contained in:
Kat Inskip 2025-10-11 03:00:50 -07:00
parent c470c271cf
commit 0df783bf41
Signed by: kat
GPG key ID: 465E64DECEA8CF0F
20 changed files with 118 additions and 195 deletions

View file

@ -1,80 +1,74 @@
{
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";
#PROTON_WC3 = "/home/kat/.local/share/Steam/compatibilitytools.d/GE-Proton10-1";
#PROTON_WC3 = "/home/kat/.local/share/Steam/compatibilitytools.d/Proton-Tkg-2367";
#PROTON_WC3 = "/home/kat/.local/share/Steam/steamapps/common/Proton - Experimental";
};
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 {
systemd.user.services.gw = {
description = "Guild Wars";
serviceConfig = {
ExecStart = "${pkgs.katwine}/bin/katwine gw";
Type = "simple";
};
inherit environment;
hardware.graphics = {
enable32Bit = true;
extraPackages32 = with pkgs; [
driversi686Linux.mesa
];
};
systemd.user.services.gw2 = {
description = "Guild Wars 2";
serviceConfig = {
ExecStart = "${pkgs.katwine}/bin/katwine gw2";
Type = "simple";
};
inherit environment;
programs.gamescope = {
enable = true;
package = pkgs.gamescope;
};
systemd.user.services.battlenet = {
description = "Battle.net";
serviceConfig = {
ExecStart = "${pkgs.katwine}/bin/katwine bnet";
Type = "simple";
};
inherit environment;
};
systemd.user.services.sc = {
description = "Starcraft";
serviceConfig = {
ExecStart = "${pkgs.katwine}/bin/katwine sc";
Type = "simple";
};
inherit environment;
};
systemd.user.services.sc2 = {
description = "Starcraft 2";
serviceConfig = {
ExecStart = "${pkgs.katwine}/bin/katwine sc2";
Type = "simple";
};
inherit environment;
};
# https://lutris.net/games/install/25450/view
# Dissection:
# * nvapi disables,
# * registry key for Win7 in version
systemd.user.services.wc3 = {
description = "Warcraft 3";
serviceConfig = {
ExecStart = "${pkgs.katwine}/bin/katwine wc3";
Type = "simple";
};
inherit environment;
};
systemd.user.services.kanon = {
description = "Kanon";
serviceConfig = {
ExecStart = "${pkgs.katwine}/bin/katwine kanon";
Type = "simple";
};
};
systemd.user.services.hanahira = {
description = "Hanahira";
serviceConfig = {
ExecStart = "${pkgs.katwine}/bin/katwine hanahira";
Type = "simple";
};
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;
};
}