diff options
Diffstat (limited to 'modules/targets/generic-linux.nix')
-rw-r--r-- | modules/targets/generic-linux.nix | 14 |
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 = '' |