This repository has been archived on 2025-10-08. You can view files and clone it, but you cannot make any changes to it's state, such as pushing and creating new issues, pull requests or comments.
nixos-config/options/home/theme.nix

72 lines
1.8 KiB
Nix

{
lib,
pkgs,
inputs,
config,
...
}:
let
inherit (lib) mkIf mkEnableOption;
cfg = config.home.theme;
in
{
imports = [ inputs.catppuccin.homeModules.catppuccin ];
options.home.theme = {
catppuccin = {
enable = mkEnableOption "Catppuccin Theme.";
kitty.enable = mkEnableOption "Kitty catppuccin Theme.";
helix.enable = mkEnableOption "Helix catppuccin Theme.";
vscodium.enable = mkEnableOption "VSCodium catppuccin Theme.";
};
};
config = mkIf cfg.catppuccin.enable {
fonts.fontconfig.enable = true;
home.packages = with pkgs; [
noto-fonts
noto-fonts-emoji
noto-fonts-cjk-sans
nerd-fonts.jetbrains-mono
];
programs.kitty = mkIf cfg.catppuccin.kitty.enable {
themeFile = "Catppuccin-Macchiato";
settings = {
cursor_trail = 3;
};
font = {
name = "JetBrainsMono Nerd Font";
size = 14;
};
};
catppuccin.helix = mkIf cfg.catppuccin.helix.enable {
enable = true;
flavor = "macchiato";
};
programs.vscode.profiles.default = mkIf cfg.catppuccin.vscodium.enable {
extensions = with pkgs.vscode-marketplace; [
catppuccin.catppuccin-vsc
catppuccin.catppuccin-vsc-icons
];
userSettings = {
"workbench.colorTheme" = "Catppuccin Macchiato";
"workbench.iconTheme" = "catppuccin-macchiato";
"editor.fontFamily" = "'JetBrainsMono Nerd Font'";
"editor.fontLigatures" = true;
"editor.fontSize" = 16;
"terminal.integrated.fontFamily" = "'JetBrainsMono Nerd Font'";
"terminal.integrated.fontLigatures.enabled" = true;
"terminal.integrated.fontSize" = 14;
"editor.minimap.sectionHeaderFontSize" = 16;
"editor.suggestFontSize" = 16;
};
};
};
}