{ config, lib, pkgs, ... }: let homeDir = config.home.homeDirectory; pro = config.py.profiles; in { xdg = { enable = true; mime.enable = lib.mkIf pro.gui.enable true; configHome = lib.mkForce "${homeDir}/.config"; dataHome = lib.mkForce "${homeDir}/.local/share"; portal = lib.mkIf pro.gui.enable { enable = true; xdgOpenUsePortal = true; extraPortals = [ pkgs.xdg-desktop-portal-gtk ]; config = { common = { default = [ "hyprland" "gtk" ]; "org.freedesktop.impl.portal.FileChooser" = [ "gtk" ]; }; }; }; mimeApps = lib.mkIf pro.gui.enable { enable = true; associations.added = { "application/pdf" = [ "firefox.desktop" ]; "application/rdf+xml" = [ "firefox.desktop" ]; "application/rss+xml" = [ "firefox.desktop" ]; "application/xhtml+xml" = [ "firefox.desktop" ]; "application/xhtml_xml" = [ "firefox.desktop" ]; "application/xml" = [ "firefox.desktop" ]; "image/gif" = [ "viewnior.desktop" "firefox.desktop" ]; "image/jpeg" = [ "viewnior.desktop" "firefox.desktop" ]; "image/png" = [ "viewnior.desktop" "firefox.desktop" ]; "image/webp" = [ "viewnior.desktop" "firefox.desktop" ]; "text/html" = [ "firefox.desktop" ]; "text/xml" = [ "firefox.desktop" ]; "x-scheme-handler/http" = [ "firefox.desktop" ]; "x-scheme-handler/https" = [ "firefox.desktop" ]; "x-scheme-handler/about" = [ "firefox.desktop" ]; "x-scheme-handler/unknown" = [ "firefox.desktop" ]; "x-scheme-handler/mailto" = [ "thunderbird.desktop" "firefox.desktop" ]; "x-scheme-handler/webcal" = [ "firefox.desktop" "thunderbird.desktop" ]; }; defaultApplications = { "application/pdf" = [ "firefox.desktop" ]; "application/rdf+xml" = [ "firefox.desktop" ]; "application/rss+xml" = [ "firefox.desktop" ]; "application/xhtml+xml" = [ "firefox.desktop" ]; "application/xhtml_xml" = [ "firefox.desktop" ]; "application/xml" = [ "firefox.desktop" ]; "image/gif" = [ "viewnior.desktop" "firefox.desktop" ]; "image/jpeg" = [ "viewnior.desktop" "firefox.desktop" ]; "image/png" = [ "viewnior.desktop" "firefox.desktop" ]; "image/webp" = [ "viewnior.desktop" "firefox.desktop" ]; "text/html" = [ "firefox.desktop" ]; "text/xml" = [ "firefox.desktop" ]; "x-scheme-handler/http" = [ "firefox.desktop" ]; "x-scheme-handler/https" = [ "firefox.desktop" ]; "x-scheme-handler/about" = [ "firefox.desktop" ]; "x-scheme-handler/unknown" = [ "firefox.desktop" ]; "x-scheme-handler/mailto" = [ "thunderbird.desktop" "firefox.desktop" ]; "x-scheme-handler/webcal" = [ "firefox.desktop" "thunderbird.desktop" ]; "x-scheme-handler/steam" = [ "steam-native.desktop" "steam.desktop" ]; "x-scheme-handler/steamlink" = [ "steam-native.desktop" "steam.desktop" ]; }; }; userDirs = { enable = true; createDirectories = true; music = "$HOME/music"; publicShare = "$HOME/.xdg/share"; templates = "$HOME/.xdg/templates"; }; }; }