|
|
|
@ -7,12 +7,13 @@ let |
|
|
|
|
|
|
|
|
|
inherit (builtins) concatStringsSep; |
|
|
|
|
|
|
|
|
|
config_file_content = lib.generators.toKeyValue {} cfg.configItems; |
|
|
|
|
config_file_content = lib.generators.toKeyValue { } cfg.configItems; |
|
|
|
|
config_file = pkgs.writeText "rabbitmq.conf" config_file_content; |
|
|
|
|
|
|
|
|
|
advanced_config_file = pkgs.writeText "advanced.config" cfg.config; |
|
|
|
|
|
|
|
|
|
in { |
|
|
|
|
in |
|
|
|
|
{ |
|
|
|
|
###### interface |
|
|
|
|
options = { |
|
|
|
|
services.rabbitmq = { |
|
|
|
@ -79,7 +80,7 @@ in { |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
configItems = mkOption { |
|
|
|
|
default = {}; |
|
|
|
|
default = { }; |
|
|
|
|
type = types.attrsOf types.str; |
|
|
|
|
example = literalExample '' |
|
|
|
|
{ |
|
|
|
@ -123,13 +124,13 @@ in { |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
plugins = mkOption { |
|
|
|
|
default = []; |
|
|
|
|
default = [ ]; |
|
|
|
|
type = types.listOf types.str; |
|
|
|
|
description = "The names of plugins to enable"; |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
pluginDirs = mkOption { |
|
|
|
|
default = []; |
|
|
|
|
default = [ ]; |
|
|
|
|
type = types.listOf types.path; |
|
|
|
|
description = "The list of directories containing external plugins"; |
|
|
|
|
}; |
|
|
|
@ -180,7 +181,7 @@ in { |
|
|
|
|
RABBITMQ_ENABLED_PLUGINS_FILE = pkgs.writeText "enabled_plugins" '' |
|
|
|
|
[ ${concatStringsSep "," cfg.plugins} ]. |
|
|
|
|
''; |
|
|
|
|
} // optionalAttrs (cfg.config != "") { RABBITMQ_ADVANCED_CONFIG_FILE = advanced_config_file; }; |
|
|
|
|
} // optionalAttrs (cfg.config != "") { RABBITMQ_ADVANCED_CONFIG_FILE = advanced_config_file; }; |
|
|
|
|
|
|
|
|
|
serviceConfig = { |
|
|
|
|
ExecStart = "${cfg.package}/sbin/rabbitmq-server"; |
|
|
|
|