grafana-alloy: don't build the frontend twice
[NixPkgs.git] / nixos / modules / programs / gdk-pixbuf.nix
blobf96259ccd2c783840ffaac6a826bd787ad879e16
1 { config, lib, pkgs, ... }:
3 let
4   cfg = config.programs.gdk-pixbuf;
6   loadersCache = pkgs.gnome._gdkPixbufCacheBuilder_DO_NOT_USE {
7     extraLoaders = lib.unique cfg.modulePackages;
8   };
9 in
12   imports = [
13     (lib.mkRenamedOptionModule [ "services" "xserver" "gdk-pixbuf" ] [ "programs" "gdk-pixbuf" ])
14   ];
16   options = {
17     programs.gdk-pixbuf.modulePackages = lib.mkOption {
18       type = lib.types.listOf lib.types.package;
19       default = [ ];
20       description = "Packages providing GDK-Pixbuf modules, for cache generation.";
21     };
22   };
24   # If there is any package configured in modulePackages, we generate the
25   # loaders.cache based on that and set the environment variable
26   # GDK_PIXBUF_MODULE_FILE to point to it.
27   config = lib.mkIf (cfg.modulePackages != []) {
28     environment.sessionVariables = {
29       GDK_PIXBUF_MODULE_FILE = loadersCache;
30     };
31   };