+ # 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
+ default = assert lib.strings.hasPrefix "/var/lib/" cfg.dataDir;
+ lib.strings.removePrefix "/var/lib/" cfg.dataDir;
+ description = ''
+ Adjusted Mediagoblin data directory for systemd
+ '';
+ readOnly = true;
+ };
+ systemdRuntimeDirectory = lib.mkOption {
+ type = lib.types.str;
+ # Use ReadWritePaths= instead if socketsDir is outside of /run
+ default = assert lib.strings.hasPrefix "/run/" cfg.socketsDir;
+ lib.strings.removePrefix "/run/" cfg.socketsDir;
+ description = ''
+ Adjusted Mediagoblin sockets directory for systemd
+ '';
+ readOnly = true;
+ };
+ sockets = lib.mkOption {
+ type = lib.types.attrsOf lib.types.path;
+ default = {
+ paster = "${cfg.socketsDir}/mediagoblin.sock";
+ };
+ readOnly = true;
+ description = ''
+ Mediagoblin sockets
+ '';
+ };
+ pids = lib.mkOption {
+ type = lib.types.attrsOf lib.types.path;
+ default = {
+ paster = "${cfg.socketsDir}/mediagoblin.pid";
+ celery = "${cfg.socketsDir}/mediagoblin-celeryd.pid";
+ };
+ readOnly = true;
+ description = ''
+ Mediagoblin pid files
+ '';
+ };