{ lib, writeTextFile }: /* Create an XDG Portals configuration with the given desktop name and its configuration. Similarly, the given desktop name is assumed to be already in its suitable form of a lowercase ASCII. */ { desktopName ? "common", # Nix-representable data to be exported as the portal configuration. config, }: writeTextFile { name = "xdg-portal-config${lib.optionalString (desktopName != "common") "-${desktopName}"}"; text = lib.generators.toINI { } config; destination = "/share/xdg-desktop-portal/${lib.optionalString (desktopName != "common") "${desktopName}-"}portals.conf"; }