refactor(home): share XDG base configuration

This commit is contained in:
Ryan Yin
2026-08-30 12:45:24 +08:00
parent 16e48e5740
commit 2cd3a1cee4
5 changed files with 48 additions and 17 deletions
+10
View File
@@ -0,0 +1,10 @@
{ config, ... }:
{
xdg = {
enable = true;
cacheHome = "${config.home.homeDirectory}/.cache";
configHome = "${config.home.homeDirectory}/.config";
dataHome = "${config.home.homeDirectory}/.local/share";
stateHome = "${config.home.homeDirectory}/.local/state";
};
}
-3
View File
@@ -17,7 +17,4 @@
../base/gui ../base/gui
../base/home.nix ../base/home.nix
]; ];
# enable management of XDG base directories on macOS.
xdg.enable = true;
} }
+1 -10
View File
@@ -16,15 +16,7 @@
xdg-user-dirs xdg-user-dirs
]; ];
xdg = { xdg.userDirs = {
enable = true;
cacheHome = "${config.home.homeDirectory}/.cache";
configHome = "${config.home.homeDirectory}/.config";
dataHome = "${config.home.homeDirectory}/.local/share";
stateHome = "${config.home.homeDirectory}/.local/state";
userDirs = {
enable = true; enable = true;
setSessionVariables = true; setSessionVariables = true;
createDirectories = true; createDirectories = true;
@@ -32,5 +24,4 @@
SCREENSHOTS = "${config.xdg.userDirs.pictures}/Screenshots"; SCREENSHOTS = "${config.xdg.userDirs.pictures}/Screenshots";
}; };
}; };
};
} }
@@ -0,0 +1,14 @@
{ myvars, lib }:
let
username = myvars.username;
in
lib.genAttrs
[
"ai-niri"
"aquamarine"
"ruby"
]
(_: {
enable = true;
stateHome = "/home/${username}/.local/state";
})
@@ -0,0 +1,19 @@
{
myvars,
lib,
outputs,
}:
let
username = myvars.username;
hosts = [
"ai-niri"
"aquamarine"
"ruby"
];
in
lib.genAttrs hosts (name: {
inherit (outputs.nixosConfigurations.${name}.config.home-manager.users.${username}.xdg)
enable
stateHome
;
})