{ config, lib, pkgs, ... }: let cfg = config.os.srv.loki; in { options.os.srv.loki.enable = lib.mkEnableOption "enables loki"; config = lib.mkIf cfg.enable { services.loki = { enable = true; configFile = pkgs.writeText "loki-config.yaml" ( builtins.toJSON { auth_enabled = false; server = { http_listen_port = 3100; }; common = { ring = { kvstore = { store = "inmemory"; }; }; instance_interface_names = [ "lo" ]; }; ingester = { lifecycler = { address = "127.0.0.1"; }; }; storage_config = { filesystem = { directory = "/var/lib/loki/chunks"; }; }; schema_config = { configs = [ { from = "2020-10-24"; store = "tsdb"; object_store = "filesystem"; schema = "v13"; index = { prefix = "index_"; period = "24h"; }; } ]; }; } ); }; }; }