xdg.nix (1318B)
1 { pkgs, ... }: 2 { 3 home.sessionVariables = { 4 EDITOR = "nvim"; 5 BROWSER = "firefox"; 6 TERMINAL = "st"; 7 FILE_BROWSER = "lf"; 8 XDG_SESSION_TYPE = "x11"; 9 XDG_DESKTOP_DIR = "$HOME/desktop"; 10 XDG_DOWNLOAD_DIR = "$HOME/downloads"; 11 XDG_PUBLICSHARE_DIR = "$HOME/cloud"; 12 }; 13 xdg.enable = true; 14 15 xdg.mimeApps = { 16 enable = true; 17 defaultApplications = { 18 "text/html" = "firefox.desktop"; 19 "x-scheme-handler/http" = "firefox.desktop"; 20 "x-scheme-handler/https" = "firefox.desktop"; 21 "x-scheme-handler/magnet" = "torrent.desktop"; 22 "application/x-bittorrent" = "torrent.desktop"; 23 "x-scheme-handler/mailto" = "mail.desktop"; 24 "message/rfc822" = "mail.desktop"; 25 "application/pdf" = "pdf.desktop"; 26 "text/calendar" = "cal.desktop"; 27 "image/png" = "img.desktop"; 28 "image/jpeg" = "img.desktop"; 29 "image/jpg" = "img.desktop"; 30 "image/bmp" = "img.desktop"; 31 "image/webp" = "img.desktop"; 32 "image/svg+xml" = "img.desktop"; 33 "image/gif" = "gif.desktop"; 34 "text/plain" = "text.desktop"; 35 "text/x-readme" = "text.desktop"; 36 }; 37 }; 38 39 xdg.portal = { 40 enable = true; 41 extraPortals = [ 42 pkgs.xdg-desktop-portal-gtk 43 pkgs.xdg-desktop-portal-gnome 44 pkgs.xdg-desktop-portal-wlr 45 ]; 46 }; 47 }