dynix/modules/dynamicism/harmonia.nix

30 lines
823 B
Nix

# SPDX-FileCopyrightText: 2026 Qyriad <qyriad@qyriad.me>
#
# SPDX-License-Identifier: EUPL-1.1
{ 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; };
};
};
}