{ config, lib, system, pkgs, ... }: let inherit (lib.snowfall.system) is-linux; inherit (config.marleyos) isDesktop; in { config = { home.preferXdgDirectories = true; xdg = let homeDir = config.home.homeDirectory; in lib.mkMerge [ { enable = true; cacheHome = "${homeDir}/.cache"; configHome = "${homeDir}/.config"; dataHome = "${homeDir}/.local/share"; stateHome = "${homeDir}/.local/state"; } (lib.mkIf (isDesktop && (is-linux system)) { userDirs = { enable = true; createDirectories = true; desktop = "${homeDir}/desktop"; documents = null; download = "${homeDir}/downloads"; music = null; pictures = "${homeDir}/pictures"; templates = null; videos = "${homeDir}/videos"; }; portal = { enable = true; xdgOpenUsePortal = true; extraPortals = [pkgs.xdg-desktop-portal-gtk]; config.common.default = ["gtk"]; }; mimeApps = rec { enable = true; associations.added = { "application/json" = ["nvim.desktop"]; "application/pdf" = ["org.pwmt.zathura-pdf-mupdf.desktop"]; "application/xhtml+xml" = ["zen-alpha.desktop"]; "application/x-extension-htm" = ["zen-alpha.desktop"]; "application/x-extension-html" = ["zen-alpha.desktop"]; "application/x-extension-shtml" = ["zen-alpha.desktop"]; "application/x-extension-xhtml" = ["zen-alpha.desktop"]; "application/x-extension-xht" = ["zen-alpha.desktop"]; "image/png" = ["feh.desktop"]; "text/html" = ["zen-alpha.desktop"]; "text/plain" = ["nvim.desktop"]; "x-scheme-handler/chrome" = ["zen-alpha.desktop"]; "x-scheme-handler/http" = ["zen-alpha.desktop"]; "x-scheme-handler/https" = ["zen-alpha.desktop"]; }; defaultApplications = associations.added; }; }) ]; }; }