lib/builders: add settings attribute for XDG MIME list builder

This commit is contained in:
Gabriel Arazas 2025-02-28 14:54:05 +08:00
parent 72b6d22f71
commit 494cfe614f
No known key found for this signature in database
GPG Key ID: 62104B43D00AA360

View File

@ -10,6 +10,11 @@
# with. # with.
desktopName ? "", desktopName ? "",
# Optional Nix-representable settings in INI format. Mutually exclusive with
# `addedAssociations`, `removedAssociations`, and `defaultApplications` and
# basically ignores proper checking if set.
settings ? { },
# Applications to be put in `Added Associations`. This is not set when the # Applications to be put in `Added Associations`. This is not set when the
# database is desktop-specific (when the `desktopName` is non-empty.) # database is desktop-specific (when the `desktopName` is non-empty.)
addedAssociations ? { }, addedAssociations ? { },
@ -28,7 +33,9 @@ writeTextFile {
text = text =
# Non-desktop-specific mimeapps.list are only allowed to specify # Non-desktop-specific mimeapps.list are only allowed to specify
# default applications. # default applications.
lib.generators.toINI { } ({ lib.generators.toINI { } (
if (settings != { }) then settings
else {
"Default Applications" = defaultApplications; "Default Applications" = defaultApplications;
} // (lib.optionalAttrs (desktopName == "") { } // (lib.optionalAttrs (desktopName == "") {
"Added Associations" = addedAssociations; "Added Associations" = addedAssociations;