diff options
author | Oliver Charles <ollie@ocharles.org.uk> | 2013-06-10 21:45:24 +0100 |
---|---|---|
committer | Oliver Charles <ollie@ocharles.org.uk> | 2013-06-23 18:49:49 +0100 |
commit | c7f61ee921f648b87a1dc3db57cdaf8507c2ba28 (patch) | |
tree | 9362734d76fc15eb37813a063fa1886e217cce58 /modules/services/databases/memcached.nix | |
parent | fde8e002ce3470e58a10518098fa930f5d7f4bdf (diff) | |
download | nixpkgs-c7f61ee921f648b87a1dc3db57cdaf8507c2ba28.tar nixpkgs-c7f61ee921f648b87a1dc3db57cdaf8507c2ba28.tar.gz nixpkgs-c7f61ee921f648b87a1dc3db57cdaf8507c2ba28.tar.bz2 nixpkgs-c7f61ee921f648b87a1dc3db57cdaf8507c2ba28.tar.lz nixpkgs-c7f61ee921f648b87a1dc3db57cdaf8507c2ba28.tar.xz nixpkgs-c7f61ee921f648b87a1dc3db57cdaf8507c2ba28.tar.zst nixpkgs-c7f61ee921f648b87a1dc3db57cdaf8507c2ba28.zip |
memcached: Add NixOS support
Diffstat (limited to 'modules/services/databases/memcached.nix')
-rw-r--r-- | modules/services/databases/memcached.nix | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/modules/services/databases/memcached.nix b/modules/services/databases/memcached.nix new file mode 100644 index 00000000000..f5f6be68f7f --- /dev/null +++ b/modules/services/databases/memcached.nix @@ -0,0 +1,61 @@ +{ config, pkgs, ... }: + +with pkgs.lib; + +let + + cfg = config.services.memcached; + + memcached = pkgs.memcached; + +in + +{ + + ###### interface + + options = { + + services.memcached = { + + enable = mkOption { + default = false; + description = " + Whether to enable Memcached. + "; + }; + + user = mkOption { + default = "memcached"; + description = "The user to run Memcached as"; + }; + + }; + + }; + + ###### implementation + + config = mkIf config.services.memcached.enable { + + users.extraUsers = singleton + { name = cfg.user; + description = "Memcached server user"; + }; + + environment.systemPackages = [ memcached ]; + + systemd.services.memcached = + { description = "Memcached server"; + + wantedBy = [ "multi-user.target" ]; + after = [ "network.target" ]; + + serviceConfig = { + ExecStart = "${memcached}/bin/memcached"; + User = cfg.user; + }; + }; + }; + +} |