1

Add catpuccin theme

This commit is contained in:
2023-06-10 20:12:56 +02:00
parent bb1be01881
commit b3447dcb5d
13 changed files with 547 additions and 95 deletions

View File

@ -13,10 +13,42 @@ in {
options.modules.fish = import ./options.nix {inherit lib mylib;};
config = mkIf cfg.enable {
home.file.".config/fish/themes/catppuccin-latte.theme".text = ''
# name: 'Catppuccin Latte'
# url: 'https://github.com/catppuccin/fish'
# preferred_background: eff1f5
fish_color_normal 4c4f69
fish_color_command 1e66f5
fish_color_param dd7878
fish_color_keyword d20f39
fish_color_quote 40a02b
fish_color_redirection ea76cb
fish_color_end fe640b
fish_color_comment 8c8fa1
fish_color_error d20f39
fish_color_gray 9ca0b0
fish_color_selection --background=ccd0da
fish_color_search_match --background=ccd0da
fish_color_option 40a02b
fish_color_operator ea76cb
fish_color_escape e64553
fish_color_autosuggestion 9ca0b0
fish_color_cancel d20f39
fish_color_cwd df8e1d
fish_color_user 179299
fish_color_host_remote 40a02b
fish_color_host 1e66f5
fish_color_status d20f39
fish_pager_color_progress 9ca0b0
fish_pager_color_prefix ea76cb
fish_pager_color_completion 4c4f69
fish_pager_color_description 9ca0b0
'';
programs.fish = {
enable = true;
# TODO:
functions = {
nnncd = {
wraps = "nnn";
@ -56,8 +88,25 @@ in {
};
};
# TODO:
# plugins = [];
plugins = [
# oh-my-fish plugins are stored in their own repositories, which
# makes them simple to import into home-manager.
# NOTE: Currently, HM ignores theme plugins
# {
# name = "Catppuccin Latte";
# src = pkgs.fetchFromGitHub {
# owner = "catppuccin";
# repo = "fish";
# rev = "91e6d6721362be05a5c62e235ed8517d90c567c9";
# sha256 = "sha256-l9V7YMfJWhKDL65dNbxaddhaM6GJ0CFZ6z+4R6MJwBA=";
# };
# }
];
shellInit = ''
set -e fish_greeting
yes | fish_config theme save "catppuccin-latte"
'';
shellAbbrs = let
# Only add " | bat" if bat is installed
@ -88,7 +137,8 @@ in {
blk = batify "lsblk -o NAME,LABEL,UUID,FSTYPE,SIZE,FSUSE%,MOUNTPOINT,MODEL";
grep = "grep --color=auto -E"; # grep with extended regex
watch = "watch -d -c -n 0.5";
n = "nnncd -a -P p -e"; # Doesn't work with abbrify because I have nnn.override?
n = "nnncd -a -e"; # Doesn't work with abbrify because I have nnn.override?
np = "nnncd -a -P p -e";
# systemd
failed = "systemctl --failed";
@ -157,10 +207,6 @@ in {
mp3 = "yt-dlp -f 'ba' --extract-audio --audio-format mp3";
})
];
shellInit = ''
set -e fish_greeting
'';
};
};
}

View File

