flake/modules/nixos/theme/default.nix
2024-06-14 16:38:47 +00:00

49 lines
1.2 KiB
Nix

{ pkgs, lib, config, ... }:
let
cfg = config.mods.theme;
in {
options.mods.theme = {
enable = lib.mkEnableOption "enables stylix system theme";
scheme = lib.mkOption {
default = "gruvbox-dark-medium";
description = "system color scheme";
apply = value: "${pkgs.base16-schemes}/share/themes/${value}.yaml";
};
wallpaper = lib.mkOption {
default = ./wallpaper.png;
description = "desktop wallpaper";
};
};
config = lib.mkIf cfg.enable {
stylix.enable = true;
stylix.autoEnable = true;
stylix.base16Scheme = cfg.scheme;
stylix.image = cfg.wallpaper;
stylix.cursor = {
name = "phinger-cursors-light";
package = pkgs.phinger-cursors;
size = 16;
};
stylix.fonts = {
monospace = {
package = pkgs.mononoki;
name = "Mononoki Nerd Font";
};
emoji = {
package = pkgs.noto-fonts-emoji;
name = "OpenMoji Color";
};
serif = config.stylix.fonts.monospace;
sansSerif = config.stylix.fonts.monospace;
};
fonts.packages = with pkgs; [
openmoji-color
mononoki
(nerdfonts.override { fonts = [ "Mononoki" ]; })
];
};
}