main
 1{
 2  flake.modules.homeManager.desktop = {
 3    config,
 4    pkgs,
 5    ...
 6  }: {
 7    home.packages = with pkgs; [
 8      xdg-utils # provides cli tools such as `xdg-mime` `xdg-open`
 9      xdg-user-dirs
10    ];
11
12    xdg.userDirs = {
13      enable = true;
14      createDirectories = true;
15      # Use English user directroy path
16      desktop = "${config.home.homeDirectory}/Desktop";
17      documents = "${config.home.homeDirectory}/Documents";
18      download = "${config.home.homeDirectory}/Downloads";
19      music = "${config.home.homeDirectory}/Music";
20      pictures = "${config.home.homeDirectory}/Pictures";
21      publicShare = "${config.home.homeDirectory}/Public";
22      templates = "${config.home.homeDirectory}/Templates";
23      videos = "${config.home.homeDirectory}/Videos";
24      extraConfig = {
25        PROJECTS = "${config.home.homeDirectory}/Development";
26        SCREENSHOTS = "${config.xdg.userDirs.pictures}/Screenshots";
27      };
28    };
29    xdg.configFile."mimeapps.list".force = true;
30    xdg.mimeApps.enable = true;
31  };
32}