flake/modules/nixos/theme/default.nix
2024-11-30 11:18:51 +00:00

44 lines
1.1 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.nerd-fonts.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 nerd-fonts.mononoki ];
};
}