diff options
Diffstat (limited to 'modules')
-rw-r--r-- | modules/ejabberd/default.nix | 16 | ||||
-rw-r--r-- | modules/hw.nix | 15 |
2 files changed, 15 insertions, 16 deletions
diff --git a/modules/ejabberd/default.nix b/modules/ejabberd/default.nix index 02c060d..9607741 100644 --- a/modules/ejabberd/default.nix +++ b/modules/ejabberd/default.nix @@ -131,6 +131,9 @@ in { systemd.services.ejabberd = { wantedBy = [ "multi-user.target" ]; after = [ "network.target" ]; + environment = { + HOME = cfg.stateDir; + }; reloadTriggers = [ config.environment.etc."ejabberd/ejabberd.yaml".source config.environment.etc."ejabberd/ejabberdctl.cfg".source @@ -139,6 +142,17 @@ in { ExecStartPre = [ "${pkgs.coreutils}/bin/ln -s \${CREDENTIALS_DIRECTORY} /tmp/credentials" "${gen-dhparam} ${cfg.stateDir}/dhfile" + (pkgs.writeDash "ejabberd-ensure-PREVIOUS.LOG" '' + set -efu + cd ${cfg.stateDir} + if ! test -e PREVIOUS.LOG; then + if test -f LATEST.LOG; then + ${pkgs.coreutils}/bin/ln LATEST.LOG PREVIOUS.LOG + else + ${pkgs.coreutils}/bin/touch PREVIOUS.LOG + fi + fi + '') ]; ExecStart = "${cfg.pkgs.ejabberd}/bin/ejabberdctl foreground"; ExecStop = [ @@ -155,7 +169,7 @@ in { PrivateDevices = true; PrivateTmp = true; SyslogIdentifier = "ejabberd"; - StateDirectory = "ejabberd"; + StateDirectory = lib.removePrefix "/var/lib/" cfg.stateDir; User = "ejabberd"; DynamicUser = true; TimeoutSec = 60; diff --git a/modules/hw.nix b/modules/hw.nix deleted file mode 100644 index 653b04f..0000000 --- a/modules/hw.nix +++ /dev/null @@ -1,15 +0,0 @@ -{ lib, mylib, ... }: let - local.types.screen = lib.types.submodule { - options.width = lib.mkOption { - type = mylib.types.uint; - }; - options.height = lib.mkOption { - type = mylib.types.uint; - }; - }; -in { - options.tv.hw.screens = lib.mkOption { - type = lib.types.attrsOf local.types.screen; - default = {}; - }; -} |