{ lib, config, pkgs, ... }: let inherit (lib) mkEnableOption mkIf; 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 ]; 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 = { enable = true; defaultFonts.monospace = ["Maple Mono NF"]; }; }; }