]> git.immae.eu Git - perso/Immae/Config/Nix.git/blob - nixops/modules/databases/redis.nix
Move databases configurations to separate files
[perso/Immae/Config/Nix.git] / nixops / modules / databases / redis.nix
1 { lib, pkgs, config, myconfig, mylibs, ... }:
2 let
3 cfg = config.services.myDatabases;
4 in {
5 options.services.myDatabases = {
6 redis = {
7 enable = lib.mkOption {
8 default = cfg.enable;
9 example = true;
10 description = "Whether to enable redis database";
11 type = lib.types.bool;
12 };
13 };
14 };
15
16 config = lib.mkIf cfg.enable {
17 ids.uids.redis = myconfig.env.users.redis.uid;
18 ids.gids.redis = myconfig.env.users.redis.gid;
19 users.users.redis.uid = config.ids.uids.redis;
20 users.groups.redis.gid = config.ids.gids.redis;
21 services.redis = rec {
22 enable = config.services.myDatabases.redis.enable;
23 bind = "127.0.0.1";
24 unixSocket = myconfig.env.databases.redis.socket;
25 extraConfig = ''
26 unixsocketperm 777
27 maxclients 1024
28 '';
29 };
30 system.activationScripts.redis = ''
31 mkdir -p $(dirname ${myconfig.env.databases.redis.socket})
32 chown redis $(dirname ${myconfig.env.databases.redis.socket})
33 '';
34
35 };
36 }
37