fixed themeing and added more of the omarchy features going for a vm test now

This commit is contained in:
theArctesian
2025-09-24 19:19:22 -07:00
parent eb5f9ef7da
commit a8795b9d82
50 changed files with 6876 additions and 171 deletions
+355
View File
@@ -0,0 +1,355 @@
{ config, pkgs, lib, ... }:
# Catppuccin Latte theme for OmniXY
# A soothing light theme with excellent contrast
with lib;
let
cfg = config.omnixy;
omnixy = import ../helpers.nix { inherit config pkgs lib; };
# Catppuccin Latte color palette
colors = {
# Base colors (light theme)
base = "#eff1f5"; # Light background
mantle = "#e6e9ef"; # Slightly darker background
crust = "#dce0e8"; # Crust background
# Text colors
text = "#4c4f69"; # Main text
subtext1 = "#5c5f77"; # Subtext 1
subtext0 = "#6c6f85"; # Subtext 0
# Surface colors
surface0 = "#ccd0da"; # Surface 0
surface1 = "#bcc0cc"; # Surface 1
surface2 = "#acb0be"; # Surface 2
# Overlay colors
overlay0 = "#9ca0b0"; # Overlay 0
overlay1 = "#8c8fa1"; # Overlay 1
overlay2 = "#7c7f93"; # Overlay 2
# Accent colors
rosewater = "#dc8a78"; # Rosewater
flamingo = "#dd7878"; # Flamingo
pink = "#ea76cb"; # Pink
mauve = "#8839ef"; # Mauve
red = "#d20f39"; # Red
maroon = "#e64553"; # Maroon
peach = "#fe640b"; # Peach
yellow = "#df8e1d"; # Yellow
green = "#40a02b"; # Green
teal = "#179299"; # Teal
sky = "#04a5e5"; # Sky
sapphire = "#209fb5"; # Sapphire
blue = "#1e66f5"; # Blue
lavender = "#7287fd"; # Lavender
};
in
{
config = mkIf (cfg.enable or true) (mkMerge [
# System-level theme configuration
{
# Set theme wallpaper
omnixy.desktop.wallpaper = ./wallpapers/catppuccin-latte/1-catppuccin-latte.png;
# Hyprland theme colors (from omarchy)
environment.etc."omnixy/hyprland/theme.conf".text = ''
general {
col.active_border = rgb(1e66f5)
col.inactive_border = rgba(9ca0b0aa)
}
decoration {
col.shadow = rgba(4c4f69ee)
}
'';
# GTK theme (light theme)
programs.dconf.enable = true;
# Environment variables for consistent theming
environment.variables = {
GTK_THEME = "Adwaita";
QT_STYLE_OVERRIDE = "adwaita";
OMNIXY_THEME_COLORS_BG = colors.base;
OMNIXY_THEME_COLORS_FG = colors.text;
OMNIXY_THEME_COLORS_ACCENT = colors.blue;
};
# Console colors (adapted for light theme)
console = {
colors = [
colors.surface2 # black
colors.red # red
colors.green # green
colors.yellow # yellow
colors.blue # blue
colors.mauve # magenta
colors.teal # cyan
colors.text # white
colors.overlay1 # bright black
colors.red # bright red
colors.green # bright green
colors.yellow # bright yellow
colors.blue # bright blue
colors.mauve # bright magenta
colors.teal # bright cyan
colors.text # bright white
];
};
}
# User-specific theme configuration
(omnixy.forUser {
# GTK configuration (light theme)
gtk = {
enable = true;
theme = {
name = "Adwaita";
package = pkgs.gnome-themes-extra;
};
iconTheme = {
name = "Papirus";
package = pkgs.papirus-icon-theme;
};
gtk3.extraConfig = {
gtk-application-prefer-dark-theme = 0;
};
gtk4.extraConfig = {
gtk-application-prefer-dark-theme = 0;
};
};
# Qt theming (light theme)
qt = {
enable = true;
platformTheme.name = "adwaita";
style.name = "adwaita";
};
# Kitty terminal theme
programs.kitty = mkIf (omnixy.isEnabled "coding" || omnixy.isEnabled "media") {
enable = true;
themeFile = "Catppuccin-Latte";
settings = {
background = colors.base;
foreground = colors.text;
selection_background = colors.surface1;
selection_foreground = colors.text;
# Cursor colors
cursor = colors.text;
cursor_text_color = colors.base;
# URL underline color when hovering
url_color = colors.blue;
# Tab colors
active_tab_background = colors.blue;
active_tab_foreground = colors.base;
inactive_tab_background = colors.surface0;
inactive_tab_foreground = colors.subtext1;
# Window border colors
active_border_color = colors.blue;
inactive_border_color = colors.overlay0;
};
};
# Alacritty terminal theme
programs.alacritty = mkIf (omnixy.isEnabled "coding" || omnixy.isEnabled "media") {
enable = true;
settings = {
colors = {
primary = {
background = colors.base;
foreground = colors.text;
};
cursor = {
text = colors.base;
cursor = colors.text;
};
normal = {
black = colors.surface1;
red = colors.red;
green = colors.green;
yellow = colors.yellow;
blue = colors.blue;
magenta = colors.mauve;
cyan = colors.teal;
white = colors.text;
};
bright = {
black = colors.overlay1;
red = colors.red;
green = colors.green;
yellow = colors.yellow;
blue = colors.blue;
magenta = colors.mauve;
cyan = colors.teal;
white = colors.text;
};
};
};
};
# Waybar theme
programs.waybar = mkIf (omnixy.isEnabled "media" || omnixy.isEnabled "gaming") {
enable = true;
style = ''
* {
font-family: "JetBrainsMono Nerd Font";
font-size: 13px;
border: none;
border-radius: 0;
min-height: 0;
}
window#waybar {
background: ${colors.base};
color: ${colors.text};
border-bottom: 2px solid ${colors.blue};
}
#workspaces button {
padding: 0 8px;
background: transparent;
color: ${colors.subtext1};
border-bottom: 2px solid transparent;
}
#workspaces button.active {
color: ${colors.blue};
border-bottom-color: ${colors.blue};
}
#workspaces button:hover {
color: ${colors.text};
background: ${colors.surface0};
}
#clock, #battery, #cpu, #memory, #network, #pulseaudio {
padding: 0 10px;
margin: 0 2px;
background: ${colors.surface0};
color: ${colors.text};
}
#battery.critical {
color: ${colors.red};
}
#battery.warning {
color: ${colors.yellow};
}
'';
};
# Rofi theme
programs.rofi = mkIf (omnixy.isEnabled "media" || omnixy.isEnabled "gaming") {
enable = true;
theme = {
"*" = {
background-color = mkLiteral colors.base;
foreground-color = mkLiteral colors.text;
border-color = mkLiteral colors.blue;
separatorcolor = mkLiteral colors.surface0;
scrollbar-handle = mkLiteral colors.blue;
};
"#window" = {
border = mkLiteral "2px";
border-radius = mkLiteral "8px";
padding = mkLiteral "20px";
};
"#element selected" = {
background-color = mkLiteral colors.blue;
text-color = mkLiteral colors.base;
};
};
};
# Mako notification theme
services.mako = mkIf (omnixy.isEnabled "media" || omnixy.isEnabled "gaming") {
enable = true;
settings = {
font = "JetBrainsMono Nerd Font 10";
background-color = colors.base;
text-color = colors.text;
border-color = colors.blue;
border-size = 2;
border-radius = 8;
padding = "10";
margin = "5";
default-timeout = 5000;
progress-color = colors.blue;
};
};
# VSCode theme
programs.vscode = mkIf (omnixy.isEnabled "coding") {
enable = true;
userSettings = {
"workbench.colorTheme" = "Catppuccin Latte";
"workbench.preferredLightColorTheme" = "Catppuccin Latte";
"editor.fontFamily" = "'JetBrainsMono Nerd Font', 'Droid Sans Mono', 'monospace'";
"terminal.integrated.fontFamily" = "'JetBrainsMono Nerd Font'";
};
};
# Neovim theme
programs.neovim = mkIf (omnixy.isEnabled "coding") {
enable = true;
extraConfig = ''
set background=light
colorscheme catppuccin-latte
'';
plugins = with pkgs.vimPlugins; [
catppuccin-nvim
];
};
# Git diff and bat theme
programs.bat.config.theme = "Catppuccin-latte";
# btop theme - using latte theme
programs.btop.settings.color_theme = "catppuccin-latte";
# Lazygit theme
programs.lazygit.settings = {
gui.theme = {
lightTheme = true;
selectedLineBgColor = [ colors.surface0 ];
selectedRangeBgColor = [ colors.surface0 ];
};
};
# Zsh/shell prompt colors
programs.starship = mkIf (omnixy.isEnabled "coding") {
enable = true;
settings = {
format = "$directory$git_branch$git_status$character";
character = {
success_symbol = "[➜](bold ${colors.green})";
error_symbol = "[➜](bold ${colors.red})";
};
directory = {
style = "bold ${colors.blue}";
};
git_branch = {
style = "bold ${colors.mauve}";
};
git_status = {
style = "bold ${colors.yellow}";
};
};
};
})
]);
}
+14
View File
@@ -3,6 +3,20 @@
{
# Catppuccin Mocha theme configuration
config = {
# Set theme wallpaper
omnixy.desktop.wallpaper = ./wallpapers/catppuccin/1-catppuccin.png;
# Hyprland theme colors (from omarchy)
environment.etc."omnixy/hyprland/theme.conf".text = ''
general {
col.active_border = rgb(c6d0f5)
col.inactive_border = rgba(313244aa)
}
decoration {
col.shadow = rgba(1e1e2eee)
}
'';
# Color palette
environment.variables = {
OMNIXY_THEME = "catppuccin";
+348
View File
@@ -0,0 +1,348 @@
{ config, pkgs, lib, ... }:
# Everforest theme for OmniXY
# A green based color scheme with warm, comfortable tones
with lib;
let
cfg = config.omnixy;
omnixy = import ../helpers.nix { inherit config pkgs lib; };
# Everforest Dark color palette
colors = {
# Background colors
bg = "#2d353b"; # Dark background
bg_dim = "#232a2e"; # Dimmer background
bg_red = "#3c302a"; # Red background
bg_visual = "#543a48"; # Visual selection background
bg_yellow = "#45443c"; # Yellow background
bg_green = "#3d4313"; # Green background
bg_blue = "#384b55"; # Blue background
# Foreground colors
fg = "#d3c6aa"; # Light foreground
red = "#e67e80"; # Red
orange = "#e69875"; # Orange
yellow = "#dbbc7f"; # Yellow
green = "#a7c080"; # Green
aqua = "#83c092"; # Aqua
blue = "#7fbbb3"; # Blue
purple = "#d699b6"; # Purple
grey0 = "#7a8478"; # Grey 0
grey1 = "#859289"; # Grey 1
grey2 = "#9da9a0"; # Grey 2
# Status line colors
statusline1 = "#a7c080"; # Green for active
statusline2 = "#d3c6aa"; # Foreground for inactive
statusline3 = "#e67e80"; # Red for errors
};
in
{
config = mkIf (cfg.enable or true) (mkMerge [
# System-level theme configuration
{
# Set theme wallpaper
omnixy.desktop.wallpaper = ./wallpapers/everforest/1-everforest.jpg;
# Hyprland theme colors (from omarchy)
environment.etc."omnixy/hyprland/theme.conf".text = ''
general {
col.active_border = rgb(d3c6aa)
col.inactive_border = rgba(445349aa)
}
decoration {
col.shadow = rgba(232a2eee)
}
'';
# GTK theme
programs.dconf.enable = true;
# Environment variables for consistent theming
environment.variables = {
GTK_THEME = "Adwaita-dark";
QT_STYLE_OVERRIDE = "adwaita-dark";
OMNIXY_THEME_COLORS_BG = colors.bg;
OMNIXY_THEME_COLORS_FG = colors.fg;
OMNIXY_THEME_COLORS_ACCENT = colors.green;
};
# Console colors
console = {
colors = [
colors.bg_dim # black
colors.red # red
colors.green # green
colors.yellow # yellow
colors.blue # blue
colors.purple # magenta
colors.aqua # cyan
colors.grey1 # white
colors.grey0 # bright black
colors.red # bright red
colors.green # bright green
colors.yellow # bright yellow
colors.blue # bright blue
colors.purple # bright magenta
colors.aqua # bright cyan
colors.fg # bright white
];
};
}
# User-specific theme configuration
(omnixy.forUser {
# GTK configuration
gtk = {
enable = true;
theme = {
name = "Adwaita-dark";
package = pkgs.gnome-themes-extra;
};
iconTheme = {
name = "Papirus-Dark";
package = pkgs.papirus-icon-theme;
};
gtk3.extraConfig = {
gtk-application-prefer-dark-theme = 1;
};
gtk4.extraConfig = {
gtk-application-prefer-dark-theme = 1;
};
};
# Qt theming
qt = {
enable = true;
platformTheme.name = "adwaita";
style.name = "adwaita-dark";
};
# Kitty terminal theme
programs.kitty = mkIf (omnixy.isEnabled "coding" || omnixy.isEnabled "media") {
enable = true;
themeFile = "Everforest Dark Medium";
settings = {
background = colors.bg;
foreground = colors.fg;
selection_background = colors.bg_visual;
selection_foreground = colors.fg;
# Cursor colors
cursor = colors.fg;
cursor_text_color = colors.bg;
# URL underline color when hovering
url_color = colors.blue;
# Tab colors
active_tab_background = colors.green;
active_tab_foreground = colors.bg;
inactive_tab_background = colors.bg_dim;
inactive_tab_foreground = colors.grey1;
# Window border colors
active_border_color = colors.green;
inactive_border_color = colors.grey0;
};
};
# Alacritty terminal theme
programs.alacritty = mkIf (omnixy.isEnabled "coding" || omnixy.isEnabled "media") {
enable = true;
settings = {
colors = {
primary = {
background = colors.bg;
foreground = colors.fg;
};
cursor = {
text = colors.bg;
cursor = colors.fg;
};
normal = {
black = colors.bg_dim;
red = colors.red;
green = colors.green;
yellow = colors.yellow;
blue = colors.blue;
magenta = colors.purple;
cyan = colors.aqua;
white = colors.grey1;
};
bright = {
black = colors.grey0;
red = colors.red;
green = colors.green;
yellow = colors.yellow;
blue = colors.blue;
magenta = colors.purple;
cyan = colors.aqua;
white = colors.fg;
};
};
};
};
# Waybar theme
programs.waybar = mkIf (omnixy.isEnabled "media" || omnixy.isEnabled "gaming") {
enable = true;
style = ''
* {
font-family: "JetBrainsMono Nerd Font";
font-size: 13px;
border: none;
border-radius: 0;
min-height: 0;
}
window#waybar {
background: ${colors.bg};
color: ${colors.fg};
border-bottom: 2px solid ${colors.green};
}
#workspaces button {
padding: 0 8px;
background: transparent;
color: ${colors.grey1};
border-bottom: 2px solid transparent;
}
#workspaces button.active {
color: ${colors.green};
border-bottom-color: ${colors.green};
}
#workspaces button:hover {
color: ${colors.fg};
background: ${colors.bg_dim};
}
#clock, #battery, #cpu, #memory, #network, #pulseaudio {
padding: 0 10px;
margin: 0 2px;
background: ${colors.bg_dim};
color: ${colors.fg};
}
#battery.critical {
color: ${colors.red};
}
#battery.warning {
color: ${colors.yellow};
}
'';
};
# Rofi theme
programs.rofi = mkIf (omnixy.isEnabled "media" || omnixy.isEnabled "gaming") {
enable = true;
theme = {
"*" = {
background-color = mkLiteral colors.bg;
foreground-color = mkLiteral colors.fg;
border-color = mkLiteral colors.green;
separatorcolor = mkLiteral colors.bg_dim;
scrollbar-handle = mkLiteral colors.green;
};
"#window" = {
border = mkLiteral "2px";
border-radius = mkLiteral "8px";
padding = mkLiteral "20px";
};
"#element selected" = {
background-color = mkLiteral colors.green;
text-color = mkLiteral colors.bg;
};
};
};
# Mako notification theme
services.mako = mkIf (omnixy.isEnabled "media" || omnixy.isEnabled "gaming") {
enable = true;
settings = {
font = "JetBrainsMono Nerd Font 10";
background-color = colors.bg;
text-color = colors.fg;
border-color = colors.green;
border-size = 2;
border-radius = 8;
padding = "10";
margin = "5";
default-timeout = 5000;
progress-color = colors.green;
};
};
# VSCode theme
programs.vscode = mkIf (omnixy.isEnabled "coding") {
enable = true;
userSettings = {
"workbench.colorTheme" = "Everforest Dark";
"workbench.preferredDarkColorTheme" = "Everforest Dark";
"editor.fontFamily" = "'JetBrainsMono Nerd Font', 'Droid Sans Mono', 'monospace'";
"terminal.integrated.fontFamily" = "'JetBrainsMono Nerd Font'";
};
};
# Neovim theme
programs.neovim = mkIf (omnixy.isEnabled "coding") {
enable = true;
extraConfig = ''
let g:everforest_background = 'medium'
let g:everforest_better_performance = 1
colorscheme everforest
set background=dark
'';
plugins = with pkgs.vimPlugins; [
everforest
];
};
# Git diff and bat theme
programs.bat.config.theme = "Monokai Extended";
# btop theme - using a forest-inspired theme
programs.btop.settings.color_theme = "everforest-dark-medium";
# Lazygit theme
programs.lazygit.settings = {
gui.theme = {
lightTheme = false;
selectedLineBgColor = [ colors.bg_visual ];
selectedRangeBgColor = [ colors.bg_visual ];
};
};
# Zsh/shell prompt colors
programs.starship = mkIf (omnixy.isEnabled "coding") {
enable = true;
settings = {
format = "$directory$git_branch$git_status$character";
character = {
success_symbol = "[➜](bold ${colors.green})";
error_symbol = "[➜](bold ${colors.red})";
};
directory = {
style = "bold ${colors.blue}";
};
git_branch = {
style = "bold ${colors.purple}";
};
git_status = {
style = "bold ${colors.yellow}";
};
};
};
})
]);
}
+345
View File
@@ -0,0 +1,345 @@
{ config, pkgs, lib, ... }:
# Gruvbox theme for OmniXY
# A retro groove color scheme with warm, earthy tones
with lib;
let
cfg = config.omnixy;
omnixy = import ../helpers.nix { inherit config pkgs lib; };
# Gruvbox color palette
colors = {
bg = "#282828"; # Dark background
bg_hard = "#1d2021"; # Harder background
bg_soft = "#32302f"; # Soft background
fg = "#ebdbb2"; # Light foreground
fg_dim = "#a89984"; # Dimmed foreground
red = "#cc241d"; # Dark red
green = "#98971a"; # Dark green
yellow = "#d79921"; # Dark yellow
blue = "#458588"; # Dark blue
purple = "#b16286"; # Dark purple
aqua = "#689d6a"; # Dark aqua
orange = "#d65d0e"; # Dark orange
gray = "#928374"; # Gray
red_light = "#fb4934"; # Light red
green_light = "#b8bb26"; # Light green
yellow_light = "#fabd2f"; # Light yellow
blue_light = "#83a598"; # Light blue
purple_light = "#d3869b"; # Light purple
aqua_light = "#8ec07c"; # Light aqua
orange_light = "#fe8019"; # Light orange
};
in
{
config = mkIf (cfg.enable or true) (mkMerge [
# System-level theme configuration
{
# Set theme wallpaper
omnixy.desktop.wallpaper = ./wallpapers/gruvbox/1-grubox.jpg;
# Hyprland theme colors (from omarchy)
environment.etc."omnixy/hyprland/theme.conf".text = ''
general {
col.active_border = rgb(a89984)
col.inactive_border = rgba(665c54aa)
}
decoration {
col.shadow = rgba(1d2021ee)
}
'';
# GTK theme
programs.dconf.enable = true;
# Environment variables for consistent theming
environment.variables = {
GTK_THEME = "Adwaita-dark";
QT_STYLE_OVERRIDE = "adwaita-dark";
OMNIXY_THEME_COLORS_BG = colors.bg;
OMNIXY_THEME_COLORS_FG = colors.fg;
OMNIXY_THEME_COLORS_ACCENT = colors.orange_light;
};
# Console colors
console = {
colors = [
colors.bg # black
colors.red # red
colors.green # green
colors.yellow # yellow
colors.blue # blue
colors.purple # magenta
colors.aqua # cyan
colors.fg # white
colors.gray # bright black
colors.red_light # bright red
colors.green_light # bright green
colors.yellow_light # bright yellow
colors.blue_light # bright blue
colors.purple_light # bright magenta
colors.aqua_light # bright cyan
colors.fg # bright white
];
};
}
# User-specific theme configuration
(omnixy.forUser {
# GTK configuration
gtk = {
enable = true;
theme = {
name = "Adwaita-dark";
package = pkgs.gnome-themes-extra;
};
iconTheme = {
name = "Papirus-Dark";
package = pkgs.papirus-icon-theme;
};
gtk3.extraConfig = {
gtk-application-prefer-dark-theme = 1;
};
gtk4.extraConfig = {
gtk-application-prefer-dark-theme = 1;
};
};
# Qt theming
qt = {
enable = true;
platformTheme.name = "adwaita";
style.name = "adwaita-dark";
};
# Kitty terminal theme
programs.kitty = mkIf (omnixy.isEnabled "coding" || omnixy.isEnabled "media") {
enable = true;
themeFile = "gruvbox-dark";
settings = {
background = colors.bg;
foreground = colors.fg;
selection_background = colors.bg_soft;
selection_foreground = colors.fg;
# Cursor colors
cursor = colors.fg;
cursor_text_color = colors.bg;
# URL underline color when hovering
url_color = colors.blue_light;
# Tab colors
active_tab_background = colors.orange_light;
active_tab_foreground = colors.bg;
inactive_tab_background = colors.bg_soft;
inactive_tab_foreground = colors.fg_dim;
# Window border colors
active_border_color = colors.orange_light;
inactive_border_color = colors.gray;
};
};
# Alacritty terminal theme
programs.alacritty = mkIf (omnixy.isEnabled "coding" || omnixy.isEnabled "media") {
enable = true;
settings = {
colors = {
primary = {
background = colors.bg;
foreground = colors.fg;
};
cursor = {
text = colors.bg;
cursor = colors.fg;
};
normal = {
black = colors.bg;
red = colors.red;
green = colors.green;
yellow = colors.yellow;
blue = colors.blue;
magenta = colors.purple;
cyan = colors.aqua;
white = colors.fg;
};
bright = {
black = colors.gray;
red = colors.red_light;
green = colors.green_light;
yellow = colors.yellow_light;
blue = colors.blue_light;
magenta = colors.purple_light;
cyan = colors.aqua_light;
white = colors.fg;
};
};
};
};
# Waybar theme
programs.waybar = mkIf (omnixy.isEnabled "media" || omnixy.isEnabled "gaming") {
enable = true;
style = ''
* {
font-family: "JetBrainsMono Nerd Font";
font-size: 13px;
border: none;
border-radius: 0;
min-height: 0;
}
window#waybar {
background: ${colors.bg};
color: ${colors.fg};
border-bottom: 2px solid ${colors.orange_light};
}
#workspaces button {
padding: 0 8px;
background: transparent;
color: ${colors.fg_dim};
border-bottom: 2px solid transparent;
}
#workspaces button.active {
color: ${colors.orange_light};
border-bottom-color: ${colors.orange_light};
}
#workspaces button:hover {
color: ${colors.fg};
background: ${colors.bg_soft};
}
#clock, #battery, #cpu, #memory, #network, #pulseaudio {
padding: 0 10px;
margin: 0 2px;
background: ${colors.bg_soft};
color: ${colors.fg};
}
#battery.critical {
color: ${colors.red_light};
}
#battery.warning {
color: ${colors.yellow_light};
}
'';
};
# Rofi theme
programs.rofi = mkIf (omnixy.isEnabled "media" || omnixy.isEnabled "gaming") {
enable = true;
theme = {
"*" = {
background-color = mkLiteral colors.bg;
foreground-color = mkLiteral colors.fg;
border-color = mkLiteral colors.orange_light;
separatorcolor = mkLiteral colors.bg_soft;
scrollbar-handle = mkLiteral colors.orange_light;
};
"#window" = {
border = mkLiteral "2px";
border-radius = mkLiteral "8px";
padding = mkLiteral "20px";
};
"#element selected" = {
background-color = mkLiteral colors.orange_light;
text-color = mkLiteral colors.bg;
};
};
};
# Mako notification theme
services.mako = mkIf (omnixy.isEnabled "media" || omnixy.isEnabled "gaming") {
enable = true;
settings = {
font = "JetBrainsMono Nerd Font 10";
background-color = colors.bg;
text-color = colors.fg;
border-color = colors.orange_light;
border-size = 2;
border-radius = 8;
padding = "10";
margin = "5";
default-timeout = 5000;
progress-color = colors.orange_light;
};
};
# VSCode theme
programs.vscode = mkIf (omnixy.isEnabled "coding") {
enable = true;
extensions = with pkgs.vscode-extensions; [
jdinhlife.gruvbox
];
userSettings = {
"workbench.colorTheme" = "Gruvbox Dark Medium";
"workbench.preferredDarkColorTheme" = "Gruvbox Dark Medium";
"editor.fontFamily" = "'JetBrainsMono Nerd Font', 'Droid Sans Mono', 'monospace'";
"terminal.integrated.fontFamily" = "'JetBrainsMono Nerd Font'";
};
};
# Neovim theme
programs.neovim = mkIf (omnixy.isEnabled "coding") {
enable = true;
extraConfig = ''
colorscheme gruvbox
set background=dark
'';
plugins = with pkgs.vimPlugins; [
gruvbox-nvim
];
};
# Git diff and bat theme
programs.bat.config.theme = "gruvbox-dark";
# btop theme
programs.btop.settings.color_theme = "gruvbox_dark";
# Lazygit theme
programs.lazygit.settings = {
gui.theme = {
lightTheme = false;
selectedLineBgColor = [ colors.bg_soft ];
selectedRangeBgColor = [ colors.bg_soft ];
};
};
# Zsh/shell prompt colors
programs.starship = mkIf (omnixy.isEnabled "coding") {
enable = true;
settings = {
format = "$directory$git_branch$git_status$character";
character = {
success_symbol = "[➜](bold ${colors.green_light})";
error_symbol = "[➜](bold ${colors.red_light})";
};
directory = {
style = "bold ${colors.blue_light}";
};
git_branch = {
style = "bold ${colors.purple_light}";
};
git_status = {
style = "bold ${colors.yellow_light}";
};
};
};
})
]);
}
+360
View File
@@ -0,0 +1,360 @@
{ config, pkgs, lib, ... }:
# Kanagawa theme for OmniXY
# A dark colorscheme inspired by the colors of the famous painting by Katsushika Hokusai
with lib;
let
cfg = config.omnixy;
omnixy = import ../helpers.nix { inherit config pkgs lib; };
# Kanagawa color palette
colors = {
# Background colors
bg = "#1f1f28"; # Dark background (sumiInk0)
bg_dark = "#16161d"; # Darker background (sumiInk1)
bg_light = "#2a2a37"; # Lighter background (sumiInk3)
bg_visual = "#2d4f67"; # Visual selection (waveBlue1)
# Foreground colors
fg = "#dcd7ba"; # Main foreground (fujiWhite)
fg_dim = "#c8c093"; # Dimmed foreground (fujiGray)
fg_reverse = "#223249"; # Reverse foreground (waveBlue2)
# Wave colors (blues)
wave_blue1 = "#2d4f67"; # Dark blue
wave_blue2 = "#223249"; # Darker blue
wave_aqua1 = "#6a9589"; # Aqua green
wave_aqua2 = "#7aa89f"; # Light aqua
# Autumn colors (reds, oranges, yellows)
autumn_red = "#c34043"; # Red
autumn_orange = "#dca561"; # Orange
autumn_yellow = "#c0a36e"; # Yellow
autumn_green = "#76946a"; # Green
# Spring colors (greens)
spring_blue = "#7e9cd8"; # Blue
spring_violet1 = "#957fb8"; # Violet
spring_violet2 = "#b8b4d0"; # Light violet
spring_green = "#98bb6c"; # Green
# Ronin colors (grays)
ronin_yellow = "#ff9e3b"; # Bright orange/yellow
dragon_blue = "#658594"; # Muted blue
old_white = "#c8c093"; # Old paper white
# Special colors
samurai_red = "#e82424"; # Bright red for errors
ronin_gray = "#727169"; # Gray for comments
};
in
{
config = mkIf (cfg.enable or true) (mkMerge [
# System-level theme configuration
{
# Set theme wallpaper
omnixy.desktop.wallpaper = ./wallpapers/kanagawa/1-kanagawa.jpg;
# Hyprland theme colors (from omarchy)
environment.etc."omnixy/hyprland/theme.conf".text = ''
general {
col.active_border = rgb(dcd7ba)
col.inactive_border = rgba(2a2a37aa)
}
decoration {
col.shadow = rgba(1f1f28ee)
}
# Kanagawa backdrop is too strong for default opacity
windowrule = opacity 0.98 0.95, tag:terminal
'';
# GTK theme
programs.dconf.enable = true;
# Environment variables for consistent theming
environment.variables = {
GTK_THEME = "Adwaita-dark";
QT_STYLE_OVERRIDE = "adwaita-dark";
OMNIXY_THEME_COLORS_BG = colors.bg;
OMNIXY_THEME_COLORS_FG = colors.fg;
OMNIXY_THEME_COLORS_ACCENT = colors.spring_blue;
};
# Console colors
console = {
colors = [
colors.bg_dark # black
colors.autumn_red # red
colors.autumn_green # green
colors.autumn_yellow # yellow
colors.spring_blue # blue
colors.spring_violet1 # magenta
colors.wave_aqua1 # cyan
colors.old_white # white
colors.ronin_gray # bright black
colors.samurai_red # bright red
colors.spring_green # bright green
colors.ronin_yellow # bright yellow
colors.spring_blue # bright blue
colors.spring_violet2 # bright magenta
colors.wave_aqua2 # bright cyan
colors.fg # bright white
];
};
}
# User-specific theme configuration
(omnixy.forUser {
# GTK configuration
gtk = {
enable = true;
theme = {
name = "Adwaita-dark";
package = pkgs.gnome-themes-extra;
};
iconTheme = {
name = "Papirus-Dark";
package = pkgs.papirus-icon-theme;
};
gtk3.extraConfig = {
gtk-application-prefer-dark-theme = 1;
};
gtk4.extraConfig = {
gtk-application-prefer-dark-theme = 1;
};
};
# Qt theming
qt = {
enable = true;
platformTheme.name = "adwaita";
style.name = "adwaita-dark";
};
# Kitty terminal theme
programs.kitty = mkIf (omnixy.isEnabled "coding" || omnixy.isEnabled "media") {
enable = true;
themeFile = "Kanagawa";
settings = {
background = colors.bg;
foreground = colors.fg;
selection_background = colors.bg_visual;
selection_foreground = colors.fg;
# Cursor colors
cursor = colors.fg;
cursor_text_color = colors.bg;
# URL underline color when hovering
url_color = colors.spring_blue;
# Tab colors
active_tab_background = colors.spring_blue;
active_tab_foreground = colors.bg;
inactive_tab_background = colors.bg_light;
inactive_tab_foreground = colors.fg_dim;
# Window border colors
active_border_color = colors.spring_blue;
inactive_border_color = colors.ronin_gray;
};
};
# Alacritty terminal theme
programs.alacritty = mkIf (omnixy.isEnabled "coding" || omnixy.isEnabled "media") {
enable = true;
settings = {
colors = {
primary = {
background = colors.bg;
foreground = colors.fg;
};
cursor = {
text = colors.bg;
cursor = colors.fg;
};
normal = {
black = colors.bg_dark;
red = colors.autumn_red;
green = colors.autumn_green;
yellow = colors.autumn_yellow;
blue = colors.spring_blue;
magenta = colors.spring_violet1;
cyan = colors.wave_aqua1;
white = colors.old_white;
};
bright = {
black = colors.ronin_gray;
red = colors.samurai_red;
green = colors.spring_green;
yellow = colors.ronin_yellow;
blue = colors.spring_blue;
magenta = colors.spring_violet2;
cyan = colors.wave_aqua2;
white = colors.fg;
};
};
};
};
# Waybar theme
programs.waybar = mkIf (omnixy.isEnabled "media" || omnixy.isEnabled "gaming") {
enable = true;
style = ''
* {
font-family: "JetBrainsMono Nerd Font";
font-size: 13px;
border: none;
border-radius: 0;
min-height: 0;
}
window#waybar {
background: ${colors.bg};
color: ${colors.fg};
border-bottom: 2px solid ${colors.spring_blue};
}
#workspaces button {
padding: 0 8px;
background: transparent;
color: ${colors.fg_dim};
border-bottom: 2px solid transparent;
}
#workspaces button.active {
color: ${colors.spring_blue};
border-bottom-color: ${colors.spring_blue};
}
#workspaces button:hover {
color: ${colors.fg};
background: ${colors.bg_light};
}
#clock, #battery, #cpu, #memory, #network, #pulseaudio {
padding: 0 10px;
margin: 0 2px;
background: ${colors.bg_light};
color: ${colors.fg};
}
#battery.critical {
color: ${colors.samurai_red};
}
#battery.warning {
color: ${colors.ronin_yellow};
}
'';
};
# Rofi theme
programs.rofi = mkIf (omnixy.isEnabled "media" || omnixy.isEnabled "gaming") {
enable = true;
theme = {
"*" = {
background-color = mkLiteral colors.bg;
foreground-color = mkLiteral colors.fg;
border-color = mkLiteral colors.spring_blue;
separatorcolor = mkLiteral colors.bg_light;
scrollbar-handle = mkLiteral colors.spring_blue;
};
"#window" = {
border = mkLiteral "2px";
border-radius = mkLiteral "8px";
padding = mkLiteral "20px";
};
"#element selected" = {
background-color = mkLiteral colors.spring_blue;
text-color = mkLiteral colors.bg;
};
};
};
# Mako notification theme
services.mako = mkIf (omnixy.isEnabled "media" || omnixy.isEnabled "gaming") {
enable = true;
settings = {
font = "JetBrainsMono Nerd Font 10";
background-color = colors.bg;
text-color = colors.fg;
border-color = colors.spring_blue;
border-size = 2;
border-radius = 8;
padding = "10";
margin = "5";
default-timeout = 5000;
progress-color = colors.spring_blue;
};
};
# VSCode theme
programs.vscode = mkIf (omnixy.isEnabled "coding") {
enable = true;
userSettings = {
"workbench.colorTheme" = "Kanagawa";
"workbench.preferredDarkColorTheme" = "Kanagawa";
"editor.fontFamily" = "'JetBrainsMono Nerd Font', 'Droid Sans Mono', 'monospace'";
"terminal.integrated.fontFamily" = "'JetBrainsMono Nerd Font'";
};
};
# Neovim theme
programs.neovim = mkIf (omnixy.isEnabled "coding") {
enable = true;
extraConfig = ''
set background=dark
colorscheme kanagawa
'';
plugins = with pkgs.vimPlugins; [
kanagawa-nvim
];
};
# Git diff and bat theme
programs.bat.config.theme = "Monokai Extended";
# btop theme - using kanagawa-inspired theme
programs.btop.settings.color_theme = "tokyo-night";
# Lazygit theme
programs.lazygit.settings = {
gui.theme = {
lightTheme = false;
selectedLineBgColor = [ colors.bg_visual ];
selectedRangeBgColor = [ colors.bg_visual ];
};
};
# Zsh/shell prompt colors
programs.starship = mkIf (omnixy.isEnabled "coding") {
enable = true;
settings = {
format = "$directory$git_branch$git_status$character";
character = {
success_symbol = "[➜](bold ${colors.spring_green})";
error_symbol = "[➜](bold ${colors.samurai_red})";
};
directory = {
style = "bold ${colors.spring_blue}";
};
git_branch = {
style = "bold ${colors.spring_violet1}";
};
git_status = {
style = "bold ${colors.autumn_yellow}";
};
};
};
})
]);
}
+345
View File
@@ -0,0 +1,345 @@
{ config, pkgs, lib, ... }:
# Matte Black theme for OmniXY
# A sleek, professional dark theme with matte black aesthetics
with lib;
let
cfg = config.omnixy;
omnixy = import ../helpers.nix { inherit config pkgs lib; };
# Matte Black color palette
colors = {
# Base colors - various shades of black and gray
bg = "#0d1117"; # Very dark background
bg_light = "#161b22"; # Slightly lighter background
bg_lighter = "#21262d"; # Even lighter background
bg_accent = "#30363d"; # Accent background
# Foreground colors
fg = "#f0f6fc"; # Light foreground
fg_dim = "#8b949e"; # Dimmed foreground
fg_muted = "#6e7681"; # Muted foreground
# Accent colors - muted and professional
white = "#ffffff"; # Pure white
gray = "#8A8A8D"; # Main accent gray (from omarchy)
gray_light = "#aeb7c2"; # Light gray
gray_dark = "#484f58"; # Dark gray
# Status colors - muted tones
red = "#f85149"; # Error red
orange = "#fd7e14"; # Warning orange
yellow = "#d29922"; # Attention yellow
green = "#238636"; # Success green
blue = "#58a6ff"; # Info blue
purple = "#a5a2ff"; # Purple accent
cyan = "#76e3ea"; # Cyan accent
# Special UI colors
border = "#30363d"; # Border color
shadow = "#010409"; # Shadow color
};
in
{
config = mkIf (cfg.enable or true) (mkMerge [
# System-level theme configuration
{
# Set theme wallpaper
omnixy.desktop.wallpaper = ./wallpapers/matte-black/1-matte-black.jpg;
# Hyprland theme colors (from omarchy)
environment.etc."omnixy/hyprland/theme.conf".text = ''
general {
col.active_border = rgb(8A8A8D)
col.inactive_border = rgba(30363daa)
}
decoration {
col.shadow = rgba(010409ee)
}
'';
# GTK theme
programs.dconf.enable = true;
# Environment variables for consistent theming
environment.variables = {
GTK_THEME = "Adwaita-dark";
QT_STYLE_OVERRIDE = "adwaita-dark";
OMNIXY_THEME_COLORS_BG = colors.bg;
OMNIXY_THEME_COLORS_FG = colors.fg;
OMNIXY_THEME_COLORS_ACCENT = colors.gray;
};
# Console colors
console = {
colors = [
colors.bg # black
colors.red # red
colors.green # green
colors.yellow # yellow
colors.blue # blue
colors.purple # magenta
colors.cyan # cyan
colors.fg_dim # white
colors.gray_dark # bright black
colors.red # bright red
colors.green # bright green
colors.yellow # bright yellow
colors.blue # bright blue
colors.purple # bright magenta
colors.cyan # bright cyan
colors.fg # bright white
];
};
}
# User-specific theme configuration
(omnixy.forUser {
# GTK configuration
gtk = {
enable = true;
theme = {
name = "Adwaita-dark";
package = pkgs.gnome-themes-extra;
};
iconTheme = {
name = "Papirus-Dark";
package = pkgs.papirus-icon-theme;
};
gtk3.extraConfig = {
gtk-application-prefer-dark-theme = 1;
};
gtk4.extraConfig = {
gtk-application-prefer-dark-theme = 1;
};
};
# Qt theming
qt = {
enable = true;
platformTheme.name = "adwaita";
style.name = "adwaita-dark";
};
# Kitty terminal theme
programs.kitty = mkIf (omnixy.isEnabled "coding" || omnixy.isEnabled "media") {
enable = true;
settings = {
background = colors.bg;
foreground = colors.fg;
selection_background = colors.bg_lighter;
selection_foreground = colors.fg;
# Cursor colors
cursor = colors.fg;
cursor_text_color = colors.bg;
# URL underline color when hovering
url_color = colors.blue;
# Tab colors
active_tab_background = colors.gray;
active_tab_foreground = colors.bg;
inactive_tab_background = colors.bg_light;
inactive_tab_foreground = colors.fg_dim;
# Window border colors
active_border_color = colors.gray;
inactive_border_color = colors.gray_dark;
};
};
# Alacritty terminal theme
programs.alacritty = mkIf (omnixy.isEnabled "coding" || omnixy.isEnabled "media") {
enable = true;
settings = {
colors = {
primary = {
background = colors.bg;
foreground = colors.fg;
};
cursor = {
text = colors.bg;
cursor = colors.fg;
};
normal = {
black = colors.bg_light;
red = colors.red;
green = colors.green;
yellow = colors.yellow;
blue = colors.blue;
magenta = colors.purple;
cyan = colors.cyan;
white = colors.fg_dim;
};
bright = {
black = colors.gray_dark;
red = colors.red;
green = colors.green;
yellow = colors.yellow;
blue = colors.blue;
magenta = colors.purple;
cyan = colors.cyan;
white = colors.fg;
};
};
};
};
# Waybar theme
programs.waybar = mkIf (omnixy.isEnabled "media" || omnixy.isEnabled "gaming") {
enable = true;
style = ''
* {
font-family: "JetBrainsMono Nerd Font";
font-size: 13px;
border: none;
border-radius: 0;
min-height: 0;
}
window#waybar {
background: ${colors.bg};
color: ${colors.fg};
border-bottom: 2px solid ${colors.gray};
}
#workspaces button {
padding: 0 8px;
background: transparent;
color: ${colors.fg_dim};
border-bottom: 2px solid transparent;
}
#workspaces button.active {
color: ${colors.gray};
border-bottom-color: ${colors.gray};
}
#workspaces button:hover {
color: ${colors.fg};
background: ${colors.bg_light};
}
#clock, #battery, #cpu, #memory, #network, #pulseaudio {
padding: 0 10px;
margin: 0 2px;
background: ${colors.bg_light};
color: ${colors.fg};
}
#battery.critical {
color: ${colors.red};
}
#battery.warning {
color: ${colors.yellow};
}
'';
};
# Rofi theme
programs.rofi = mkIf (omnixy.isEnabled "media" || omnixy.isEnabled "gaming") {
enable = true;
theme = {
"*" = {
background-color = mkLiteral colors.bg;
foreground-color = mkLiteral colors.fg;
border-color = mkLiteral colors.gray;
separatorcolor = mkLiteral colors.bg_light;
scrollbar-handle = mkLiteral colors.gray;
};
"#window" = {
border = mkLiteral "2px";
border-radius = mkLiteral "8px";
padding = mkLiteral "20px";
};
"#element selected" = {
background-color = mkLiteral colors.gray;
text-color = mkLiteral colors.bg;
};
};
};
# Mako notification theme
services.mako = mkIf (omnixy.isEnabled "media" || omnixy.isEnabled "gaming") {
enable = true;
settings = {
font = "JetBrainsMono Nerd Font 10";
background-color = colors.bg;
text-color = colors.fg;
border-color = colors.gray;
border-size = 2;
border-radius = 8;
padding = "10";
margin = "5";
default-timeout = 5000;
progress-color = colors.gray;
};
};
# VSCode theme
programs.vscode = mkIf (omnixy.isEnabled "coding") {
enable = true;
userSettings = {
"workbench.colorTheme" = "GitHub Dark Default";
"workbench.preferredDarkColorTheme" = "GitHub Dark Default";
"editor.fontFamily" = "'JetBrainsMono Nerd Font', 'Droid Sans Mono', 'monospace'";
"terminal.integrated.fontFamily" = "'JetBrainsMono Nerd Font'";
};
};
# Neovim theme
programs.neovim = mkIf (omnixy.isEnabled "coding") {
enable = true;
extraConfig = ''
set background=dark
colorscheme github_dark_default
'';
};
# Git diff and bat theme
programs.bat.config.theme = "GitHub";
# btop theme
programs.btop.settings.color_theme = "adapta";
# Lazygit theme
programs.lazygit.settings = {
gui.theme = {
lightTheme = false;
selectedLineBgColor = [ colors.bg_lighter ];
selectedRangeBgColor = [ colors.bg_lighter ];
};
};
# Zsh/shell prompt colors
programs.starship = mkIf (omnixy.isEnabled "coding") {
enable = true;
settings = {
format = "$directory$git_branch$git_status$character";
character = {
success_symbol = "[➜](bold ${colors.green})";
error_symbol = "[➜](bold ${colors.red})";
};
directory = {
style = "bold ${colors.blue}";
};
git_branch = {
style = "bold ${colors.purple}";
};
git_status = {
style = "bold ${colors.yellow}";
};
};
};
})
]);
}
+352
View File
@@ -0,0 +1,352 @@
{ config, pkgs, lib, ... }:
# Nord theme for OmniXY
# An arctic, north-bluish color palette
with lib;
let
cfg = config.omnixy;
omnixy = import ../helpers.nix { inherit config pkgs lib; };
# Nord color palette
colors = {
# Polar Night
bg = "#2e3440"; # Dark background
bg_dark = "#242933"; # Darker background
bg_light = "#3b4252"; # Light background
bg_lighter = "#434c5e"; # Lighter background
# Snow Storm
fg = "#eceff4"; # Light foreground
fg_dim = "#d8dee9"; # Dimmed foreground
fg_dark = "#e5e9f0"; # Dark foreground
# Frost
blue = "#5e81ac"; # Primary blue
blue_light = "#88c0d0"; # Light blue
blue_bright = "#81a1c1"; # Bright blue
teal = "#8fbcbb"; # Teal
# Aurora
red = "#bf616a"; # Red
orange = "#d08770"; # Orange
yellow = "#ebcb8b"; # Yellow
green = "#a3be8c"; # Green
purple = "#b48ead"; # Purple
# UI colors
accent = "#88c0d0"; # Primary accent (light blue)
warning = "#ebcb8b"; # Warning (yellow)
error = "#bf616a"; # Error (red)
success = "#a3be8c"; # Success (green)
};
in
{
config = mkIf (cfg.enable or true) (mkMerge [
# System-level theme configuration
{
# Set theme wallpaper
omnixy.desktop.wallpaper = ./wallpapers/nord/1-nord.png;
# Hyprland theme colors (from omarchy)
environment.etc."omnixy/hyprland/theme.conf".text = ''
general {
col.active_border = rgb(D8DEE9)
col.inactive_border = rgba(4c566aaa)
}
decoration {
col.shadow = rgba(2e3440ee)
}
'';
# GTK theme
programs.dconf.enable = true;
# Environment variables for consistent theming
environment.variables = {
GTK_THEME = "Adwaita-dark";
QT_STYLE_OVERRIDE = "adwaita-dark";
OMNIXY_THEME_COLORS_BG = colors.bg;
OMNIXY_THEME_COLORS_FG = colors.fg;
OMNIXY_THEME_COLORS_ACCENT = colors.accent;
};
# Console colors
console = {
colors = [
colors.bg_dark # black
colors.red # red
colors.green # green
colors.yellow # yellow
colors.blue # blue
colors.purple # magenta
colors.teal # cyan
colors.fg_dim # white
colors.bg_lighter # bright black
colors.red # bright red
colors.green # bright green
colors.yellow # bright yellow
colors.blue_light # bright blue
colors.purple # bright magenta
colors.blue_bright # bright cyan
colors.fg # bright white
];
};
}
# User-specific theme configuration
(omnixy.forUser {
# GTK configuration
gtk = {
enable = true;
theme = {
name = "Adwaita-dark";
package = pkgs.gnome-themes-extra;
};
iconTheme = {
name = "Papirus-Dark";
package = pkgs.papirus-icon-theme;
};
gtk3.extraConfig = {
gtk-application-prefer-dark-theme = 1;
};
gtk4.extraConfig = {
gtk-application-prefer-dark-theme = 1;
};
};
# Qt theming
qt = {
enable = true;
platformTheme.name = "adwaita";
style.name = "adwaita-dark";
};
# Kitty terminal theme
programs.kitty = mkIf (omnixy.isEnabled "coding" || omnixy.isEnabled "media") {
enable = true;
themeFile = "Nord";
settings = {
background = colors.bg;
foreground = colors.fg;
selection_background = colors.bg_light;
selection_foreground = colors.fg;
# Cursor colors
cursor = colors.fg;
cursor_text_color = colors.bg;
# URL underline color when hovering
url_color = colors.accent;
# Tab colors
active_tab_background = colors.accent;
active_tab_foreground = colors.bg;
inactive_tab_background = colors.bg_light;
inactive_tab_foreground = colors.fg_dim;
# Window border colors
active_border_color = colors.accent;
inactive_border_color = colors.bg_lighter;
};
};
# Alacritty terminal theme
programs.alacritty = mkIf (omnixy.isEnabled "coding" || omnixy.isEnabled "media") {
enable = true;
settings = {
colors = {
primary = {
background = colors.bg;
foreground = colors.fg;
};
cursor = {
text = colors.bg;
cursor = colors.fg;
};
normal = {
black = colors.bg_dark;
red = colors.red;
green = colors.green;
yellow = colors.yellow;
blue = colors.blue;
magenta = colors.purple;
cyan = colors.teal;
white = colors.fg_dim;
};
bright = {
black = colors.bg_lighter;
red = colors.red;
green = colors.green;
yellow = colors.yellow;
blue = colors.blue_light;
magenta = colors.purple;
cyan = colors.blue_bright;
white = colors.fg;
};
};
};
};
# Waybar theme
programs.waybar = mkIf (omnixy.isEnabled "media" || omnixy.isEnabled "gaming") {
enable = true;
style = ''
* {
font-family: "JetBrainsMono Nerd Font";
font-size: 13px;
border: none;
border-radius: 0;
min-height: 0;
}
window#waybar {
background: ${colors.bg};
color: ${colors.fg};
border-bottom: 2px solid ${colors.accent};
}
#workspaces button {
padding: 0 8px;
background: transparent;
color: ${colors.fg_dim};
border-bottom: 2px solid transparent;
}
#workspaces button.active {
color: ${colors.accent};
border-bottom-color: ${colors.accent};
}
#workspaces button:hover {
color: ${colors.fg};
background: ${colors.bg_light};
}
#clock, #battery, #cpu, #memory, #network, #pulseaudio {
padding: 0 10px;
margin: 0 2px;
background: ${colors.bg_light};
color: ${colors.fg};
}
#battery.critical {
color: ${colors.error};
}
#battery.warning {
color: ${colors.warning};
}
'';
};
# Rofi theme
programs.rofi = mkIf (omnixy.isEnabled "media" || omnixy.isEnabled "gaming") {
enable = true;
theme = {
"*" = {
background-color = mkLiteral colors.bg;
foreground-color = mkLiteral colors.fg;
border-color = mkLiteral colors.accent;
separatorcolor = mkLiteral colors.bg_light;
scrollbar-handle = mkLiteral colors.accent;
};
"#window" = {
border = mkLiteral "2px";
border-radius = mkLiteral "8px";
padding = mkLiteral "20px";
};
"#element selected" = {
background-color = mkLiteral colors.accent;
text-color = mkLiteral colors.bg;
};
};
};
# Mako notification theme
services.mako = mkIf (omnixy.isEnabled "media" || omnixy.isEnabled "gaming") {
enable = true;
settings = {
font = "JetBrainsMono Nerd Font 10";
background-color = colors.bg;
text-color = colors.fg;
border-color = colors.accent;
border-size = 2;
border-radius = 8;
padding = "10";
margin = "5";
default-timeout = 5000;
progress-color = colors.accent;
};
};
# VSCode theme
programs.vscode = mkIf (omnixy.isEnabled "coding") {
enable = true;
extensions = with pkgs.vscode-extensions; [
arcticicestudio.nord-visual-studio-code
];
userSettings = {
"workbench.colorTheme" = "Nord";
"workbench.preferredDarkColorTheme" = "Nord";
"editor.fontFamily" = "'JetBrainsMono Nerd Font', 'Droid Sans Mono', 'monospace'";
"terminal.integrated.fontFamily" = "'JetBrainsMono Nerd Font'";
};
};
# Neovim theme
programs.neovim = mkIf (omnixy.isEnabled "coding") {
enable = true;
extraConfig = ''
colorscheme nord
set background=dark
'';
plugins = with pkgs.vimPlugins; [
nord-nvim
];
};
# Git diff and bat theme
programs.bat.config.theme = "Nord";
# btop theme - using a Nord-inspired theme
programs.btop.settings.color_theme = "nord";
# Lazygit theme
programs.lazygit.settings = {
gui.theme = {
lightTheme = false;
selectedLineBgColor = [ colors.bg_light ];
selectedRangeBgColor = [ colors.bg_light ];
};
};
# Zsh/shell prompt colors
programs.starship = mkIf (omnixy.isEnabled "coding") {
enable = true;
settings = {
format = "$directory$git_branch$git_status$character";
character = {
success_symbol = "[➜](bold ${colors.success})";
error_symbol = "[➜](bold ${colors.error})";
};
directory = {
style = "bold ${colors.blue_light}";
};
git_branch = {
style = "bold ${colors.purple}";
};
git_status = {
style = "bold ${colors.warning}";
};
};
};
})
]);
}
+350
View File
@@ -0,0 +1,350 @@
{ config, pkgs, lib, ... }:
# Osaka Jade theme for OmniXY
# A sophisticated green-tinted dark theme with jade accents
with lib;
let
cfg = config.omnixy;
omnixy = import ../helpers.nix { inherit config pkgs lib; };
# Osaka Jade color palette
colors = {
# Base colors - dark with jade undertones
bg = "#0f1419"; # Very dark background with slight jade tint
bg_light = "#1a2026"; # Lighter background
bg_lighter = "#252d33"; # Even lighter background
bg_accent = "#2d3640"; # Accent background
# Foreground colors
fg = "#c9c7cd"; # Light foreground
fg_dim = "#828691"; # Dimmed foreground
fg_muted = "#5c6166"; # Muted foreground
# Jade accent colors
jade = "#71CEAD"; # Main jade accent (from omarchy)
jade_light = "#8dd4b8"; # Light jade
jade_dark = "#5ba896"; # Dark jade
jade_muted = "#4a8f7d"; # Muted jade
# Supporting colors
teal = "#4fd6be"; # Teal
mint = "#88e5d3"; # Mint green
seafoam = "#a0f0e0"; # Seafoam
# Status colors - jade-tinted
red = "#f07178"; # Error red
orange = "#ffb454"; # Warning orange
yellow = "#e6c384"; # Attention yellow
green = "#71CEAD"; # Success (using jade)
blue = "#6bb6ff"; # Info blue
purple = "#c991e1"; # Purple
cyan = "#71CEAD"; # Cyan (using jade)
# Special UI colors
border = "#2d3640"; # Border color
shadow = "#0a0d11"; # Shadow color
};
in
{
config = mkIf (cfg.enable or true) (mkMerge [
# System-level theme configuration
{
# Set theme wallpaper
omnixy.desktop.wallpaper = ./wallpapers/osaka-jade/1-osaka-jade-bg.jpg;
# Hyprland theme colors (from omarchy)
environment.etc."omnixy/hyprland/theme.conf".text = ''
general {
col.active_border = rgb(71CEAD)
col.inactive_border = rgba(2d3640aa)
}
decoration {
col.shadow = rgba(0a0d11ee)
}
'';
# GTK theme
programs.dconf.enable = true;
# Environment variables for consistent theming
environment.variables = {
GTK_THEME = "Adwaita-dark";
QT_STYLE_OVERRIDE = "adwaita-dark";
OMNIXY_THEME_COLORS_BG = colors.bg;
OMNIXY_THEME_COLORS_FG = colors.fg;
OMNIXY_THEME_COLORS_ACCENT = colors.jade;
};
# Console colors
console = {
colors = [
colors.bg_light # black
colors.red # red
colors.green # green
colors.yellow # yellow
colors.blue # blue
colors.purple # magenta
colors.jade # cyan (using jade)
colors.fg_dim # white
colors.bg_lighter # bright black
colors.red # bright red
colors.jade_light # bright green (jade)
colors.yellow # bright yellow
colors.blue # bright blue
colors.purple # bright magenta
colors.seafoam # bright cyan
colors.fg # bright white
];
};
}
# User-specific theme configuration
(omnixy.forUser {
# GTK configuration
gtk = {
enable = true;
theme = {
name = "Adwaita-dark";
package = pkgs.gnome-themes-extra;
};
iconTheme = {
name = "Papirus-Dark";
package = pkgs.papirus-icon-theme;
};
gtk3.extraConfig = {
gtk-application-prefer-dark-theme = 1;
};
gtk4.extraConfig = {
gtk-application-prefer-dark-theme = 1;
};
};
# Qt theming
qt = {
enable = true;
platformTheme.name = "adwaita";
style.name = "adwaita-dark";
};
# Kitty terminal theme
programs.kitty = mkIf (omnixy.isEnabled "coding" || omnixy.isEnabled "media") {
enable = true;
settings = {
background = colors.bg;
foreground = colors.fg;
selection_background = colors.bg_lighter;
selection_foreground = colors.fg;
# Cursor colors
cursor = colors.jade;
cursor_text_color = colors.bg;
# URL underline color when hovering
url_color = colors.jade_light;
# Tab colors
active_tab_background = colors.jade;
active_tab_foreground = colors.bg;
inactive_tab_background = colors.bg_light;
inactive_tab_foreground = colors.fg_dim;
# Window border colors
active_border_color = colors.jade;
inactive_border_color = colors.jade_muted;
};
};
# Alacritty terminal theme
programs.alacritty = mkIf (omnixy.isEnabled "coding" || omnixy.isEnabled "media") {
enable = true;
settings = {
colors = {
primary = {
background = colors.bg;
foreground = colors.fg;
};
cursor = {
text = colors.bg;
cursor = colors.jade;
};
normal = {
black = colors.bg_light;
red = colors.red;
green = colors.jade;
yellow = colors.yellow;
blue = colors.blue;
magenta = colors.purple;
cyan = colors.teal;
white = colors.fg_dim;
};
bright = {
black = colors.bg_lighter;
red = colors.red;
green = colors.jade_light;
yellow = colors.yellow;
blue = colors.blue;
magenta = colors.purple;
cyan = colors.seafoam;
white = colors.fg;
};
};
};
};
# Waybar theme
programs.waybar = mkIf (omnixy.isEnabled "media" || omnixy.isEnabled "gaming") {
enable = true;
style = ''
* {
font-family: "JetBrainsMono Nerd Font";
font-size: 13px;
border: none;
border-radius: 0;
min-height: 0;
}
window#waybar {
background: ${colors.bg};
color: ${colors.fg};
border-bottom: 2px solid ${colors.jade};
}
#workspaces button {
padding: 0 8px;
background: transparent;
color: ${colors.fg_dim};
border-bottom: 2px solid transparent;
}
#workspaces button.active {
color: ${colors.jade};
border-bottom-color: ${colors.jade};
}
#workspaces button:hover {
color: ${colors.fg};
background: ${colors.bg_light};
}
#clock, #battery, #cpu, #memory, #network, #pulseaudio {
padding: 0 10px;
margin: 0 2px;
background: ${colors.bg_light};
color: ${colors.fg};
}
#battery.critical {
color: ${colors.red};
}
#battery.warning {
color: ${colors.yellow};
}
'';
};
# Rofi theme
programs.rofi = mkIf (omnixy.isEnabled "media" || omnixy.isEnabled "gaming") {
enable = true;
theme = {
"*" = {
background-color = mkLiteral colors.bg;
foreground-color = mkLiteral colors.fg;
border-color = mkLiteral colors.jade;
separatorcolor = mkLiteral colors.bg_light;
scrollbar-handle = mkLiteral colors.jade;
};
"#window" = {
border = mkLiteral "2px";
border-radius = mkLiteral "8px";
padding = mkLiteral "20px";
};
"#element selected" = {
background-color = mkLiteral colors.jade;
text-color = mkLiteral colors.bg;
};
};
};
# Mako notification theme
services.mako = mkIf (omnixy.isEnabled "media" || omnixy.isEnabled "gaming") {
enable = true;
settings = {
font = "JetBrainsMono Nerd Font 10";
background-color = colors.bg;
text-color = colors.fg;
border-color = colors.jade;
border-size = 2;
border-radius = 8;
padding = "10";
margin = "5";
default-timeout = 5000;
progress-color = colors.jade;
};
};
# VSCode theme
programs.vscode = mkIf (omnixy.isEnabled "coding") {
enable = true;
userSettings = {
"workbench.colorTheme" = "Ayu Dark";
"workbench.preferredDarkColorTheme" = "Ayu Dark";
"editor.fontFamily" = "'JetBrainsMono Nerd Font', 'Droid Sans Mono', 'monospace'";
"terminal.integrated.fontFamily" = "'JetBrainsMono Nerd Font'";
};
};
# Neovim theme
programs.neovim = mkIf (omnixy.isEnabled "coding") {
enable = true;
extraConfig = ''
set background=dark
colorscheme ayu
'';
};
# Git diff and bat theme
programs.bat.config.theme = "ansi";
# btop theme
programs.btop.settings.color_theme = "ayu-dark";
# Lazygit theme
programs.lazygit.settings = {
gui.theme = {
lightTheme = false;
selectedLineBgColor = [ colors.bg_lighter ];
selectedRangeBgColor = [ colors.bg_lighter ];
};
};
# Zsh/shell prompt colors
programs.starship = mkIf (omnixy.isEnabled "coding") {
enable = true;
settings = {
format = "$directory$git_branch$git_status$character";
character = {
success_symbol = "[➜](bold ${colors.jade})";
error_symbol = "[➜](bold ${colors.red})";
};
directory = {
style = "bold ${colors.jade_light}";
};
git_branch = {
style = "bold ${colors.purple}";
};
git_status = {
style = "bold ${colors.yellow}";
};
};
};
})
]);
}
+352
View File
@@ -0,0 +1,352 @@
{ config, pkgs, lib, ... }:
# Ristretto theme for OmniXY
# A warm, coffee-inspired theme with rich brown and cream tones
with lib;
let
cfg = config.omnixy;
omnixy = import ../helpers.nix { inherit config pkgs lib; };
# Ristretto color palette - inspired by coffee and warm tones
colors = {
# Base colors - warm browns and creams
bg = "#2b1f17"; # Dark coffee background
bg_light = "#3d2a1f"; # Lighter coffee
bg_lighter = "#4f3426"; # Even lighter coffee
bg_accent = "#5d3e2e"; # Accent background
# Foreground colors - cream and light browns
fg = "#e6d9db"; # Main foreground (from omarchy)
fg_dim = "#c4b5a0"; # Dimmed cream
fg_muted = "#a08d7a"; # Muted cream
# Coffee-inspired accent colors
cream = "#e6d9db"; # Cream (main accent from omarchy)
latte = "#d4c4b0"; # Latte
mocha = "#b8997a"; # Mocha
espresso = "#8b6f47"; # Espresso
cappuccino = "#c9a96e"; # Cappuccino
# Warm accent colors
amber = "#d4a574"; # Amber
caramel = "#c19a6b"; # Caramel
cinnamon = "#a67c5a"; # Cinnamon
vanilla = "#e8dcc6"; # Vanilla
# Status colors - coffee-tinted
red = "#d67c7c"; # Warm red
orange = "#d4925a"; # Coffee orange
yellow = "#d4c969"; # Warm yellow
green = "#81a56a"; # Muted green
blue = "#6b8bb3"; # Muted blue
purple = "#a67cb8"; # Muted purple
cyan = "#6ba3a3"; # Muted cyan
# Special UI colors
border = "#5d3e2e"; # Border color
shadow = "#1a1008"; # Shadow color
};
in
{
config = mkIf (cfg.enable or true) (mkMerge [
# System-level theme configuration
{
# Set theme wallpaper
omnixy.desktop.wallpaper = ./wallpapers/ristretto/1-ristretto.jpg;
# Hyprland theme colors (from omarchy)
environment.etc."omnixy/hyprland/theme.conf".text = ''
general {
col.active_border = rgb(e6d9db)
col.inactive_border = rgba(5d3e2eaa)
}
decoration {
col.shadow = rgba(1a1008ee)
}
'';
# GTK theme
programs.dconf.enable = true;
# Environment variables for consistent theming
environment.variables = {
GTK_THEME = "Adwaita-dark";
QT_STYLE_OVERRIDE = "adwaita-dark";
OMNIXY_THEME_COLORS_BG = colors.bg;
OMNIXY_THEME_COLORS_FG = colors.fg;
OMNIXY_THEME_COLORS_ACCENT = colors.cream;
};
# Console colors
console = {
colors = [
colors.bg_light # black
colors.red # red
colors.green # green
colors.yellow # yellow
colors.blue # blue
colors.purple # magenta
colors.cyan # cyan
colors.fg_dim # white
colors.espresso # bright black
colors.red # bright red
colors.green # bright green
colors.amber # bright yellow
colors.blue # bright blue
colors.purple # bright magenta
colors.cyan # bright cyan
colors.fg # bright white
];
};
}
# User-specific theme configuration
(omnixy.forUser {
# GTK configuration
gtk = {
enable = true;
theme = {
name = "Adwaita-dark";
package = pkgs.gnome-themes-extra;
};
iconTheme = {
name = "Papirus-Dark";
package = pkgs.papirus-icon-theme;
};
gtk3.extraConfig = {
gtk-application-prefer-dark-theme = 1;
};
gtk4.extraConfig = {
gtk-application-prefer-dark-theme = 1;
};
};
# Qt theming
qt = {
enable = true;
platformTheme.name = "adwaita";
style.name = "adwaita-dark";
};
# Kitty terminal theme
programs.kitty = mkIf (omnixy.isEnabled "coding" || omnixy.isEnabled "media") {
enable = true;
settings = {
background = colors.bg;
foreground = colors.fg;
selection_background = colors.bg_lighter;
selection_foreground = colors.fg;
# Cursor colors
cursor = colors.cream;
cursor_text_color = colors.bg;
# URL underline color when hovering
url_color = colors.amber;
# Tab colors
active_tab_background = colors.cream;
active_tab_foreground = colors.bg;
inactive_tab_background = colors.bg_light;
inactive_tab_foreground = colors.fg_dim;
# Window border colors
active_border_color = colors.cream;
inactive_border_color = colors.mocha;
};
};
# Alacritty terminal theme
programs.alacritty = mkIf (omnixy.isEnabled "coding" || omnixy.isEnabled "media") {
enable = true;
settings = {
colors = {
primary = {
background = colors.bg;
foreground = colors.fg;
};
cursor = {
text = colors.bg;
cursor = colors.cream;
};
normal = {
black = colors.bg_light;
red = colors.red;
green = colors.green;
yellow = colors.yellow;
blue = colors.blue;
magenta = colors.purple;
cyan = colors.cyan;
white = colors.fg_dim;
};
bright = {
black = colors.espresso;
red = colors.red;
green = colors.green;
yellow = colors.amber;
blue = colors.blue;
magenta = colors.purple;
cyan = colors.cyan;
white = colors.fg;
};
};
};
};
# Waybar theme
programs.waybar = mkIf (omnixy.isEnabled "media" || omnixy.isEnabled "gaming") {
enable = true;
style = ''
* {
font-family: "JetBrainsMono Nerd Font";
font-size: 13px;
border: none;
border-radius: 0;
min-height: 0;
}
window#waybar {
background: ${colors.bg};
color: ${colors.fg};
border-bottom: 2px solid ${colors.cream};
}
#workspaces button {
padding: 0 8px;
background: transparent;
color: ${colors.fg_dim};
border-bottom: 2px solid transparent;
}
#workspaces button.active {
color: ${colors.cream};
border-bottom-color: ${colors.cream};
}
#workspaces button:hover {
color: ${colors.fg};
background: ${colors.bg_light};
}
#clock, #battery, #cpu, #memory, #network, #pulseaudio {
padding: 0 10px;
margin: 0 2px;
background: ${colors.bg_light};
color: ${colors.fg};
}
#battery.critical {
color: ${colors.red};
}
#battery.warning {
color: ${colors.amber};
}
'';
};
# Rofi theme
programs.rofi = mkIf (omnixy.isEnabled "media" || omnixy.isEnabled "gaming") {
enable = true;
theme = {
"*" = {
background-color = mkLiteral colors.bg;
foreground-color = mkLiteral colors.fg;
border-color = mkLiteral colors.cream;
separatorcolor = mkLiteral colors.bg_light;
scrollbar-handle = mkLiteral colors.cream;
};
"#window" = {
border = mkLiteral "2px";
border-radius = mkLiteral "8px";
padding = mkLiteral "20px";
};
"#element selected" = {
background-color = mkLiteral colors.cream;
text-color = mkLiteral colors.bg;
};
};
};
# Mako notification theme
services.mako = mkIf (omnixy.isEnabled "media" || omnixy.isEnabled "gaming") {
enable = true;
settings = {
font = "JetBrainsMono Nerd Font 10";
background-color = colors.bg;
text-color = colors.fg;
border-color = colors.cream;
border-size = 2;
border-radius = 8;
padding = "10";
margin = "5";
default-timeout = 5000;
progress-color = colors.cream;
};
};
# VSCode theme
programs.vscode = mkIf (omnixy.isEnabled "coding") {
enable = true;
userSettings = {
"workbench.colorTheme" = "Monokai";
"workbench.preferredDarkColorTheme" = "Monokai";
"editor.fontFamily" = "'JetBrainsMono Nerd Font', 'Droid Sans Mono', 'monospace'";
"terminal.integrated.fontFamily" = "'JetBrainsMono Nerd Font'";
};
};
# Neovim theme
programs.neovim = mkIf (omnixy.isEnabled "coding") {
enable = true;
extraConfig = ''
set background=dark
colorscheme monokai
'';
};
# Git diff and bat theme
programs.bat.config.theme = "Monokai Extended";
# btop theme
programs.btop.settings.color_theme = "monokai";
# Lazygit theme
programs.lazygit.settings = {
gui.theme = {
lightTheme = false;
selectedLineBgColor = [ colors.bg_lighter ];
selectedRangeBgColor = [ colors.bg_lighter ];
};
};
# Zsh/shell prompt colors
programs.starship = mkIf (omnixy.isEnabled "coding") {
enable = true;
settings = {
format = "$directory$git_branch$git_status$character";
character = {
success_symbol = "[➜](bold ${colors.green})";
error_symbol = "[➜](bold ${colors.red})";
};
directory = {
style = "bold ${colors.amber}";
};
git_branch = {
style = "bold ${colors.purple}";
};
git_status = {
style = "bold ${colors.yellow}";
};
};
};
})
]);
}
+338
View File
@@ -0,0 +1,338 @@
{ config, pkgs, lib, ... }:
# Rose Pine theme for OmniXY
# All natural pine, faux fur and a bit of soho vibes for the classy minimalist
with lib;
let
cfg = config.omnixy;
omnixy = import ../helpers.nix { inherit config pkgs lib; };
# Rose Pine color palette
colors = {
# Base colors
base = "#191724"; # Dark background
surface = "#1f1d2e"; # Surface background
overlay = "#26233a"; # Overlay background
muted = "#6e6a86"; # Muted foreground
subtle = "#908caa"; # Subtle foreground
text = "#e0def4"; # Main foreground
love = "#eb6f92"; # Love (pink/red)
gold = "#f6c177"; # Gold (yellow)
rose = "#ebbcba"; # Rose (peach)
pine = "#31748f"; # Pine (blue)
foam = "#9ccfd8"; # Foam (cyan)
iris = "#c4a7e7"; # Iris (purple)
# Highlight colors
highlight_low = "#21202e";
highlight_med = "#403d52";
highlight_high = "#524f67";
};
in
{
config = mkIf (cfg.enable or true) (mkMerge [
# System-level theme configuration
{
# Set theme wallpaper
omnixy.desktop.wallpaper = ./wallpapers/rose-pine/1-rose-pine.jpg;
# Hyprland theme colors (from omarchy)
environment.etc."omnixy/hyprland/theme.conf".text = ''
general {
col.active_border = rgb(575279)
col.inactive_border = rgba(26233aaa)
}
decoration {
col.shadow = rgba(191724ee)
}
'';
# GTK theme
programs.dconf.enable = true;
# Environment variables for consistent theming
environment.variables = {
GTK_THEME = "Adwaita-dark";
QT_STYLE_OVERRIDE = "adwaita-dark";
OMNIXY_THEME_COLORS_BG = colors.base;
OMNIXY_THEME_COLORS_FG = colors.text;
OMNIXY_THEME_COLORS_ACCENT = colors.foam;
};
# Console colors
console = {
colors = [
colors.overlay # black
colors.love # red
colors.pine # green (using pine as green alternative)
colors.gold # yellow
colors.foam # blue (using foam as blue)
colors.iris # magenta
colors.rose # cyan (using rose as cyan)
colors.text # white
colors.muted # bright black
colors.love # bright red
colors.pine # bright green
colors.gold # bright yellow
colors.foam # bright blue
colors.iris # bright magenta
colors.rose # bright cyan
colors.text # bright white
];
};
}
# User-specific theme configuration
(omnixy.forUser {
# GTK configuration
gtk = {
enable = true;
theme = {
name = "Adwaita-dark";
package = pkgs.gnome-themes-extra;
};
iconTheme = {
name = "Papirus-Dark";
package = pkgs.papirus-icon-theme;
};
gtk3.extraConfig = {
gtk-application-prefer-dark-theme = 1;
};
gtk4.extraConfig = {
gtk-application-prefer-dark-theme = 1;
};
};
# Qt theming
qt = {
enable = true;
platformTheme.name = "adwaita";
style.name = "adwaita-dark";
};
# Kitty terminal theme
programs.kitty = mkIf (omnixy.isEnabled "coding" || omnixy.isEnabled "media") {
enable = true;
themeFile = "Rosé Pine";
settings = {
background = colors.base;
foreground = colors.text;
selection_background = colors.surface;
selection_foreground = colors.text;
# Cursor colors
cursor = colors.text;
cursor_text_color = colors.base;
# URL underline color when hovering
url_color = colors.foam;
# Tab colors
active_tab_background = colors.foam;
active_tab_foreground = colors.base;
inactive_tab_background = colors.surface;
inactive_tab_foreground = colors.subtle;
# Window border colors
active_border_color = colors.foam;
inactive_border_color = colors.muted;
};
};
# Alacritty terminal theme
programs.alacritty = mkIf (omnixy.isEnabled "coding" || omnixy.isEnabled "media") {
enable = true;
settings = {
colors = {
primary = {
background = colors.base;
foreground = colors.text;
};
cursor = {
text = colors.base;
cursor = colors.text;
};
normal = {
black = colors.overlay;
red = colors.love;
green = colors.pine;
yellow = colors.gold;
blue = colors.foam;
magenta = colors.iris;
cyan = colors.rose;
white = colors.text;
};
bright = {
black = colors.muted;
red = colors.love;
green = colors.pine;
yellow = colors.gold;
blue = colors.foam;
magenta = colors.iris;
cyan = colors.rose;
white = colors.text;
};
};
};
};
# Waybar theme
programs.waybar = mkIf (omnixy.isEnabled "media" || omnixy.isEnabled "gaming") {
enable = true;
style = ''
* {
font-family: "JetBrainsMono Nerd Font";
font-size: 13px;
border: none;
border-radius: 0;
min-height: 0;
}
window#waybar {
background: ${colors.base};
color: ${colors.text};
border-bottom: 2px solid ${colors.foam};
}
#workspaces button {
padding: 0 8px;
background: transparent;
color: ${colors.subtle};
border-bottom: 2px solid transparent;
}
#workspaces button.active {
color: ${colors.foam};
border-bottom-color: ${colors.foam};
}
#workspaces button:hover {
color: ${colors.text};
background: ${colors.surface};
}
#clock, #battery, #cpu, #memory, #network, #pulseaudio {
padding: 0 10px;
margin: 0 2px;
background: ${colors.surface};
color: ${colors.text};
}
#battery.critical {
color: ${colors.love};
}
#battery.warning {
color: ${colors.gold};
}
'';
};
# Rofi theme
programs.rofi = mkIf (omnixy.isEnabled "media" || omnixy.isEnabled "gaming") {
enable = true;
theme = {
"*" = {
background-color = mkLiteral colors.base;
foreground-color = mkLiteral colors.text;
border-color = mkLiteral colors.foam;
separatorcolor = mkLiteral colors.surface;
scrollbar-handle = mkLiteral colors.foam;
};
"#window" = {
border = mkLiteral "2px";
border-radius = mkLiteral "8px";
padding = mkLiteral "20px";
};
"#element selected" = {
background-color = mkLiteral colors.foam;
text-color = mkLiteral colors.base;
};
};
};
# Mako notification theme
services.mako = mkIf (omnixy.isEnabled "media" || omnixy.isEnabled "gaming") {
enable = true;
settings = {
font = "JetBrainsMono Nerd Font 10";
background-color = colors.base;
text-color = colors.text;
border-color = colors.foam;
border-size = 2;
border-radius = 8;
padding = "10";
margin = "5";
default-timeout = 5000;
progress-color = colors.foam;
};
};
# VSCode theme
programs.vscode = mkIf (omnixy.isEnabled "coding") {
enable = true;
userSettings = {
"workbench.colorTheme" = "Rosé Pine";
"workbench.preferredDarkColorTheme" = "Rosé Pine";
"editor.fontFamily" = "'JetBrainsMono Nerd Font', 'Droid Sans Mono', 'monospace'";
"terminal.integrated.fontFamily" = "'JetBrainsMono Nerd Font'";
};
};
# Neovim theme
programs.neovim = mkIf (omnixy.isEnabled "coding") {
enable = true;
extraConfig = ''
set background=dark
colorscheme rose-pine
'';
plugins = with pkgs.vimPlugins; [
rose-pine
];
};
# Git diff and bat theme
programs.bat.config.theme = "Monokai Extended";
# btop theme - using a rose-inspired theme
programs.btop.settings.color_theme = "rose-pine";
# Lazygit theme
programs.lazygit.settings = {
gui.theme = {
lightTheme = false;
selectedLineBgColor = [ colors.surface ];
selectedRangeBgColor = [ colors.surface ];
};
};
# Zsh/shell prompt colors
programs.starship = mkIf (omnixy.isEnabled "coding") {
enable = true;
settings = {
format = "$directory$git_branch$git_status$character";
character = {
success_symbol = "[➜](bold ${colors.pine})";
error_symbol = "[➜](bold ${colors.love})";
};
directory = {
style = "bold ${colors.foam}";
};
git_branch = {
style = "bold ${colors.iris}";
};
git_status = {
style = "bold ${colors.gold}";
};
};
};
})
]);
}
+14
View File
@@ -32,6 +32,20 @@ in
{
# Tokyo Night theme configuration
config = {
# Set theme wallpaper
omnixy.desktop.wallpaper = ./wallpapers/tokyo-night/1-scenery-pink-lakeside-sunset-lake-landscape-scenic-panorama-7680x3215-144.png;
# Hyprland theme colors
environment.etc."omnixy/hyprland/theme.conf".text = ''
general {
col.active_border = rgba(7aa2f7ee) rgba(c4a7e7ee) 45deg
col.inactive_border = rgba(414868aa)
}
decoration {
col.shadow = rgba(1a1b26ee)
}
'';
# Color palette - use nix-colors if available
environment.variables = {
OMNIXY_THEME = "tokyo-night";
Binary file not shown.

After

Width:  |  Height:  |  Size: 652 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 353 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 254 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 315 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 434 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1010 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 384 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 205 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 798 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 248 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.6 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 263 KiB