1
0
Fork 0
nixos-config/home-manager/roles/games.nix
2020-07-13 22:51:45 +02:00

59 lines
1.7 KiB
Nix

{ pkgs, lib, config, ... }: let
gw2dir = "${config.home.homeDirectory}/volatile/GW2";
wine = pkgs.wineWowPackages.staging;
gw2env = ''
export MESA_GLSL_CACHE_DISABLE=0
export MESA_GLSL_CACHE_DIR="$PWD/shader_cache"
export mesa_glthread=true
# Wine Settings
export DXVK_HUD=version,devinfo,fps
export DXVK_LOG_LEVEL=none
export WINEDEBUG=-all
export WINEARCH=win64
export WINEPREFIX="$PWD/data"
export STAGING_SHARED_MEMORY=1
export WINEESYNC=1
'';
gw2setup = pkgs.writeShellScriptBin "gw2-setup" ''
mkdir -p ${gw2dir}
cd ${gw2dir}
${gw2env}
echo Launching winecfg to configure desktop window
${wine}/bin/winecfg
echo Downloading installer
wget https://account.arena.net/content/download/gw2/win/64 -O Gw2Setup-64.exe
echo Running installer
${wine}/bin/wine64 ./Gw2Setup-64.exe
'';
gw2run = pkgs.writeShellScriptBin "gw2" ''
cd ${gw2dir}
${gw2env}
cd "$PWD/data/drive_c/Guild Wars 2"
${wine}/bin/wine64 ./Gw2-64.exe $@ -autologin
'';
in
{
dconf.settings."org/gnome/settings-daemon/plugins/media-keys" = {
mic-mute = lib.mkForce [ ];
next = lib.mkForce [ ];
play = lib.mkForce [ ];
previous = lib.mkForce [ ];
screensaver = lib.mkForce [ ];
volume-down = lib.mkForce [ ];
volume-up = lib.mkForce [ ];
};
home.packages = builtins.attrValues {
factorio = pkgs.unstableUnfree.factorio.override {
username = "maralorn";
token = import ../../nixos/machines/apollo/secret/factory.nix;
experimental = true;
};
inherit (pkgs.unfree) steam;
inherit (pkgs) minetest;
inherit gw2run gw2setup wine;
};
}