@ -35,13 +35,14 @@ in {
# https://docs.helix-editor.com/configuration.html
settings = {
# theme = "base16_terminal";
theme = "catppuccin_latte";
editor = {
scrolloff = 10;
mouse = false; # Default true
middle-click-paste = false; # Default true
line-number = "relative";
cursorline = true;
color-modes = true;
auto-completion = true; # Default
bufferline = "multiple";
cursor-shape = {

View File

@ -26,11 +26,14 @@ in {
iconTheme.name = "Papirus";
};
# TODO: catppuccin-cursors
home.pointerCursor = {
gtk.enable = true;
x11.enable = true;
package = pkgs.bibata-cursors;
name = "Bibata-Modern-Classic";
# package = pkgs.catppuccin-cursors.latteMauve;
# name = "Catppuccin-Latte-Mauve-Cursors";
size = 16;
};
@ -56,6 +59,37 @@ in {
# Notification service
dunst = {
enable = true;
iconTheme.package = pkgs.papirus-icon-theme;
iconTheme.name = "Papirus";
settings = {
global = {
monitor = 1;
font = "JetBrains Nerd Font Mono 11";
offset = "20x20";
frame_color = "#1E66F5";
frame_width = 2;
corner_radius = 5;
separator_color = "frame";
};
urgency_low = {
background = "#EFF1F5";
foreground = "#4C4F69";
};
urgency_normal = {
background = "#EFF1F5";
foreground = "#4C4F69";
};
urgency_critical = {
background = "#EFF1F5";
foreground = "#4C4F69";
frame_color = "#FE640B";
};
};
};
};
@ -102,7 +136,6 @@ in {
"$mainMod, F" = ["fullscreen"];
"$mainMod, C" = ["exec, clipman pick --tool=rofi"];
"$mainMod, G" = ["togglegroup"];
"$mainMod, T" = ["exec, kitty"];
"ALT, tab" = ["changegroupactive"];
};

View File

@ -17,6 +17,7 @@ in {
config = mkIf cfg.enable {
programs.kitty = {
enable = true;
shellIntegration.enableFishIntegration = true;
font = {
# package = pkgs.victor-mono;
@ -24,45 +25,102 @@ in {
size = 12;
};
# TODO: Configure
settings = {
editor = "hx";
scrollback_lines = 10000;
window_padding_width = 0;
# hide_window_decorations = "yes";
allow_remote_control = "yes"; # For nnn file preview
listen_on = "unix:@mykitty";
# Light Theme
# background = "#f7f7f7";
# foreground = "#39FF14"; # Matrix green because I'm a master hacker
# selection_background = "#a4a1a1";
# selection_foreground = "#f7f7f7";
# cursor = "#494542";
# color0 = "#090200";
# color1 = "#da2c20";
# color2 = "#00a152";
# color3 = "#ffcc00";
# color4 = "#00a0e4";
# color5 = "#a06994";
# color6 = "#0077d9";
# color7 = "#a4a1a1";
# color8 = "#5b5754";
# color9 = "#e8bacf";
# color10 = "#3a3332";
# color11 = "#494542";
# color12 = "#7f7c7b";
# color13 = "#d6d4d3";
# color14 = "#ccab53";
# color15 = "#d2b3ff";
};
keybindings = {
"kitty_mod+j" = "next_window";
"kitty_mod+k" = "previous_window";
"kitty_mod+l" = "next_layout";
};
settings = {
editor = "hx";
scrollback_lines = 10000;
window_padding_width = 10; # Looks stupid with helix if bg doesn't match
# hide_window_decorations = "yes";
enabled_layouts = "grid,vertical,horizontal";
allow_remote_control = "yes"; # For nnn file preview
listen_on = "unix:@mykitty";
tab_bar_min_tabs = 1;
tab_bar_edge = "bottom";
tab_bar_style = "powerline";
tab_powerline_style = "slanted";
tab_title_template = "{title}{' :{}:'.format(num_windows) if num_windows > 1 else ''}";
#
# Catppuccin Light Theme
#
# The basic colors
foreground = "#4C4F69";
background = "#EFF1F5";
selection_foreground = "#EFF1F5";
selection_background = "#DC8A78";
# Cursor colors
cursor = "#DC8A78";
cursor_text_color = "#EFF1F5";
# URL underline color when hovering with mouse
url_color = "#DC8A78";
# Kitty window border colors
active_border_color = "#7287FD";
inactive_border_color = "#9CA0B0";
bell_border_color = "#DF8E1D";
# OS Window titlebar colors
wayland_titlebar_color = "system";
macos_titlebar_color = "system";
# Tab bar colors
active_tab_foreground = "#EFF1F5";
active_tab_background = "#8839EF";
inactive_tab_foreground = "#4C4F69";
inactive_tab_background = "#9CA0B0";
tab_bar_background = "#BCC0CC";
# Colors for marks (marked text in the terminal)
mark1_foreground = "#EFF1F5";
mark1_background = "#7287fD";
mark2_foreground = "#EFF1F5";
mark2_background = "#8839EF";
mark3_foreground = "#EFF1F5";
mark3_background = "#209FB5";
# The 16 terminal colors
# black
color0 = "#5C5F77";
color8 = "#6C6F85";
# red
color1 = "#D20F39";
color9 = "#D20F39";
# green
color2 = "#40A02B";
color10 = "#40A02B";
# yellow
color3 = "#DF8E1D";
color11 = "#DF8E1D";
# blue
color4 = "#1E66F5";
color12 = "#1E66F5";
# magenta
color5 = "#EA76CB";
color13 = "#EA76CB";
# cyan
color6 = "#179299";
color14 = "#179299";
# white
color7 = "#ACB0BE";
color15 = "#BCC0CC";
};
};
};
}

View File

@ -14,6 +14,12 @@ in {
options.modules.nnn = import ./options.nix {inherit lib mylib;};
config = mkIf cfg.enable {
home.sessionVariables = {
# NNN_TERMINAL = "alacritty";
NNN_PAGER = "bat";
# NNN_FIFO = "/tmp/nnn.fifo"; # For nnn preview
};
programs.nnn = {
package = pkgs.nnn.override {
# These two are mutually exclusive

View File

@ -22,6 +22,8 @@ in {
alefragnani.bookmarks
# alefragnani.project-manager # Not much sense with flake dev environments
# bradlc.vscode-tailwindcss
catppuccin.catppuccin-vsc
catppuccin.catppuccin-vsc-icons
christian-kohler.path-intellisense
codezombiech.gitignore
coolbear.systemd-unit-file
@ -46,6 +48,7 @@ in {
ms-vscode.cpptools
ms-vscode.hexeditor
ms-vscode.makefile-tools
ms-vscode-remote.remote-ssh
# naumovs.color-highlight
njpwerner.autodocstring
james-yu.latex-workshop
@ -91,10 +94,16 @@ in {
"files.trimFinalNewlines" = true;
"files.trimTrailingWhitespace" = true; # NOTE: If this is enabled with frequent autosave, the current lines whitespace will always be removed, which is obnoxious
"window.restoreWindows" = "none";
"workbench.enableExperiments" = false;
"workbench.list.smoothScrolling" = true;
"workbench.colorTheme" = "Default Light Modern";
"workbench.iconTheme" = "vscode-icons";
# "workbench.colorTheme" = "Default Light Modern";
# "workbench.iconTheme" = "vscode-icons";
"workbench.colorTheme" = "Catppuccin Latte";
"workbench.iconTheme" = "catppuccin-latte";
"remote.SSH.configFile" = "~/.ssh/custom-config";
"security.workspace.trust.enabled" = false;