old
1{
2 den.aspects.core.xdg-dir = {
3 cacheUser = {
4 user,
5 config,
6 ...
7 }: {
8 directories = [
9 config.hjem.users.${user.userName}.xdg.cache.directory
10 ];
11 };
12
13 nixos = {
14 environment.sessionVariables = {
15 XDG_CACHE_HOME = "\${HOME}/.cache";
16 XDG_CONFIG_HOME = "\${HOME}/.config";
17 XDG_DATA_HOME = "\${HOME}/.local/share";
18 XDG_STATE_HOME = "\${HOME}/.local/state";
19 XDG_BIN_HOME = "\${HOME}/.local/bin";
20 };
21 };
22
23 hjem = {config, ...}: {
24 environment.sessionVariables = {
25 XDG_BIN_HOME = "${config.directory}/.local/bin";
26 };
27
28 xdg = {
29 cache.directory = "${config.directory}/.cache";
30 config.directory = "${config.directory}/.config";
31 data.directory = "${config.directory}/.local/share";
32 state.directory = "${config.directory}/.local/state";
33 };
34 };
35
36 homeManager = {config, ...}: {
37 home.preferXdgDirectories = true;
38
39 xdg = {
40 enable = true;
41 # Use absolue path for persistence
42 binHome = "${config.home.homeDirectory}/.local/bin";
43 cacheHome = "${config.home.homeDirectory}/.cache";
44 configHome = "${config.home.homeDirectory}/.config";
45 dataHome = "${config.home.homeDirectory}/.local/share";
46 stateHome = "${config.home.homeDirectory}/.local/state";
47 };
48 };
49 };
50}