main
 1{
 2  den.aspects.desktop.xdg-user-dirs = {
 3    persistHome = {config, ...}: {
 4      directories = with config.xdg.userDirs; [
 5        desktop
 6        documents
 7        music
 8        pictures
 9        projects
10        publicShare
11        templates
12        videos
13      ];
14    };
15    cacheHome = {config, ...}: let
16    in {
17      directories = [
18        config.xdg.userDirs.download
19      ];
20    };
21
22    nixos = {
23      environment.variables = {
24        XCOMPOSECACHE = "$XDG_CACHE_HOME/X11/xcompose";
25      };
26    };
27
28    homeManager = {config, ...}: {
29      xdg.userDirs = {
30        enable = true;
31        createDirectories = true;
32        setSessionVariables = true;
33
34        desktop = "${config.home.homeDirectory}/Desktop";
35        documents = "${config.home.homeDirectory}/Documents";
36        download = "${config.home.homeDirectory}/Downloads";
37        music = "${config.home.homeDirectory}/Musics";
38        pictures = "${config.home.homeDirectory}/Pictures";
39        projects = "${config.home.homeDirectory}/Development";
40        publicShare = "${config.home.homeDirectory}/Share";
41        templates = "${config.home.homeDirectory}/Templates";
42        videos = "${config.home.homeDirectory}/Videos";
43
44        extraConfig = {
45          SCREENSHOTS = "${config.xdg.userDirs.pictures}/Screenshots";
46        };
47      };
48    };
49  };
50}