{ config, lib, pkgs, ... }: let locales = pkgs.glibcLocales.override { allLocales = true; }; fonts = with pkgs; [ cantarell-fonts dejavu_fonts liberation_ttf gyre-fonts source-sans source-code-pro ]; fontCache = pkgs.makeFontsCache { inherit (pkgs) fontconfig; fontDirectories = fonts; }; fontConfigFile = pkgs.writeTextDir "etc/fonts/conf.d/00-nixpak-fonts.conf" '' ${lib.concatStringsSep "\n" (map (font: "${font}") fonts)} ${lib.optionalString (pkgs.stdenv.hostPlatform == pkgs.stdenv.buildPlatform) '' ${fontCache} ''} ''; fc = pkgs.buildEnv { name = "nixpak-font-env"; paths = [ fontConfigFile pkgs.fontconfig.out ]; pathsToLink = "/etc/fonts"; }; in { config = { dbus.policies = { "${config.flatpak.appId}" = "own"; "org.freedesktop.DBus" = "talk"; "org.gtk.vfs.*" = "talk"; "org.gtk.vfs" = "talk"; "ca.desrt.dconf" = "talk"; "org.freedesktop.portal.*" = "talk"; "org.a11y.Bus" = "talk"; }; gpu.enable = lib.mkDefault true; gpu.provider = "bundle"; bubblewrap = { network = lib.mkDefault false; bind.rw = [ "$HOME/.cache/fontconfig" "$HOME/.cache/mesa_shader_cache" "$XDG_RUNTIME_DIR/$WAYLAND_DISPLAY" "$XDG_RUNTIME_DIR/at-spi/bus" "$XDG_RUNTIME_DIR/gvfsd" "$XDG_RUNTIME_DIR/pulse" ]; bind.ro = [ [ "${fc}/etc/fonts" "/etc/fonts" ] "$XDG_RUNTIME_DIR/doc" "$HOME/.config/gtk-2.0" "$HOME/.config/gtk-3.0" "$HOME/.config/gtk-4.0" ]; env = { XDG_DATA_DIRS = lib.makeSearchPath "share" [ pkgs.gnome.adwaita-icon-theme pkgs.shared-mime-info ]; XCURSOR_PATH = lib.concatStringsSep ":" [ "${pkgs.gnome.adwaita-icon-theme}/share/icons" "${pkgs.gnome.adwaita-icon-theme}/share/pixmaps" ]; LOCALE_ARCHIVE = "${locales}/lib/locale/locale-archive"; }; }; }; }