wrapper-manager/dconf: add keyfiles option

This commit is contained in:
Gabriel Arazas 2024-08-29 21:08:24 +08:00
parent c6754dc8dd
commit 8658febe8d
No known key found for this signature in database
GPG Key ID: 62104B43D00AA360

View File

@ -41,13 +41,19 @@ in
"dconf-profile" "dconf-profile"
(lib.concatMapStrings (db: "${db}\n") submoduleCfg.profile); (lib.concatMapStrings (db: "${db}\n") submoduleCfg.profile);
dconfDirName = "wrapper-manager-dconf-${config.executableName}";
dconfSettings = dconfSettings =
settingsFormat.generate dconfDirName submoduleCfg.settings; settingsFormat.generate "wrapper-manager-dconf-${config.executableName}-settings" submoduleCfg.settings;
keyfilesDir = pkgs.symlinkJoin {
name = "wrapper-manager-dconf-${config.executableName}";
paths = submoduleCfg.keyfiles ++ [ "${dconfSettings}/dconf" ];
};
dconfSettingsDatabase = dconfSettingsDatabase =
pkgs.runCommand "wrapper-manager-dconf-${config.executableName}-database" { nativeBuildInputs = [ submoduleCfg.package ]; } '' pkgs.runCommand "wrapper-manager-dconf-${config.executableName}-database" {
dconf compile ${builtins.placeholder "out"} "${dconfSettings}/dconf" nativeBuildInputs = [ submoduleCfg.package ];
} ''
dconf compile ${builtins.placeholder "out"} "${keyfilesDir}"
''; '';
in { in {
options.dconf = { options.dconf = {
@ -73,6 +79,20 @@ in
''; '';
}; };
keyfiles = lib.mkOption {
type = with lib.types; listOf path;
description = ''
Additional list of keyfiles to be included as part of the dconf
database.
'';
default = [ ];
example = lib.literalExpression ''
[
./config/dconf/90-extra-settings.conf
]
'';
};
profile = lib.mkOption { profile = lib.mkOption {
type = with lib.types; listOf str; type = with lib.types; listOf str;
description = '' description = ''