diff options
author | Rok Garbas <rok@garbas.si> | 2014-06-05 15:12:30 +0100 |
---|---|---|
committer | Rok Garbas <rok@garbas.si> | 2014-06-06 15:30:58 +0100 |
commit | cc160a196a5d870e3301d0ed3d6187c048fe82c9 (patch) | |
tree | 9629e04f29b58e819270efb030ee82bb6ced646c /nixos | |
parent | f60fffa59c8b87d25b880a8c3ec567957409b59a (diff) | |
download | nixlib-cc160a196a5d870e3301d0ed3d6187c048fe82c9.tar nixlib-cc160a196a5d870e3301d0ed3d6187c048fe82c9.tar.gz nixlib-cc160a196a5d870e3301d0ed3d6187c048fe82c9.tar.bz2 nixlib-cc160a196a5d870e3301d0ed3d6187c048fe82c9.tar.lz nixlib-cc160a196a5d870e3301d0ed3d6187c048fe82c9.tar.xz nixlib-cc160a196a5d870e3301d0ed3d6187c048fe82c9.tar.zst nixlib-cc160a196a5d870e3301d0ed3d6187c048fe82c9.zip |
couchdb service: adding customizable config file which is writable by couchdb
Diffstat (limited to 'nixos')
-rw-r--r-- | nixos/modules/services/databases/couchdb.nix | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/nixos/modules/services/databases/couchdb.nix b/nixos/modules/services/databases/couchdb.nix index 5088c7416810..e1fe6be6f6a3 100644 --- a/nixos/modules/services/databases/couchdb.nix +++ b/nixos/modules/services/databases/couchdb.nix @@ -126,6 +126,16 @@ in { Extra configuration. Overrides any other cofiguration. ''; }; + + configFile = mkOption { + type = types.string; + default = "/var/lib/couchdb/couchdb.ini"; + description = '' + Custom configuration file. File needs to be readable and writable + from couchdb user/group. + ''; + }; + }; }; @@ -146,11 +156,13 @@ in { mkdir -p `dirname ${cfg.logFile}`; mkdir -p ${cfg.databaseDir}; mkdir -p ${cfg.viewIndexDir}; + touch ${cfg.configFile} if [ "$(id -u)" = 0 ]; then - chown ${cfg.user}:${cfg.group} `dirname ${cfg.uriFile}` + chown ${cfg.user}:${cfg.group} ${cfg.uriFile} chown ${cfg.user}:${cfg.group} ${cfg.databaseDir} chown ${cfg.user}:${cfg.group} ${cfg.viewIndexDir} + chown ${cfg.user}:${cfg.group} ${cfg.configFile} fi ''; @@ -158,7 +170,7 @@ in { PermissionsStartOnly = true; User = cfg.user; Group = cfg.group; - ExecStart = "${cfg.package}/bin/couchdb -a ${configFile} -a ${pkgs.writeText "couchdb-extra.ini" cfg.extraConfig}"; + ExecStart = "${cfg.package}/bin/couchdb -a ${configFile} -a ${pkgs.writeText "couchdb-extra.ini" cfg.extraConfig} -a ${cfg.configFile}"; }; }; |