@@ -97,6 +97,8 @@ The pre-existing [services.ankisyncd](#opt-services.ankisyncd.enable) has been m
-[systemd-lock-handler](https://git.sr.ht/~whynothugo/systemd-lock-handler/), a bridge between logind D-Bus events and systemd targets. Available as [services.systemd-lock-handler.enable](#opt-services.systemd-lock-handler.enable).
-[Mealie](https://nightly.mealie.io/), a self-hosted recipe manager and meal planner with a RestAPI backend and a reactive frontend application built in NuxtJS for a pleasant user experience for the whole family. Available as [services.mealie](#opt-services.mealie.enable)
enable=lib.mkEnableOption"Mealie, a recipe manager and meal planner";
package=lib.mkPackageOptionpkgs"mealie"{};
listenAddress=lib.mkOption{
type=lib.types.str;
default="0.0.0.0";
description="Address on which the service should listen.";
};
port=lib.mkOption{
type=lib.types.port;
default=9000;
description="Port on which to serve the Mealie service.";
};
settings=lib.mkOption{
type=withlib.types;attrsOfanything;
default={};
description=lib.mdDoc''
Configuration of the Mealie service.
See [the mealie documentation](https://nightly.mealie.io/documentation/getting-started/installation/backend-config/) for available options and default values.
In addition to the official documentation, you can set {env}`MEALIE_LOG_FILE`.
'';
example={
ALLOW_SIGNUP="false";
};
};
credentialsFile=lib.mkOption{
type=withlib.types;nullOrpath;
default=null;
example="/run/secrets/mealie-credentials.env";
description=''
File containing credentials used in mealie such as {env}`POSTGRES_PASSWORD`
or sensitive LDAP options.
Expects the format of an `EnvironmentFile=`, as described by {manpage}`systemd.exec(5)`.
'';
};
};
config=lib.mkIfcfg.enable{
systemd.services.mealie={
description="Mealie, a self hosted recipe manager and meal planner";