[app:mediagoblin]
use = egg:mediagoblin#app
- config = ${cfg.configFile} ${cfg.workdir}/mediagoblin.ini
- /mgoblin_static = ${cfg.workdir}/mediagoblin/static
+ config = ${cfg.configFile} ${cfg.package}/mediagoblin.ini
+ /mgoblin_static = ${cfg.package}/mediagoblin/static
[loggers]
keys = root
package = lib.mkOption {
type = lib.types.package;
default = pkgs.webapps.mediagoblin;
+ example = lib.literalExample ''
+ pkgs.webapps.mediagoblin.withPlugins (p: [p.basicsearch])
+ '';
description = ''
Mediagoblin package to use.
'';
};
- plugins = lib.mkOption {
- type = lib.types.listOf lib.types.package;
- default = [];
- description = ''
- Mediagoblin plugins to use.
- '';
- };
- # Output variables
- workdir = lib.mkOption {
- type = lib.types.package;
- default = cfg.package.withPlugins cfg.plugins;
- description = ''
- Adjusted Mediagoblin package with plugins
- '';
- readOnly = true;
- };
systemdStateDirectory = lib.mkOption {
type = lib.types.str;
# Use ReadWritePaths= instead if varDir is outside of /var/lib
preStart = ''
if [ -d ${cfg.dataDir}/plugin_static/ ]; then
rm ${cfg.dataDir}/plugin_static/coreplugin_basic_auth
- ln -sf ${cfg.workdir}/mediagoblin/plugins/basic_auth/static ${cfg.dataDir}/plugin_static/coreplugin_basic_auth
+ ln -sf ${cfg.package}/mediagoblin/plugins/basic_auth/static ${cfg.dataDir}/plugin_static/coreplugin_basic_auth
fi
./bin/gmg -cf ${cfg.configFile} dbupdate
'';
Restart = "always";
TimeoutSec = 15;
Type = "simple";
- WorkingDirectory = cfg.workdir;
+ WorkingDirectory = cfg.package;
RuntimeDirectory = cfg.systemdRuntimeDirectory;
StateDirectory= cfg.systemdStateDirectory;
PIDFile = cfg.pids.paster;
Restart = "always";
TimeoutSec = 60;
Type = "simple";
- WorkingDirectory = cfg.workdir;
+ WorkingDirectory = cfg.package;
RuntimeDirectory = cfg.systemdRuntimeDirectory;
StateDirectory= cfg.systemdStateDirectory;
PIDFile = cfg.pids.celery;