[Nix-dev] ioquake3 on nixos

Nikolay Amiantov ab at fmap.me
Fri Apr 8 11:28:57 CEST 2016


I play ioquake3 successfully. It needs the following to work:

1. Extract pak0.pk3 file from the original Quake 3 Arena.
2. Use Nix script like this:

{ nixpkgs ? import <nixpkgs> { } }:

let
  paks = nixpkgs.stdenv.mkDerivation {
    name = "quake3-arena";
    pak0 = ./baseq3/pak0.pk3; # Replace this with path to your file
    buildCommand = ''
      install -D -m644 $pak0 $out/baseq3/pak0.pk3;
    '';
  };
in nixpkgs.quake3wrapper {
  paks = [ paks nixpkgs.quake3pointrelease ];
}

3. Run `nix-build` on it: `nix-build script.nix`
4. `result/bin/quake3` would run the game.

This probably needs to be added to our manual and/or improved somehow.

For the development, however, you can just run `nix-shell` as advised by
Emery -- it would get you all the game dependencies, so you can use
conventional tools (make/cmake/gcc/whatever ioquake3 wants) inside the
shell.

On 04/08/2016 11:17 AM, Emery wrote:
> If you could get ioquake working well, I and I'm sure a few others
> would be grateful.
> 
> If ioquake is an engine, I would recommend keeping the engine in one
> package. If you can find game data that can be downloaded easily, that
> can be a second package that depends on ioquake, so you could install a
> wrapper script that combines the nix path of the engine with the nix
> path of the game data. Just make sure you attach the proper license to
> the data.
> 
> As for developing, you can clone the ioquake sources and get a shell
> that contains the dependencies from the package with:
>   nix-shell '<nixpkgs' -A ioquake
> 
> If you want to use a locally modified ioquake package, use:
>   nix-shell /path/to/local/nixpkgs -A ioquake
> 
> 
> Good luck,
> Emery
> 
> 
> On Fri, Apr 08, 2016 at 05:27:04AM +0000, Máté Kovács wrote:
>> Hi Nixers,
>>
>> I'd like to play (and develop) ioquake3 on NixOS.
>>
>> I see that it should be available in nixpkgs, based on
>> https://github.com/NixOS/nixpkgs/commit/7fc7502db516a54d8104656401f0c2abf90cf781
>> .
>>
>> I have ioquake3 installed, but I don't know where to go from here.
>> I know that I need to copy the original game data to some location to be
>> able to play the game.
>> What do I need to do next?
>>
>> Thanks,
>> Mate

-- 
Nikolay.


More information about the nix-dev mailing list