{ lib, config, pkgs, system, ... }: let inherit (lib) mkEnableOption mkIf; inherit (lib.snowfall.system) is-linux; inherit (lib.marleyos) enabled; cfg = config.marleyos.appearance.base; inherit (config.marleyos.theme) colors; inherit (config.marleyos) isDesktop; in { options.marleyos.appearance.base.enable = mkEnableOption "base"; config = mkIf cfg.enable { home.packages = with pkgs; [ # TODO: package font with harfbuzz features. maple-mono-NF dm-sans eb-garamond whatsapp-emoji-font ]; rose-pine.pointerCursor = mkIf colors.isRosePine enabled; marleyos.theme = { colors = { default = "dark"; dark = { base = "rose-pine"; flavor = "main"; }; light = { base = "rose-pine"; flavor = "dawn"; }; }; icons = { package = pkgs.kora-icon-theme; name = "kora"; }; pinentry = if isDesktop then pkgs.pinentry-gtk2 else pkgs.pinentry-curses; }; fonts.fontconfig = mkIf (is-linux system) { enable = true; defaultFonts = { monospace = ["Maple Mono NF"]; sansSerif = ["DeepMind Sans"]; # dm-sans serif = ["EB Garamond"]; emoji = ["Apple Color Emoji"]; # whatsapp-emoji-font }; }; }; }