marleyos/modules/home/appearance/base/default.nix

65 lines
1.3 KiB
Nix

{
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
};
};
};
}