lifetracker/modules/components/theming/default.nix
2025-02-02 19:06:55 -08:00

89 lines
2.1 KiB
Nix

{
config,
inputs,
lib,
username,
pkgs,
vars,
...
}:
let
cfg = config.catppuccinTheming;
in
#cursor-theme = "Catppuccin-${flavor-upper}-${accent-upper}";
{
options = {
catppuccinTheming = {
enable = lib.mkEnableOption "Enable catppuccinTheming in NixOS & home-manager";
};
};
config = lib.mkIf cfg.enable {
stylix = {
enable = true;
autoEnable = true;
image = ./wallpapers/biking-sunset.jpg;
base16Scheme = "${pkgs.base16-schemes}/share/themes/catppuccin-frappe.yaml";
opacity.terminal = 0.8;
cursor.package = pkgs.bibata-cursors;
cursor.name = "Bibata-Modern-Ice";
cursor.size = 24;
fonts = {
monospace = {
package = pkgs.nerd-fonts.jetbrains-mono;
name = "JetBrainsMono Nerd Font Mono";
};
sansSerif = {
package = pkgs.inter;
name = "Inter";
};
serif = {
package = pkgs.montserrat;
name = "Montserrat";
};
sizes = {
applications = 12;
terminal = 15;
desktop = 11;
popups = 12;
};
};
};
fonts = {
packages = with pkgs; [
noto-fonts-emoji
noto-fonts-cjk-sans
font-awesome
material-icons
];
};
home-manager.users.${username} = {
stylix = {
targets = {
kitty.enable = true;
foot.enable = true;
mangohud.enable = false;
};
autoEnable = true;
};
services.xsettingsd = {
settings = {
# "Gtk/CursorThemeSize" = 24;
# "Gtk/CursorThemeName" = "${cursor-theme}";
# "Gtk/FontName" = "${sans-font}, 12";
"Net/IconThemeName" = "Papirus-Dark";
# "Net/ThemeName" = "${GTK-THEME}";
};
};
gtk = {
iconTheme = {
package = pkgs.catppuccin-papirus-folders;
name = "cat-mocha-lavender";
};
gtk3.extraConfig.gtk-sound-theme-name = "ocean";
gtk4.extraConfig.gtk-sound-theme-name = "ocean";
};
};
};
}