main
 1{den, ...}: {
 2  den.aspects.desktop.includes = [den.aspects.desktop.xdg-user-dirs];
 3  den.aspects.desktop.xdg-user-dirs = {
 4    nixos = {
 5      environment.variables = {
 6        XCOMPOSECACHE = "$XDG_CACHE_HOME/X11/xcompose";
 7      };
 8    };
 9
10    provides.to-users = {
11      includes = [
12        {
13          persistHome = {config, ...}: {
14            directories = with config.xdg.user-dirs.directories; [
15              desktop
16              documents
17              music
18              pictures
19              projects
20              publicShare
21              templates
22              videos
23            ];
24          };
25        }
26        {
27          cacheHome = {config, ...}: {
28            directories = [
29              config.xdg.user-dirs.directories.download
30            ];
31          };
32        }
33      ];
34
35      hjem = {config, ...}: {
36        imports = [./_hjem-module.nix];
37
38        xdg.user-dirs = {
39          enable = true;
40          setSessionVariables = true;
41          directories = {
42            desktop = "${config.directory}/Desktop";
43            documents = "${config.directory}/Documents";
44            download = "${config.directory}/Downloads";
45            music = "${config.directory}/Musics";
46            pictures = "${config.directory}/Pictures";
47            projects = "${config.directory}/Development";
48            videos = "${config.directory}/Videos";
49            publicShare = "${config.directory}/Share";
50            templates = "${config.directory}/Templates";
51
52            screenshots = "${config.xdg.user-dirs.directories.pictures}/Screenshots";
53          };
54        };
55      };
56    };
57  };
58}