{ self, pkgs, lib, config, ... }: let inherit (lib.my) slugify; mkURLEntry = name: url: icon: { name = slugify name; value = { inherit name icon; terminal = false; exec = "${pkgs.xdg-utils}/bin/xdg-open \"${url}\""; }; }; in { xdg = { desktopEntries = builtins.listToAttrs [ (mkURLEntry "Paperless" "https://paperless.ccnlc.eu" "${self}/assets/favicon-paperless.png") (mkURLEntry "KitchenOwl" "https://kitchenowl.ccnlc.eu" "${self}/assets/favicon-kitchenowl.png") (mkURLEntry "Discord" "https://discord.com/app" "${self}/assets/favicon-discord.png") ]; userDirs = let home = config.home.homeDirectory; disable = a: lib.listToAttrs ( lib.map (key: { name = key; value = null; }) a ); in (lib.mapAttrs (_: folder: "${home}/${folder}") { download = "downloads"; videos = "videos"; pictures = "pictures"; }) // (disable [ "music" "documents" "templates" "publicShare" "desktop" ]) // { enable = true; createDirectories = true; extraConfig = { XDG_DEVEL_DIR = "${home}/devel"; }; }; }; }