diff --git a/etc/default.nix b/etc/default.nix index fedc3c34856d..5e2902f715a9 100644 --- a/etc/default.nix +++ b/etc/default.nix @@ -204,6 +204,7 @@ let "samba" "cups" "ftp" + "ejabberd" "common" "common-console" # shared stuff for interactive local sessions ] diff --git a/etc/pam.d/ejabberd b/etc/pam.d/ejabberd new file mode 100644 index 000000000000..50f3cc5ce607 --- /dev/null +++ b/etc/pam.d/ejabberd @@ -0,0 +1,4 @@ +auth include common +account include common +password include common +session include common diff --git a/system/system.nix b/system/system.nix index 9dd45a938d46..ef4e027848b5 100644 --- a/system/system.nix +++ b/system/system.nix @@ -108,6 +108,8 @@ rec { ]; path = pkgs.lib.optionals (!config.environment.cleanStart) [ + pkgs.acl + pkgs.attr pkgs.bashInteractive # bash with ncurses support pkgs.bzip2 pkgs.coreutils @@ -123,6 +125,7 @@ rec { pkgs.gzip pkgs.iputils pkgs.less + pkgs.libcap pkgs.lvm2 pkgs.man pkgs.mdadm diff --git a/upstart-jobs/ejabberd.nix b/upstart-jobs/ejabberd.nix index 390feda0e096..31cc0b7efadb 100644 --- a/upstart-jobs/ejabberd.nix +++ b/upstart-jobs/ejabberd.nix @@ -71,7 +71,7 @@ mkIf config.services.ejabberd.enable { fi mkdir -p ${cfg.confDir} - sed -e 's|{hosts, \["localhost"\]}.|{hosts, \[${cfg.virtualHosts}\]}.|' ${pkgs.ejabberd}/etc/ejabberd/ejabberd.cfg > ${cfg.confDir}/ejabberd.cfg + test -f ${cfg.confDir}/ejabberd.cfg || sed -e 's|{hosts, \["localhost"\]}.|{hosts, \[${cfg.virtualHosts}\]}.|' ${pkgs.ejabberd}/etc/ejabberd/ejabberd.cfg > ${cfg.confDir}/ejabberd.cfg end script respawn ${pkgs.bash}/bin/sh -c 'export PATH=$PATH:${pkgs.ejabberd}/sbin; cd ~; ejabberdctl --logs ${cfg.logsDir} --spool ${cfg.spoolDir} --config ${cfg.confDir}/ejabberd.cfg start; sleep 1d'