{ pkgs, lib, config, ... }: let cfg = config.dynamicism.for.harmonia; settingsFormat = pkgs.formats.toml { }; # FIXME: referring to config.dynamicism.finalSettings.* in here # makes lib.checkAssertWarn in the generic module cause infinite recursion. finalSettings = config.services.harmonia.settings; configFile = settingsFormat.generate "harmonia-override.toml" finalSettings; in { dynamicism.for.harmonia = { source-options = [ "services.harmonia.settings" ]; unitDropins."harmonia.service" = pkgs.writeTextFile { name = "harmonia-override.conf"; text = '' [Service] Environment=CONFIG_FILE=${configFile} ''; passthru = { inherit configFile; }; }; }; }