aboutsummaryrefslogtreecommitdiff
path: root/modules/targets/generic-linux.nix
diff options
context:
space:
mode:
Diffstat (limited to 'modules/targets/generic-linux.nix')
-rw-r--r--modules/targets/generic-linux.nix14
1 files changed, 12 insertions, 2 deletions
diff --git a/modules/targets/generic-linux.nix b/modules/targets/generic-linux.nix
index a2d4189f401..47fcc87b3c0 100644
--- a/modules/targets/generic-linux.nix
+++ b/modules/targets/generic-linux.nix
@@ -14,14 +14,24 @@ in {
GNU/Linux distributions other than NixOS.
'';
};
+
+ extraXdgDataDirs = mkOption {
+ type = types.listOf types.str;
+ default = [ ];
+ example = [ "/usr/share" "/usr/local/share" ];
+ description = ''
+ List of directory names to add to <envar>XDG_DATA_DIRS</envar>.
+ '';
+ };
};
config = mkIf config.targets.genericLinux.enable {
home.sessionVariables = let
profiles =
[ "\${NIX_STATE_DIR:-/nix/var/nix}/profiles/default" profileDirectory ];
- dataDirs =
- concatStringsSep ":" (map (profile: "${profile}/share") profiles);
+ dataDirs = concatStringsSep ":"
+ (map (profile: "${profile}/share") profiles
+ ++ config.targets.genericLinux.extraXdgDataDirs);
in { XDG_DATA_DIRS = "${dataDirs}\${XDG_DATA_DIRS:+:}$XDG_DATA_DIRS"; };
home.sessionVariablesExtra = ''