Update: add option to append more jvm options
This commit is contained in:
parent
11205e4906
commit
5955db3819
1 changed files with 51 additions and 41 deletions
|
|
@ -214,6 +214,14 @@ in {
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
customJVMOpts = mkOpt' (
|
||||||
|
with types;
|
||||||
|
coercedTo
|
||||||
|
(listOf str)
|
||||||
|
(lib.concatStringsSep " ")
|
||||||
|
(separatedString " ")
|
||||||
|
) "" "Custom JVM options for this server.";
|
||||||
|
|
||||||
operators = mkOption {
|
operators = mkOption {
|
||||||
type = types.attrsOf (
|
type = types.attrsOf (
|
||||||
types.coercedTo minecraftUUID (v: {uuid = v;}) (
|
types.coercedTo minecraftUUID (v: {uuid = v;}) (
|
||||||
|
|
@ -313,8 +321,6 @@ in {
|
||||||
# };
|
# };
|
||||||
# };
|
# };
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
schedules = mkOption {
|
schedules = mkOption {
|
||||||
type = types.attrsOf (types.submodule ({name, ...}: {
|
type = types.attrsOf (types.submodule ({name, ...}: {
|
||||||
options = {
|
options = {
|
||||||
|
|
@ -367,7 +373,15 @@ in {
|
||||||
lib.mapAttrs (serverName: serverCfg: {
|
lib.mapAttrs (serverName: serverCfg: {
|
||||||
enable = serverCfg.enable;
|
enable = serverCfg.enable;
|
||||||
package = serverCfg.package;
|
package = serverCfg.package;
|
||||||
jvmOpts = "-Xmx${serverCfg.memory.max} -Xms${serverCfg.memory.min}";
|
|
||||||
|
jvmOpts = lib.concatStringsSep " " (
|
||||||
|
[
|
||||||
|
"-Xmx${serverCfg.memory.max}"
|
||||||
|
"-Xms${serverCfg.memory.min}"
|
||||||
|
]
|
||||||
|
++ lib.optional (serverCfg.customJVMOpts != "") serverCfg.customJVMOpts
|
||||||
|
);
|
||||||
|
|
||||||
autoStart = serverCfg.autoStart;
|
autoStart = serverCfg.autoStart;
|
||||||
|
|
||||||
symlinks = serverCfg.symlinks;
|
symlinks = serverCfg.symlinks;
|
||||||
|
|
@ -485,45 +499,41 @@ in {
|
||||||
cfg.servers
|
cfg.servers
|
||||||
);
|
);
|
||||||
|
|
||||||
|
# systemd.services = lib.mkMerge (
|
||||||
|
# lib.mapAttrsToList (serverName: serverCfg:
|
||||||
|
# lib.mkIf serverCfg.userActivity.enable {
|
||||||
|
# "minecraft-${serverName}-user-activity" = {
|
||||||
|
# description = "Minecraft ${serverName} user activity logger";
|
||||||
|
# serviceConfig = {
|
||||||
|
# Type = "oneshot";
|
||||||
|
# User = cfg.user;
|
||||||
|
# Group = cfg.group;
|
||||||
|
# Environment = [
|
||||||
|
# "QUERY_BIN=${mkScript serverName serverCfg "query"}/bin/minecraft-${serverName}-query"
|
||||||
|
# ];
|
||||||
|
# ExecStart =
|
||||||
|
# "${mkScript serverName serverCfg "user-activity"}/bin/minecraft-${serverName}-user-activity";
|
||||||
|
# };
|
||||||
|
# };
|
||||||
|
# }
|
||||||
|
# ) cfg.servers
|
||||||
|
# );
|
||||||
|
|
||||||
# systemd.services = lib.mkMerge (
|
# systemd.timers = lib.mkMerge (
|
||||||
# lib.mapAttrsToList (serverName: serverCfg:
|
# lib.mapAttrsToList (serverName: serverCfg:
|
||||||
# lib.mkIf serverCfg.userActivity.enable {
|
# lib.mkIf serverCfg.userActivity.enable {
|
||||||
# "minecraft-${serverName}-user-activity" = {
|
# "minecraft-${serverName}-user-activity" = {
|
||||||
# description = "Minecraft ${serverName} user activity logger";
|
# description = "Timer for Minecraft ${serverName} user activity logging";
|
||||||
# serviceConfig = {
|
# wantedBy = [ "timers.target" ];
|
||||||
# Type = "oneshot";
|
# timerConfig = {
|
||||||
# User = cfg.user;
|
# OnBootSec = "2min";
|
||||||
# Group = cfg.group;
|
# OnUnitActiveSec = serverCfg.userActivity.interval;
|
||||||
# Environment = [
|
# AccuracySec = "30s";
|
||||||
# "QUERY_BIN=${mkScript serverName serverCfg "query"}/bin/minecraft-${serverName}-query"
|
# };
|
||||||
# ];
|
# };
|
||||||
# ExecStart =
|
# }
|
||||||
# "${mkScript serverName serverCfg "user-activity"}/bin/minecraft-${serverName}-user-activity";
|
# ) cfg.servers
|
||||||
# };
|
# );
|
||||||
# };
|
|
||||||
# }
|
|
||||||
# ) cfg.servers
|
|
||||||
# );
|
|
||||||
|
|
||||||
|
|
||||||
# systemd.timers = lib.mkMerge (
|
|
||||||
# lib.mapAttrsToList (serverName: serverCfg:
|
|
||||||
# lib.mkIf serverCfg.userActivity.enable {
|
|
||||||
# "minecraft-${serverName}-user-activity" = {
|
|
||||||
# description = "Timer for Minecraft ${serverName} user activity logging";
|
|
||||||
# wantedBy = [ "timers.target" ];
|
|
||||||
# timerConfig = {
|
|
||||||
# OnBootSec = "2min";
|
|
||||||
# OnUnitActiveSec = serverCfg.userActivity.interval;
|
|
||||||
# AccuracySec = "30s";
|
|
||||||
# };
|
|
||||||
# };
|
|
||||||
# }
|
|
||||||
# ) cfg.servers
|
|
||||||
# );
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# this is building the scripts for the user
|
# this is building the scripts for the user
|
||||||
# Those are the prewritten scripts from the ./Script dir
|
# Those are the prewritten scripts from the ./Script dir
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue