mirror of
https://github.com/ilyakooo0/nixpkgs.git
synced 2024-12-30 23:34:12 +03:00
nixos/terraria: allow dataDir to be configured (#89033)
* nixos/terraria: allow dataDir to be configured add dataDir option to terraria module * Update nixos/modules/services/games/terraria.nix Co-authored-by: WORLDofPEACE <worldofpeace@protonmail.ch> Co-authored-by: WORLDofPEACE <worldofpeace@protonmail.ch>
This commit is contained in:
parent
13b92ce7ae
commit
854a229ae5
@ -25,7 +25,7 @@ let
|
||||
exit 0
|
||||
fi
|
||||
|
||||
${getBin pkgs.tmux}/bin/tmux -S /var/lib/terraria/terraria.sock send-keys Enter exit Enter
|
||||
${getBin pkgs.tmux}/bin/tmux -S ${cfg.dataDir}/terraria.sock send-keys Enter exit Enter
|
||||
${getBin pkgs.coreutils}/bin/tail --pid="$1" -f /dev/null
|
||||
'';
|
||||
in
|
||||
@ -36,7 +36,7 @@ in
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = ''
|
||||
If enabled, starts a Terraria server. The server can be connected to via <literal>tmux -S /var/lib/terraria/terraria.sock attach</literal>
|
||||
If enabled, starts a Terraria server. The server can be connected to via <literal>tmux -S ${cfg.dataDir}/terraria.sock attach</literal>
|
||||
for administration by users who are a part of the <literal>terraria</literal> group (use <literal>C-b d</literal> shortcut to detach again).
|
||||
'';
|
||||
};
|
||||
@ -111,13 +111,19 @@ in
|
||||
default = false;
|
||||
description = "Disables automatic Universal Plug and Play.";
|
||||
};
|
||||
dataDir = mkOption {
|
||||
type = types.str;
|
||||
default = "/var/lib/terraria";
|
||||
example = "/srv/terraria";
|
||||
description = "Path to variable state data directory for terraria.";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
users.users.terraria = {
|
||||
description = "Terraria server service user";
|
||||
home = "/var/lib/terraria";
|
||||
home = cfg.dataDir;
|
||||
createHome = true;
|
||||
uid = config.ids.uids.terraria;
|
||||
};
|
||||
@ -136,13 +142,13 @@ in
|
||||
User = "terraria";
|
||||
Type = "forking";
|
||||
GuessMainPID = true;
|
||||
ExecStart = "${getBin pkgs.tmux}/bin/tmux -S /var/lib/terraria/terraria.sock new -d ${pkgs.terraria-server}/bin/TerrariaServer ${concatStringsSep " " flags}";
|
||||
ExecStart = "${getBin pkgs.tmux}/bin/tmux -S ${cfg.dataDir}/terraria.sock new -d ${pkgs.terraria-server}/bin/TerrariaServer ${concatStringsSep " " flags}";
|
||||
ExecStop = "${stopScript} $MAINPID";
|
||||
};
|
||||
|
||||
postStart = ''
|
||||
${pkgs.coreutils}/bin/chmod 660 /var/lib/terraria/terraria.sock
|
||||
${pkgs.coreutils}/bin/chgrp terraria /var/lib/terraria/terraria.sock
|
||||
${pkgs.coreutils}/bin/chmod 660 ${cfg.dataDir}/terraria.sock
|
||||
${pkgs.coreutils}/bin/chgrp terraria ${cfg.dataDir}/terraria.sock
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
Loading…
Reference in New Issue
Block a user