Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature/xonotic module #83761

Closed
wants to merge 2 commits into from
Closed

Feature/xonotic module #83761

wants to merge 2 commits into from

Conversation

@Kloenk
Copy link
Contributor

Kloenk commented Mar 30, 2020

Motivation for this change

provide xonotic as a module to host servers. This module is designed to host more than one server

Things done

create a xonotic service

This PR is dependet on #83461 for the usage of the xonotic-dedicated package

  • Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
  • Built on platform(s)
    • NixOS
    • macOS
    • other Linux distributions
  • Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
  • Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
  • Tested execution of all binary files (usually in ./result/bin/)
  • Determined the impact on package closure size (by running nix path-info -S before and after)
  • Ensured that relevant documentation is up to date
  • Fits CONTRIBUTING.md.
petabyteboy and others added 2 commits Mar 27, 2020
This has many advantages:
- Each variant can be installed without pulling in the dependencies of the
  other variants, which makes it possible to build an SDL variant
  without X11 dependencies
- Hydra can now build binaries without downloading 1GB of data, so users
  do not have to build them on their own machines
- Users do not have to redownload 1GB of data after each dependency
  update

Includes the following fixes:
- Add dependency on libGL for GLX variant as it will fail in some
  environments otherwise
- Pass -j and -l to make to enable parallel building
- Quote homepage URI and use https
- Add a .desktop file and icons
enable = mkEnableOption "Xonotic servers";

servers = mkOption {
type = types.loaOf serverModule;

This comment has been minimized.

Copy link
@petabyteboy

petabyteboy Mar 30, 2020

Contributor

loaOf is deprecated

servers = mkOption {
type = types.loaOf serverModule;
default = {};
description = "available serves";

This comment has been minimized.

Copy link
@petabyteboy

petabyteboy Mar 30, 2020

Contributor

typo?

};

preStart = let
configFile = pkgs.writeText "server.cfg" ''

This comment has been minimized.

Copy link
@petabyteboy

petabyteboy Mar 30, 2020

Contributor

weird indentation

in {
options = {
services.xonotic = {
enable = mkEnableOption "Xonotic servers";

This comment has been minimized.

Copy link
@petabyteboy

petabyteboy Mar 30, 2020

Contributor

Can't you just check if cfg.servers != {}?

};

port = mkOption {
type = types.ints.u16;

This comment has been minimized.

Copy link
@petabyteboy

petabyteboy Mar 30, 2020

Contributor

There's types.port

default = 26000;
};

options = mkOption {

This comment has been minimized.

Copy link
@petabyteboy

petabyteboy Mar 30, 2020

Contributor

More like extraConfig?

@Kloenk Kloenk closed this May 21, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked issues

Successfully merging this pull request may close these issues.

None yet

2 participants
You can’t perform that action at this time.