home/homedir-structure: use modern tmpfiles api

This commit is contained in:
2025-05-05 21:14:42 +02:00
parent 86fb8dde57
commit 6cad08b8f3

View File

@@ -1,27 +1,40 @@
{ config, ... }: { config, ... }:
let {
home = config.home.homeDirectory; systemd.user.tmpfiles.settings."05-homedir" = let
user = config.home.username; home = config.home.homeDirectory;
in { user = config.home.username;
systemd.user.tmpfiles.rules = [
"d ${home}/SD - ${user} - - -"
"d ${home}/ctf - ${user} - - -"
"d ${home}/git - ${user} - - -"
"d ${home}/pvv - ${user} - - -"
"d ${home}/work - ${user} - - -"
"d ${home}/pictures/icons - ${user} - - -" defaultDirConf = {
"d ${home}/pictures/photos - ${user} - - -" d = {
"d ${home}/pictures/screenshots - ${user} - - -" inherit user;
"d ${home}/pictures/stickers - ${user} - - -" };
"d ${home}/pictures/wallpapers - ${user} - - -" };
"d ${home}/documents/books - ${user} - - -" symlink = target: {
"d ${home}/documents/scans - ${user} - - -" L = {
inherit user;
argument = target;
};
};
in {
"${home}/SD" = defaultDirConf;
"${home}/ctf" = defaultDirConf;
"${home}/git" = defaultDirConf;
"${home}/pvv" = defaultDirConf;
"${home}/work" = defaultDirConf;
"L ${home}/Downloads - ${user} - - ${home}/downloads" "${home}/pictures/icons" = defaultDirConf;
"${home}/pictures/photos" = defaultDirConf;
"${home}/pictures/screenshots" = defaultDirConf;
"${home}/pictures/stickers" = defaultDirConf;
"${home}/pictures/wallpapers" = defaultDirConf;
"L ${config.xdg.dataHome}/wallpapers - ${user} - - ${home}/pictures/wallpapers" "${home}/documents/books" = defaultDirConf;
"L ${config.home.sessionVariables.TEXMFHOME} - ${user} - - ${home}/git/texmf" "${home}/documents/scans" = defaultDirConf;
];
"${home}/Downloads" = symlink "${home}/downloads";
"${config.xdg.dataHome}/wallpapers" = symlink "${home}/pictures/wallpapers";
"${config.home.sessionVariables.TEXMFHOME}" = symlink "${home}/git/texmf";
};
} }