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.
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
# database is desktop-specific (when the `desktopName` is non-empty.)
addedAssociations ? { },
@ -28,12 +33,14 @@ writeTextFile {
text =
# Non-desktop-specific mimeapps.list are only allowed to specify
# default applications.
lib.generators.toINI { } ({
"Default Applications" = defaultApplications;
} // (lib.optionalAttrs (desktopName == "") {
"Added Associations" = addedAssociations;
"Removed Associations" = removedAssociations;
}));
lib.generators.toINI { } (
if (settings != { }) then settings
else {
"Default Applications" = defaultApplications;
} // (lib.optionalAttrs (desktopName == "") {
"Added Associations" = addedAssociations;
"Removed Associations" = removedAssociations;
}));
destination = "/share/applications/${
lib.optionalString (desktopName != "") "${desktopName}-"
}mimeapps.list";