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

66 lines
1.3 KiB
Nix
Raw Normal View History

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