nixos-config/common/style/vars/vars.nix
2026-01-24 09:44:01 -05:00

95 lines
2.7 KiB
Nix

{
lib,
pkgs,
config,
...
}:
{
options.theme = lib.mkOption {
type = lib.types.attrs;
default = {
rounding = 20;
gaps-in = 10;
gaps-out = 10 * 2;
active-opacity = 0.96;
inactive-opacity = 0.92;
blur = true;
border-size = 3;
animation-speed = "fast"; # "fast" | "medium" | "slow"
fetch = "none"; # "nerdfetch" | "neofetch" | "pfetch" | "none"
textColorOnWallpaper = config.lib.stylix.colors.base01; # Color of the text displayed on the wallpaper (Lockscreen, display manager, ...)
bar = {
# Hyprpanel
position = "top"; # "top" | "bottom"
transparent = true;
transparentButtons = false;
floating = true;
};
};
description = "Theme configuration options";
};
config.stylix = {
enable = true;
targets.zen-browser.profileNames = [ "Default Profile" ];
# See https://tinted-theming.github.io/tinted-gallery/ for more schemes
# base16Scheme = "${pkgs.base16-schemes}/share/themes/catppuccin-latte.yaml";
base16Scheme = {
base00 = "E5D68B"; # Default Background
base01 = "D3BA68"; # Lighter Background (selection bg / subtle UI)
base02 = "9D9870"; # Selection Background / secondary bg
base03 = "6F664D"; # Comments, Invisibles, Line Highlighting
base04 = "7E7769"; # Dark Foreground (Status bars / line numbers)
base05 = "3F321F"; # Default Foreground, Caret, Text
base06 = "3A3427"; # Light Foreground (rarely used)
base07 = "3A3427"; # Light Background (rarely used)
base08 = "B5563A"; # Variables, Deleted (red-ish)
base09 = "A34700"; # Integers / Constants (orange)
base0A = "775700"; # Classes / Search Background (yellow)
base0B = "2A712D"; # Strings / Inserted (green)
base0C = "1C7E7E"; # Regex / Support / Quotes (cyan)
base0D = "1964A6"; # Functions / Headings / Methods (blue)
base0E = "5A2FCC"; # Keywords / Storage (purple)
base0F = "9D4750"; # Deprecated / Embedded tags (extra warm)
};
cursor = {
name = "phinger-cursors-light";
package = pkgs.phinger-cursors;
size = 20;
};
fonts = {
serif = {
package = pkgs.lmodern;
name = "Latin Modern Roman";
};
sansSerif = {
package = pkgs.inter;
name = "Inter";
};
monospace = {
package = pkgs.fira-code;
name = "Fire Code";
};
emoji = {
package = pkgs.noto-fonts-color-emoji;
name = "Noto Color Emoji";
};
sizes = {
applications = 13;
desktop = 13;
popups = 13;
terminal = 13;
};
};
polarity = "light";
image = lib.mkForce ../../../wallpapers/oasis.png;
};
}