48 lines
1.3 KiB
Nix
48 lines
1.3 KiB
Nix
{ config, lib, ... }:
|
|
let
|
|
cfg = config.xdg.userDirs;
|
|
|
|
in
|
|
{
|
|
imports = [
|
|
./mimetypes.nix
|
|
./directory-spec-overrides.nix
|
|
];
|
|
|
|
xdg = {
|
|
enable = true;
|
|
userDirs = {
|
|
enable = true;
|
|
desktop = lib.mkDefault "${config.home.homeDirectory}/Desktop";
|
|
documents = lib.mkDefault "${config.home.homeDirectory}/documents";
|
|
download = lib.mkDefault "${config.home.homeDirectory}/downloads";
|
|
music = lib.mkDefault "${config.home.homeDirectory}/music";
|
|
pictures = lib.mkDefault "${config.home.homeDirectory}/pictures";
|
|
publicShare = lib.mkDefault "${config.home.homeDirectory}/public";
|
|
templates = lib.mkDefault "${config.home.homeDirectory}/templates";
|
|
videos = lib.mkDefault "${config.home.homeDirectory}/videos";
|
|
};
|
|
};
|
|
|
|
home.sessionVariables.XDG_SCREENSHOTS_DIR = "${cfg.pictures}/screenshots";
|
|
|
|
systemd.user.tmpfiles.settings."05-xdg-userdirs" = let
|
|
dirCfg = {
|
|
d = {
|
|
user = config.home.username;
|
|
mode = "0700";
|
|
};
|
|
};
|
|
in {
|
|
"${cfg.desktop}" = dirCfg;
|
|
"${cfg.documents}" = dirCfg;
|
|
"${cfg.download}" = dirCfg;
|
|
"${cfg.music}" = dirCfg;
|
|
"${cfg.pictures}" = dirCfg;
|
|
"${cfg.publicShare}" = dirCfg;
|
|
"${cfg.templates}" = dirCfg;
|
|
"${cfg.videos}" = dirCfg;
|
|
"${config.home.sessionVariables.XDG_SCREENSHOTS_DIR}" = dirCfg;
|
|
};
|
|
}
|