2021-12-02 01:59:44 +01:00
|
|
|
{ self, nixpkgs, system }:
|
|
|
|
with (import nixpkgs {
|
|
|
|
inherit system;
|
|
|
|
config = { allowUnfree = true; };
|
|
|
|
});
|
|
|
|
rec {
|
|
|
|
q3iso = fetchurl {
|
|
|
|
url = "https://archive.org/download/quake-iii/Quake%20III.iso";
|
|
|
|
name = "QuakeIII.iso";
|
|
|
|
sha256 = "1qgk5kx7mf75dvlf54x15dpvjvwwh27q6m3cgg8gyiv57hw20cp9";
|
|
|
|
};
|
2021-12-03 00:28:50 +01:00
|
|
|
|
|
|
|
isoBaseq3 = stdenv.mkDerivation {
|
2021-12-02 01:59:44 +01:00
|
|
|
name = "baseq3";
|
|
|
|
src = q3iso;
|
|
|
|
nativeBuildInputs = [ p7zip ];
|
|
|
|
unpackPhase = ''
|
|
|
|
7z x $src
|
|
|
|
'';
|
|
|
|
installPhase = ''
|
2021-12-03 00:28:50 +01:00
|
|
|
cp -a baseq3 $out
|
2021-12-02 01:59:44 +01:00
|
|
|
'';
|
|
|
|
};
|
2021-12-03 00:28:50 +01:00
|
|
|
|
|
|
|
mappaks = import ./mappaks.nix { inherit fetchurl; };
|
|
|
|
|
|
|
|
baseq3 = runCommand "baseq3" {} ''
|
|
|
|
mkdir $out
|
|
|
|
# pak0
|
2021-12-03 17:58:10 +01:00
|
|
|
ln -s ${isoBaseq3}/* $out/
|
2021-12-03 00:28:50 +01:00
|
|
|
# pak1..6
|
|
|
|
ln -s ${quake3pointrelease}/baseq3/* $out/
|
|
|
|
# mappaks
|
|
|
|
${lib.concatMapStrings (name: ''
|
|
|
|
ln -s ${mappaks.${name}} $out/${name}.pk3
|
|
|
|
'') (builtins.attrNames mappaks)}
|
|
|
|
# cfg
|
|
|
|
ln -s ${../q3config_server.cfg} $out/q3config_server.cfg
|
|
|
|
ln -s ${../ctf.cfg} $out/ctf.cfg
|
|
|
|
ln -s ${../randomctfmaps.cfg} $out/randomctfmaps.cfg
|
|
|
|
'';
|
2021-12-02 01:59:44 +01:00
|
|
|
}
|