62 lines
1.5 KiB
Nix
62 lines
1.5 KiB
Nix
{
|
|
callPackage,
|
|
fetchzip,
|
|
runCommand,
|
|
lndir,
|
|
zstd,
|
|
lib,
|
|
|
|
inputs,
|
|
v3 ? true,
|
|
wine-packages,
|
|
apl-combined,
|
|
...
|
|
}:
|
|
let
|
|
layer_3 = callPackage ./basePrefix.nix {
|
|
inherit inputs wine-packages;
|
|
};
|
|
|
|
installers = callPackage ./sources.nix { };
|
|
registry-patches = callPackage ./registry-patches.nix { };
|
|
|
|
vkd3d = fetchzip {
|
|
url = "https://github.com/HansKristian-Work/vkd3d-proton/releases/download/v3.0.1/vkd3d-proton-3.0.1.tar.zst";
|
|
nativeBuildInputs = [ zstd ];
|
|
hash = "sha256-xHJFtVDD/ZHVHF2Fn7TEEX0fMUWJvujNyNt2Xyw9F7o=";
|
|
};
|
|
|
|
inherit (wine-packages) wine wineserver;
|
|
in
|
|
runCommand "base-prefix-4" { } ''
|
|
set -x -e
|
|
|
|
mkdir -p $out
|
|
cp -a ${layer_3}/. $out
|
|
chmod -R +w $out
|
|
export WINEPREFIX="$out"
|
|
|
|
cp ${vkd3d}/x64/d3d12.dll "$WINEPREFIX/drive_c/windows/system32"
|
|
cp ${vkd3d}/x64/d3d12core.dll "$WINEPREFIX/drive_c/windows/system32"
|
|
|
|
${lib.getExe wine} regedit /S "${registry-patches.one-vkd3d}"
|
|
|
|
${lib.optionalString v3 ''
|
|
${lib.getExe lndir} ${installers.v3} "$WINEPREFIX/drive_c/Program Files/"
|
|
|
|
pushd "$WINEPREFIX/drive_c/Program Files/Affinity/Affinity"
|
|
cp -r "${apl-combined}/." .
|
|
popd
|
|
''}
|
|
|
|
${lib.optionalString (!v3) ''
|
|
${lib.getExe lndir} ${installers.photo} "$WINEPREFIX/drive_c/Program Files/"
|
|
${lib.getExe lndir} ${installers.designer} "$WINEPREFIX/drive_c/Program Files/"
|
|
${lib.getExe lndir} ${installers.publisher} "$WINEPREFIX/drive_c/Program Files/"
|
|
''}
|
|
|
|
${lib.getExe wineserver} -w
|
|
|
|
rm -rf $WINEPREFIX/drive_c/users/nixbld
|
|
''
|