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

Conversation

Kloenk
Copy link
Member

@Kloenk 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.

Milan Pässler and others added 2 commits March 27, 2020 05:47
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;
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

loaOf is deprecated

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

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

typo?

};

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

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

weird indentation

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

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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

};

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

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There's types.port

default = 26000;
};

options = mkOption {
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

More like extraConfig?

@Kloenk Kloenk closed this May 21, 2020
@Kloenk
Copy link
Member Author

Kloenk commented Sep 25, 2020

Created a new xonotic module. will maybe upstream it later.
Kloenk/nix@add9f5a

@Kloenk Kloenk mentioned this pull request Sep 25, 2020
10 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant