nixos/preload: init
[NixPkgs.git] / nixos / modules / services / x11 / gdk-pixbuf.nix
blob9c088e4cc4237742923344909c898751d24198fe
1 { config, lib, pkgs, ... }:
3 let
4   cfg = config.services.xserver.gdk-pixbuf;
6   loadersCache = pkgs.gnome._gdkPixbufCacheBuilder_DO_NOT_USE {
7     extraLoaders = lib.unique (cfg.modulePackages);
8   };
9 in
12   options = {
13     services.xserver.gdk-pixbuf.modulePackages = lib.mkOption {
14       type = lib.types.listOf lib.types.package;
15       default = [ ];
16       description = lib.mdDoc "Packages providing GDK-Pixbuf modules, for cache generation.";
17     };
18   };
20   # If there is any package configured in modulePackages, we generate the
21   # loaders.cache based on that and set the environment variable
22   # GDK_PIXBUF_MODULE_FILE to point to it.
23   config = lib.mkIf (cfg.modulePackages != []) {
24     environment.sessionVariables = {
25       GDK_PIXBUF_MODULE_FILE = "${loadersCache}";
26     };
27   };