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

72 lines
1.4 KiB
Nix
Raw Normal View History

2024-11-15 21:32:51 -08:00
{
lib,
config,
pkgs,
...
}: let
inherit (lib) mkEnableOption mkIf;
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
2025-01-12 09:44:58 -08:00
marleyos = {
theme = {
colors = {
default = "dark";
2024-11-16 23:36:51 -08:00
2025-01-12 09:44:58 -08:00
dark = {
base = "rose-pine";
flavor = "main";
};
light = {
base = "rose-pine";
flavor = "dawn";
};
2024-11-16 23:36:51 -08:00
};
2025-01-12 09:44:58 -08:00
icons = {
package = pkgs.kora-icon-theme;
name = "kora";
2024-11-16 23:36:51 -08:00
};
2025-01-12 12:12:40 -08:00
fonts = {
monospace = {
package = pkgs.maple-mono-NF;
name = "Maple Mono NF";
ligatures = [
"cv02"
"ss01"
"ss02"
"ss03"
"ss04"
"ss05"
];
};
};
2024-11-15 21:32:51 -08:00
};
2025-01-12 09:44:58 -08:00
apps = {
pinentry =
if isDesktop
then pkgs.pinentry-gtk2
else pkgs.pinentry-curses;
2024-11-15 21:32:51 -08:00
};
};
};
}