feat(themes): theme system and 12 colorscheme modules
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
parent
6e87d8e186
commit
23f1f31a23
12 changed files with 4043 additions and 0 deletions
219
modules/themes/catppuccin.nix
Normal file
219
modules/themes/catppuccin.nix
Normal file
|
|
@ -0,0 +1,219 @@
|
|||
{
|
||||
config,
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
|
||||
{
|
||||
# Catppuccin Mocha theme configuration
|
||||
config = {
|
||||
# Set theme wallpaper
|
||||
omni.desktop.wallpaper = ./wallpapers/catppuccin/1-catppuccin.png;
|
||||
|
||||
# Hyprland theme colors (from omarchy)
|
||||
environment.etc."omni/hyprland/theme.conf".text = ''
|
||||
general {
|
||||
col.active_border = rgb(c6d0f5)
|
||||
col.inactive_border = rgba(313244aa)
|
||||
}
|
||||
decoration {
|
||||
col.shadow = rgba(1e1e2eee)
|
||||
}
|
||||
'';
|
||||
|
||||
# Color palette
|
||||
environment.variables = {
|
||||
OMNI_THEME = "catppuccin";
|
||||
OMNI_THEME_BG = "#1e1e2e";
|
||||
OMNI_THEME_FG = "#cdd6f4";
|
||||
OMNI_THEME_ACCENT = "#cba6f7";
|
||||
};
|
||||
|
||||
# Home-manager theme configuration
|
||||
home-manager.users.${config.omni.user or "user"} = {
|
||||
# Alacritty theme
|
||||
programs.alacritty.settings.colors = {
|
||||
primary = {
|
||||
background = "#1e1e2e";
|
||||
foreground = "#cdd6f4";
|
||||
dim_foreground = "#a6adc8";
|
||||
bright_foreground = "#cdd6f4";
|
||||
};
|
||||
|
||||
cursor = {
|
||||
text = "#1e1e2e";
|
||||
cursor = "#f5e0dc";
|
||||
};
|
||||
|
||||
vi_mode_cursor = {
|
||||
text = "#1e1e2e";
|
||||
cursor = "#b4befe";
|
||||
};
|
||||
|
||||
search = {
|
||||
matches = {
|
||||
foreground = "#1e1e2e";
|
||||
background = "#a6adc8";
|
||||
};
|
||||
focused_match = {
|
||||
foreground = "#1e1e2e";
|
||||
background = "#a6e3a1";
|
||||
};
|
||||
};
|
||||
|
||||
hints = {
|
||||
start = {
|
||||
foreground = "#1e1e2e";
|
||||
background = "#f9e2af";
|
||||
};
|
||||
end = {
|
||||
foreground = "#1e1e2e";
|
||||
background = "#a6adc8";
|
||||
};
|
||||
};
|
||||
|
||||
selection = {
|
||||
text = "#1e1e2e";
|
||||
background = "#f5e0dc";
|
||||
};
|
||||
|
||||
normal = {
|
||||
black = "#45475a";
|
||||
red = "#f38ba8";
|
||||
green = "#a6e3a1";
|
||||
yellow = "#f9e2af";
|
||||
blue = "#89b4fa";
|
||||
magenta = "#f5c2e7";
|
||||
cyan = "#94e2d5";
|
||||
white = "#bac2de";
|
||||
};
|
||||
|
||||
bright = {
|
||||
black = "#585b70";
|
||||
red = "#f38ba8";
|
||||
green = "#a6e3a1";
|
||||
yellow = "#f9e2af";
|
||||
blue = "#89b4fa";
|
||||
magenta = "#f5c2e7";
|
||||
cyan = "#94e2d5";
|
||||
white = "#a6adc8";
|
||||
};
|
||||
|
||||
dim = {
|
||||
black = "#45475a";
|
||||
red = "#f38ba8";
|
||||
green = "#a6e3a1";
|
||||
yellow = "#f9e2af";
|
||||
blue = "#89b4fa";
|
||||
magenta = "#f5c2e7";
|
||||
cyan = "#94e2d5";
|
||||
white = "#bac2de";
|
||||
};
|
||||
};
|
||||
|
||||
# GTK theme
|
||||
gtk = {
|
||||
theme = {
|
||||
name = "Catppuccin-Mocha-Standard-Lavender-Dark";
|
||||
package = pkgs.catppuccin-gtk.override {
|
||||
accents = [ "lavender" ];
|
||||
size = "standard";
|
||||
variant = "mocha";
|
||||
};
|
||||
};
|
||||
iconTheme = {
|
||||
name = "Papirus-Dark";
|
||||
package = pkgs.catppuccin-papirus-folders.override {
|
||||
flavor = "mocha";
|
||||
accent = "lavender";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
# Starship theme
|
||||
programs.starship.settings = {
|
||||
palette = "catppuccin_mocha";
|
||||
|
||||
palettes.catppuccin_mocha = {
|
||||
rosewater = "#f5e0dc";
|
||||
flamingo = "#f2cdcd";
|
||||
pink = "#f5c2e7";
|
||||
mauve = "#cba6f7";
|
||||
red = "#f38ba8";
|
||||
maroon = "#eba0ac";
|
||||
peach = "#fab387";
|
||||
yellow = "#f9e2af";
|
||||
green = "#a6e3a1";
|
||||
teal = "#94e2d5";
|
||||
sky = "#89dceb";
|
||||
sapphire = "#74c7ec";
|
||||
blue = "#89b4fa";
|
||||
lavender = "#b4befe";
|
||||
text = "#cdd6f4";
|
||||
subtext1 = "#bac2de";
|
||||
subtext0 = "#a6adc8";
|
||||
overlay2 = "#9399b2";
|
||||
overlay1 = "#7f849c";
|
||||
overlay0 = "#6c7086";
|
||||
surface2 = "#585b70";
|
||||
surface1 = "#45475a";
|
||||
surface0 = "#313244";
|
||||
base = "#1e1e2e";
|
||||
mantle = "#181825";
|
||||
crust = "#11111b";
|
||||
};
|
||||
|
||||
format = ''
|
||||
[╭─](surface2)$username[@](yellow)$hostname [in ](text)$directory$git_branch$git_status$cmd_duration
|
||||
[╰─](surface2)$character
|
||||
'';
|
||||
|
||||
character = {
|
||||
success_symbol = "[➜](green)";
|
||||
error_symbol = "[➜](red)";
|
||||
};
|
||||
|
||||
directory = {
|
||||
style = "blue";
|
||||
};
|
||||
|
||||
git_branch = {
|
||||
style = "mauve";
|
||||
symbol = " ";
|
||||
};
|
||||
|
||||
git_status = {
|
||||
style = "red";
|
||||
};
|
||||
};
|
||||
|
||||
# Mako notification theme
|
||||
services.mako = {
|
||||
settings = {
|
||||
background-color = "#1e1e2e";
|
||||
text-color = "#cdd6f4";
|
||||
border-color = "#cba6f7";
|
||||
progress-color = "#cba6f7";
|
||||
default-timeout = 5000;
|
||||
border-radius = 10;
|
||||
border-size = 2;
|
||||
font = "JetBrainsMono Nerd Font 10";
|
||||
};
|
||||
padding = "10";
|
||||
margin = "20";
|
||||
};
|
||||
};
|
||||
|
||||
# Hyprland theme colors
|
||||
environment.systemPackages = with pkgs; [
|
||||
(writeShellScriptBin "set-catppuccin-colors" ''
|
||||
#!/usr/bin/env bash
|
||||
# Set Catppuccin Mocha colors in Hyprland
|
||||
hyprctl keyword general:col.active_border "rgba(cba6f7ee) rgba(89b4faee) 45deg"
|
||||
hyprctl keyword general:col.inactive_border "rgba(585b70aa)"
|
||||
hyprctl keyword decoration:col.shadow "rgba(1e1e2eee)"
|
||||
'')
|
||||
];
|
||||
};
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue