30 lines
823 B
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; };
|
|
};
|
|
};
|
|
}
|