From 865293c5080abfb0031bd1602f21f48ef206c739 Mon Sep 17 00:00:00 2001 From: Jan Tojnar Date: Sat, 24 Aug 2019 14:39:02 +0200 Subject: [PATCH 1/2] xdg-user-dirs: deprioritize shipped configs XDG_CONFIG_DIRS should contain directories ordered by priority so if we want users to be able to customize the defaults, we need to move the shipped values to the end. --- pkgs/tools/X11/xdg-user-dirs/default.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pkgs/tools/X11/xdg-user-dirs/default.nix b/pkgs/tools/X11/xdg-user-dirs/default.nix index c72fab015d9..066b566be1f 100644 --- a/pkgs/tools/X11/xdg-user-dirs/default.nix +++ b/pkgs/tools/X11/xdg-user-dirs/default.nix @@ -11,8 +11,9 @@ stdenv.mkDerivation rec { buildInputs = [ libxslt docbook_xsl makeWrapper ]; preFixup = '' + # fallback values need to be last wrapProgram "$out/bin/xdg-user-dirs-update" \ - --prefix XDG_CONFIG_DIRS : "$out/etc/xdg" + --suffix XDG_CONFIG_DIRS : "$out/etc/xdg" ''; meta = with stdenv.lib; { From 48426833c861ad8c4e601324462b352c58b8b230 Mon Sep 17 00:00:00 2001 From: Jan Tojnar Date: Sat, 24 Aug 2019 16:01:01 +0200 Subject: [PATCH 2/2] nixos/environment: prepend /etc/xdg to XDG_CONFIG_DIRS MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Previously, we were only adding profile-relative paths to XDG_CONFIG_DIRS variable. That required very ugly hacks like https://github.com/NixOS/nixpkgs/issues/33282#issuecomment-524550842 to be able to configure XDG stuff. Now, we are prepending the variable with /etc/xdg, allowing us to simply use `environment.etc."xdg/…"` options. --- nixos/modules/programs/environment.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/nixos/modules/programs/environment.nix b/nixos/modules/programs/environment.nix index 4d762314298..66eb8348266 100644 --- a/nixos/modules/programs/environment.nix +++ b/nixos/modules/programs/environment.nix @@ -21,6 +21,7 @@ in PAGER = mkDefault "less -R"; EDITOR = mkDefault "nano"; XCURSOR_PATH = [ "$HOME/.icons" ]; + XDG_CONFIG_DIRS = [ "/etc/xdg" ]; # needs to be before profile-relative paths to allow changes through environment.etc }; environment.profiles = mkAfter