nixos/modules/services/meilisearch.nix
2023-08-26 12:17:30 +08:00

30 lines
804 B
Nix

inputs:
{
options.nixos.services.meilisearch = let inherit (inputs.lib) mkOption types; in
{
enable = mkOption { type = types.bool; default = false; };
};
config =
let
inherit (inputs.config.nixos.services) meilisearch;
inherit (inputs.lib) mkMerge mkAfter concatStringsSep mkIf;
inherit (inputs.localLib) stripeTabs attrsToList;
inherit (builtins) map listToAttrs filter;
in mkIf meilisearch.enable
{
services.meilisearch =
{
enable = true;
listenAddress = "0.0.0.0";
noAnalytics = false;
environment = "production";
masterKeyEnvironmentFile = inputs.sops.template."meilisearch-env".path;
};
sops =
{
template."meilisearch-env".content = "MEILI_MASTER_KEY=${inputs.sops.placeholder.meilisearch}";
secrets.meilisearch = {};
};
};
}