switch to base16 project-wide

This commit is contained in:
Sean Kovacs 2026-01-21 14:04:21 -05:00
commit e1c716ef8c
Signed by: sckova
GPG key ID: 00F325187C68651A
28 changed files with 847 additions and 810 deletions

View file

@ -4,12 +4,102 @@
...
}:
let
btop-colors = with config.scheme.withHashtag; ''
# Credit to https://github.com/catppuccin/btop
# Main background, empty for terminal default, need to be empty if you want transparent background
theme[main_bg]="${base00}"
# Main text color
theme[main_fg]="${base05}"
# Title color for boxes
theme[title]="${base05}"
# Highlight color for keyboard shortcuts
theme[hi_fg]="${base0D}"
# Background color of selected item in processes box
theme[selected_bg]="${base02}"
# Foreground color of selected item in processes box
theme[selected_fg]="${base0D}"
# Color of inactive/disabled text
theme[inactive_fg]="${base03}"
# Color of text appearing on top of graphs, i.e uptime and current network graph scaling
theme[graph_text]="${base06}"
# Background color of the percentage meters
theme[meter_bg]="${base02}"
# Misc colors for processes box including mini cpu graphs, details memory graph and details status text
theme[proc_misc]="${base06}"
# CPU, Memory, Network, Proc box outline colors
theme[cpu_box]="${base0E}" #Mauve
theme[mem_box]="${base0B}" #Green
theme[net_box]="${base12}" #Maroon
theme[proc_box]="${base0D}" #Blue
# Box divider line and small boxes line color
theme[div_line]="${base03}"
# Temperature graph color (Green -> Yellow -> Red)
theme[temp_start]="${base0B}"
theme[temp_mid]="${base0A}"
theme[temp_end]="${base08}"
# CPU graph colors (Teal -> Lavender)
theme[cpu_start]="${base0C}"
theme[cpu_mid]="${base16}"
theme[cpu_end]="${base07}"
# Mem/Disk free meter (Mauve -> Lavender -> Blue)
theme[free_start]="${base0E}"
theme[free_mid]="${base07}"
theme[free_end]="${base0D}"
# Mem/Disk cached meter (Sapphire -> Lavender)
theme[cached_start]="${base16}"
theme[cached_mid]="${base0D}"
theme[cached_end]="${base07}"
# Mem/Disk available meter (Peach -> Red)
theme[available_start]="${base09}"
theme[available_mid]="${base12}"
theme[available_end]="${base08}"
# Mem/Disk used meter (Green -> Sky)
theme[used_start]="${base0B}"
theme[used_mid]="${base0C}"
theme[used_end]="${base15}"
# Download graph colors (Peach -> Red)
theme[download_start]="${base09}"
theme[download_mid]="${base12}"
theme[download_end]="${base08}"
# Upload graph colors (Green -> Sky)
theme[upload_start]="${base0B}"
theme[upload_mid]="${base0C}"
theme[upload_end]="${base15}"
# Process box color gradient for threads, mem and cpu usage (Sapphire -> Mauve)
theme[process_start]="${base16}"
theme[process_mid]="${base07}"
theme[process_end]="${base0E}"
'';
btop-colors-file = pkgs.writeTextFile {
name = "btop-colors";
text = btop-colors;
destination = "/nixos.theme";
};
mergedConfig = pkgs.runCommand "mergedConfig" { } ''
mkdir -p $out/themes
${pkgs.gnused}/bin/sed 's/blankFlavor/${config.catppuccin.flavor}/g' \
${./btop.conf} > $out/btop.conf
cp ${pkgs.catppuccin-btop-git}/themes/catppuccin_latte.theme $out/themes/
cp ${pkgs.catppuccin-btop-git}/themes/catppuccin_${config.catppuccin.flavor}.theme $out/themes/nixos.theme
cp -r ${btop-colors-file}/nixos.theme $out/themes/nixos.theme
'';
in
{

View file

@ -43,18 +43,4 @@
};
};
programs.man.generateCaches = false;
home.file.".config/fish/colors.fish" = {
text =
let
flavor = config.catppuccin.flavor;
palette = pkgs.catppuccin.bare.${flavor};
accent = config.catppuccin.accent;
in
lib.concatStringsSep "\n" (
(lib.mapAttrsToList (name: value: "set -g color_${name} ${value}") palette)
++ [ "set -g color_accent ${palette.${accent}}" ]
);
force = true;
};
}

