[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