From b1e0bfc77114dbeba134741c10b522586f87b17f Mon Sep 17 00:00:00 2001 From: Robert Helgesson Date: Thu, 21 Dec 2017 12:19:07 +0100 Subject: [PATCH] fontconfig: make fonts accessible when in NixOS module --- modules/misc/fontconfig.nix | 38 +++++++++++++++++++++++++++---------- 1 file changed, 28 insertions(+), 10 deletions(-) diff --git a/modules/misc/fontconfig.nix b/modules/misc/fontconfig.nix index e76e135e..67678323 100644 --- a/modules/misc/fontconfig.nix +++ b/modules/misc/fontconfig.nix @@ -28,14 +28,32 @@ in }; }; - config = mkIf cfg.enableProfileFonts { - xdg.configFile."fontconfig/conf.d/10-nix-profile-fonts.conf".text = '' - - - - ~/.nix-profile/lib/X11/fonts - ~/.nix-profile/share/fonts - - ''; - }; + config = mkMerge [ + (mkIf cfg.enableProfileFonts { + xdg.configFile."fontconfig/conf.d/10-nix-profile-fonts.conf".text = '' + + + + ~/.nix-profile/lib/X11/fonts + ~/.nix-profile/share/fonts + + ''; + }) + + # If we are inside a NixOS system configuration then packages are + # installed through the NixOS `users.users..packages` + # option. Unfortunately fontconfig does not know about the + # per-user installation directory so we have to add that directory + # in a extra configuration file. + (mkIf config.nixosSubmodule { + xdg.configFile."fontconfig/conf.d/10-nix-per-user-fonts.conf".text = '' + + + + /etc/per-user-pkgs/${config.home.username}/lib/X11/fonts + /etc/per-user-pkgs/${config.home.username}/share/fonts + + ''; + }) + ]; }