View file

@ -1,24 +1,24 @@
source ~/.config/fish/colors.fish
# source ~/.config/fish/colors.fish
set -l last_status $status
set -l nix_shell_info (
if test -n "$IN_NIX_SHELL"
echo -n "<nix-shell> "
end
)
set -g color_user $color_sky
set -g color_host $color_red
set -g color_cwd $color_green
set -g color_user cyan
set -g color_host red
set -g color_cwd green
# Set host color based on hostname
if test (hostname) = peach
set -g color_host $color_accent
set -g color_host yellow
else if test (hostname) = alien
set -g color_host $color_accent
set -g color_host yellow
else if test (hostname) = vm
set -g color_host $color_accent
set -g color_host yellow
set -g color_cwd normal
else if test (uname) = Darwin
set -g color_host $color_yellow
set -g color_host yellow
end
set -l user_host (set_color $color_user)"$USER"(set_color normal)"@"(set_color $color_host)(prompt_hostname)(set_color normal)

View file

@ -4,11 +4,8 @@
...
}:
let
colors = pkgs.catppuccin.hex.${config.catppuccin.flavor};
accent = colors.${config.catppuccin.accent};
# Map Catppuccin colors to Kitty theme structure
kitty-colors = ''
kitty-colors = with config.scheme.withHashtag; ''
# vim:ft=kitty
## name: Kova's Nixified Kitty
## author: Catppuccin Org & sckova
@ -17,70 +14,70 @@ let
## blurb: The theme generated from the NixOS configuration!
# The basic colors
foreground ${colors.text}
background ${colors.base}
selection_foreground ${colors.base}
selection_background ${colors.rosewater}
foreground ${base05}
background ${base00}
selection_foreground ${base00}
selection_background ${base06}
# Cursor colors
cursor ${colors.rosewater}
cursor_text_color ${colors.base}
cursor ${base06}
cursor_text_color ${base00}
# URL underline color when hovering with mouse
url_color ${colors.rosewater}
url_color ${base06}
# Kitty window border colors
active_border_color ${accent}
inactive_border_color ${colors.overlay0}
bell_border_color ${colors.yellow}
active_border_color ${base09}
inactive_border_color ${base03}
bell_border_color ${base0A}
# Tab bar colors
active_tab_foreground ${colors.crust}
active_tab_background ${accent}
inactive_tab_foreground ${colors.text}
inactive_tab_background ${colors.mantle}
tab_bar_background ${colors.crust}
active_tab_foreground ${base11}
active_tab_background ${base09}
inactive_tab_foreground ${base05}
inactive_tab_background ${base10}
tab_bar_background ${base11}
# Colors for marks (marked text in the terminal)
mark1_foreground ${colors.base}
mark1_background ${accent}
mark2_foreground ${colors.base}
mark2_background ${colors.blue}
mark3_foreground ${colors.base}
mark3_background ${colors.sky}
mark1_foreground ${base00}
mark1_background ${base09}
mark2_foreground ${base00}
mark2_background ${base0D}
mark3_foreground ${base00}
mark3_background ${base15}
# The 16 terminal colors
# black
color0 ${colors.surface1}
color8 ${colors.surface2}
color0 ${base02}
color8 ${base02}
# red
color1 ${colors.red}
color9 ${colors.red}
color1 ${base08}
color9 ${base08}
# green
color2 ${colors.green}
color10 ${colors.green}
color2 ${base0B}
color10 ${base0B}
# yellow
color3 ${colors.yellow}
color11 ${colors.yellow}
color3 ${base0A}
color11 ${base0A}
# blue
color4 ${colors.blue}
color12 ${colors.blue}
color4 ${base0D}
color12 ${base0D}
# magenta
color5 ${colors.pink}
color13 ${colors.pink}
color5 ${base17}
color13 ${base17}
# cyan
color6 ${colors.teal}
color14 ${colors.teal}
color6 ${base0C}
color14 ${base0C}
# white
color7 ${colors.subtext1}
color15 ${colors.subtext0}
color7 ${base04}
color15 ${base04}
'';
kitty-colors-file = pkgs.writeTextFile {
@ -132,7 +129,7 @@ in
};
bat = {
enable = true;
config.theme = "Catppuccin ${config.catppuccinUpper.flavor}";
# config.theme = "Catppuccin ${config.catppuccinUpper.flavor}";
};
};
}

