summaryrefslogtreecommitdiffstats
path: root/modules
diff options
context:
space:
mode:
Diffstat (limited to 'modules')
-rw-r--r--modules/ejabberd/default.nix16
-rw-r--r--modules/hw.nix15
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 = {};
- };
-}