-
-
Notifications
You must be signed in to change notification settings - Fork 15.4k
Feature/xonotic module #83761
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
Conversation
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; |
There was a problem hiding this comment.
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"; |
There was a problem hiding this comment.
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" '' |
There was a problem hiding this comment.
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"; |
There was a problem hiding this comment.
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; |
There was a problem hiding this comment.
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 { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
More like extraConfig?
Created a new xonotic module. will maybe upstream it later. |
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
sandbox
innix.conf
on non-NixOS linux)nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
./result/bin/
)nix path-info -S
before and after)