From 90f34e204d795cfbbf87239677e3b2ab6d2fcaac Mon Sep 17 00:00:00 2001 From: Sander van der Burg Date: Mon, 4 Feb 2008 13:40:01 +0000 Subject: [PATCH] Added ejabberd service svn path=/nixos/trunk/; revision=10495 --- system/options.nix | 12 ++++++++++++ upstart-jobs/default.nix | 6 ++++++ upstart-jobs/ejabberd.nix | 22 ++++++++++++++++++++++ 3 files changed, 40 insertions(+) create mode 100644 upstart-jobs/ejabberd.nix diff --git a/system/options.nix b/system/options.nix index f3c683220ac..e449a036cad 100644 --- a/system/options.nix +++ b/system/options.nix @@ -1049,6 +1049,18 @@ }; + ejabberd = { + enable = mkOption { + default = false; + description = "Whether to enable ejabberd server"; + }; + + user = mkOption { + default = "nobody"; + description = "User account under which ejabberd runs."; + }; + }; + jboss = { enable = mkOption { default = false; diff --git a/upstart-jobs/default.nix b/upstart-jobs/default.nix index 0e1dfbf506a..a926233afa0 100644 --- a/upstart-jobs/default.nix +++ b/upstart-jobs/default.nix @@ -181,6 +181,12 @@ let "gw6c" else "network-interfaces"; }) + # EJabberd service + ++ optional config.services.ejabberd.enable + (import ../upstart-jobs/ejabberd.nix { + inherit config pkgs; + }) + # JBoss service ++ optional config.services.jboss.enable (import ../upstart-jobs/jboss.nix { diff --git a/upstart-jobs/ejabberd.nix b/upstart-jobs/ejabberd.nix new file mode 100644 index 00000000000..1bc607e3632 --- /dev/null +++ b/upstart-jobs/ejabberd.nix @@ -0,0 +1,22 @@ +args: with args; + +let + +cfg = config.services.ejabberd; + +ejabberdService = import ../services/ejabberd { + inherit (cfg) user; + inherit (pkgs) stdenv erlang ejabberd su; +}; + +in +{ + name = "ejabberd"; + job = " +description \"EJabberd server\" + +stop on shutdown + +respawn ${ejabberdService}/bin/control start + "; +}