View file

@ -36,12 +36,49 @@
expandtab = true;
number = true;
};
colorschemes.catppuccin = {
colorschemes.palette = {
enable = true;
settings = {
flavour = config.catppuccin.flavor;
palettes = {
main = "base16_custom";
accent = "base16_custom";
state = "base16_custom";
};
custom_palettes = with config.scheme.withHashtag; {
main.base16_custom = {
color0 = base00; # background
color1 = base01; # lighter background
color2 = base02; # selection background
color3 = base03; # comments
color4 = base04; # dark foreground
color5 = base05; # default foreground
color6 = base06; # light foreground
color7 = base07; # lightest foreground
color8 = base05; # variables/tags
};
accent.base16_custom = {
accent0 = base09; # integers/constants
accent1 = base0A; # classes/search
accent2 = base0B; # strings/inherited
accent3 = base0C; # support/regex
accent4 = base0D; # functions/headings
accent5 = base0E; # keywords/bold
accent6 = base0F; # deprecated/embedded
};
state.base16_custom = {
error = base08; # red
warning = base0A; # yellow
hint = base0C; # cyan
ok = base0B; # green
info = base0D; # blue
};
};
};
};
keymaps = [
# --- Normal mode mappings ---
{
@ -186,110 +223,106 @@
nixd.enable = true;
};
};
lualine =
let
palette = pkgs.catppuccin.${config.catppuccin.flavor};
in
{
enable = true;
settings = {
options = {
theme = {
normal = {
a = {
fg = palette.base;
bg = palette.mauve;
};
b = {
fg = palette.text;
bg = palette.surface0;
};
c = {
fg = palette.text;
};
lualine = with config.scheme.withHashtag; {
enable = true;
settings = {
options = {
theme = {
normal = {
a = {
fg = base00;
bg = base0E;
};
insert = {
a = {
fg = palette.base;
bg = palette.blue;
};
b = {
fg = base05;
bg = base01;
};
visual = {
a = {
fg = palette.base;
bg = palette.teal;
};
};
replace = {
a = {
fg = palette.base;
bg = palette.red;
};
};
inactive = {
a = {
fg = palette.text;
bg = palette.base;
};
b = {
fg = palette.text;
bg = palette.base;
};
c = {
fg = palette.text;
};
c = {
fg = base05;
};
};
component_separators = "";
section_separators = {
left = "";
right = "";
insert = {
a = {
fg = base00;
bg = base0D;
};
};
visual = {
a = {
fg = base00;
bg = base0C;
};
};
replace = {
a = {
fg = base00;
bg = base08;
};
};
inactive = {
a = {
fg = base05;
bg = base00;
};
b = {
fg = base05;
bg = base00;
};
c = {
fg = base05;
};
};
};
sections = {
lualine_a = [
{
__unkeyed-1 = "mode";
separator = {
left = " ";
};
right_padding = 2;
}
];
lualine_b = [
"filename"
"branch"
];
lualine_c = [ "%=" ];
lualine_x = [ ];
lualine_y = [
"filetype"
"progress"
];
lualine_z = [
{
__unkeyed-1 = "location";
separator = {
right = " ";
};
left_padding = 2;
}
];
component_separators = "";
section_separators = {
left = "";
right = "";
};
inactive_sections = {
lualine_a = [ "filename" ];
lualine_b = [ ];
lualine_c = [ ];
lualine_x = [ ];
lualine_y = [ ];
lualine_z = [ "location" ];
};
tabline = { };
extensions = [ ];
};
sections = {
lualine_a = [
{
__unkeyed-1 = "mode";
separator = {
left = " ";
};
right_padding = 2;
}
];
lualine_b = [
"filename"
"branch"
];
lualine_c = [ "%=" ];
lualine_x = [ ];
lualine_y = [
"filetype"
"progress"
];
lualine_z = [
{
__unkeyed-1 = "location";
separator = {
right = " ";
};
left_padding = 2;
}
];
};
inactive_sections = {
lualine_a = [ "filename" ];
lualine_b = [ ];
lualine_c = [ ];
lualine_x = [ ];
lualine_y = [ ];
lualine_z = [ "location" ];
};
tabline = { };
extensions = [ ];
};
};
};
};
}