Regenerated
This commit is contained in:
+362
-362
File diff suppressed because it is too large
Load Diff
@@ -1,53 +0,0 @@
|
|||||||
# --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. ---
|
|
||||||
{ lib, config, pkgs, ... }:
|
|
||||||
|
|
||||||
let
|
|
||||||
cfg = config.xdg.userDirs;
|
|
||||||
in
|
|
||||||
{
|
|
||||||
options.xdg.userDirs = {
|
|
||||||
enable = lib.mkEnableOption "XDG User Directories";
|
|
||||||
|
|
||||||
directories = lib.mkOption {
|
|
||||||
type = lib.types.attrsOf lib.types.str;
|
|
||||||
default = {
|
|
||||||
DESKTOP = "Desktop";
|
|
||||||
DOWNLOAD = "Downloads";
|
|
||||||
TEMPLATES = "Templates";
|
|
||||||
PUBLICSHARE = "Public";
|
|
||||||
DOCUMENTS = "Documents";
|
|
||||||
MUSIC = "Music";
|
|
||||||
PICTURES = "Pictures";
|
|
||||||
VIDEOS = "Videos";
|
|
||||||
};
|
|
||||||
description = ''
|
|
||||||
XDG User Directories.
|
|
||||||
Specify the subdirectory names for each XDG user directory type.
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
config = lib.mkIf cfg.enable {
|
|
||||||
environment.sessionVariables = lib.genAttrs cfg.directories (
|
|
||||||
dirName: dirValue:
|
|
||||||
let
|
|
||||||
dirUpper = builtins.toUpper dirName;
|
|
||||||
dataHome = config.xdg.dataHome or ("/home/" + (config.defaultUser or "henrov"));
|
|
||||||
in
|
|
||||||
"XDG_${dirUpper}_DIR" -> "${dataHome}/${dirValue}"
|
|
||||||
);
|
|
||||||
|
|
||||||
system.activationScripts.xdgUserDirs = let
|
|
||||||
dataHome = config.xdg.dataHome or ("/home/" + (config.defaultUser or "henrov"));
|
|
||||||
userName = builtins.elemAt (builtins.attrNames config.users.users) or "henrov";
|
|
||||||
in ''
|
|
||||||
mkdir -p ${builtins.toJSON (
|
|
||||||
builtins.attrValues (
|
|
||||||
builtins.mapAttrs (dirName: dirValue: "${dataHome}/${dirValue}")
|
|
||||||
cfg.directories
|
|
||||||
)
|
|
||||||
)}
|
|
||||||
chown -R ${userName}: "${dataHome}"
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
}
|
|
||||||
Reference in New Issue
Block a user