1

Add catpuccin theme

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

View File

@ -10,6 +10,9 @@ source = ~/.config/hypr/translucentrules.conf
source = ~/.config/hypr/workspaces.conf source = ~/.config/hypr/workspaces.conf
source = ~/.config/hypr/workspacerules.conf source = ~/.config/hypr/workspacerules.conf
layerrule = blur,rofi
layerrule = blur,waybar
general { general {
gaps_in = 5 gaps_in = 5
gaps_out = 20 gaps_out = 20

View File

@ -0,0 +1,7 @@
* {
bg-col-op: rgba(239, 241, 245, 100%);
bg-col: rgba(239, 241, 245, 60%);
fg-col: #4c4f69;
pink: #d20f39;
trans: rgba(255, 255, 255, 0);
}

View File

@ -5,6 +5,7 @@ configuration{
font: "JetBrainsMono Nerd Font Mono 14"; font: "JetBrainsMono Nerd Font Mono 14";
show-icons: true; show-icons: true;
icon-theme: "Papirus"; icon-theme: "Papirus";
/*terminal: "alacritty -o font.size=12";*/
terminal: "kitty"; terminal: "kitty";
drun-display-format: "{icon} {name}"; drun-display-format: "{icon} {name}";
disable-history: false; disable-history: false;
@ -29,24 +30,24 @@ window {
height: 500px; height: 500px;
width: 700px; width: 700px;
border-radius: 0px; border-radius: 0px;
background-color: @accent-dark; background-color: @bg-col;
} }
mainbox { mainbox {
background-color: @accent-dark; background-color: @trans;
} }
message { message {
background-color: @accent-dark; background-color: @trans;
} }
error-message { error-message {
background-color: @accent-dark; background-color: @trans;
margin: 0px 0px 20px 0px; margin: 0px 0px 20px 0px;
} }
textbox { textbox {
background-color: @pastel-g; background-color: @trans;
padding: 6px; padding: 6px;
margin: 20px 20px 0px 20px; margin: 20px 20px 0px 20px;
border-radius: 3; border-radius: 3;
@ -54,13 +55,13 @@ textbox {
inputbar { inputbar {
children: [prompt,entry]; children: [prompt,entry];
background-color: @accent-dark; background-color: @trans;
} }
prompt { prompt {
background-color: @pastel-g; background-color: @pink;
padding: 6px; padding: 6px;
text-color: @dark; text-color: @bg-col-op;
border-radius: 3px; border-radius: 3px;
margin: 20px 0px 0px 20px; margin: 20px 0px 0px 20px;
} }
@ -68,8 +69,8 @@ prompt {
entry { entry {
padding: 6px; padding: 6px;
margin: 20px 20px 0px 10px; margin: 20px 20px 0px 10px;
text-color: @dark; text-color: @fg-col;
background-color: @pastel-d; background-color: @trans;
border-radius: 3px; border-radius: 3px;
} }
@ -78,14 +79,14 @@ listview {
padding: 6px 0px 0px; padding: 6px 0px 0px;
margin: 10px 0px 0px 20px; margin: 10px 0px 0px 20px;
columns: 1; columns: 1;
background-color: @accent-dark; background-color: @trans;
} }
element { element {
padding: 5px; padding: 5px;
margin: 0px 20px 0px 0px; margin: 0px 20px 0px 0px;
background-color: @accent-dark; background-color: @trans;
text-color: @light; text-color: @pink;
border-radius: 3px; border-radius: 3px;
} }
@ -94,6 +95,6 @@ element-icon {
} }
element selected { element selected {
background-color: @light; background-color: @pink;
text-color: @dark; text-color: @bg-col-op;
} }

View File

@ -0,0 +1,37 @@
/*
*
* Catppuccin Latte palette
* Maintainer: rubyowo
*
*/
@define-color base #eff1f5;
@define-color mantle #e6e9ef;
@define-color crust #dce0e8;
@define-color text #4c4f69;
@define-color subtext0 #6c6f85;
@define-color subtext1 #5c5f77;
@define-color surface0 #ccd0da;
@define-color surface1 #bcc0cc;
@define-color surface2 #acb0be;
@define-color overlay0 #9ca0b0;
@define-color overlay1 #8c8fa1;
@define-color overlay2 #7c7f93;
@define-color blue #1e66f5;
@define-color lavender #7287fd;
@define-color sapphire #209fb5;
@define-color sky #04a5e5;
@define-color teal #179299;
@define-color green #40a02b;
@define-color yellow #df8e1d;
@define-color peach #fe640b;
@define-color maroon #e64553;
@define-color red #d20f39;
@define-color mauve #8839ef;
@define-color pink #ea76cb;
@define-color flamingo #dd7878;
@define-color rosewater #dc8a78;

View File

@ -47,6 +47,7 @@
"pulseaudio": { "pulseaudio": {
"format": "<span font=\"FontAwesome\"></span> {volume}%", "format": "<span font=\"FontAwesome\"></span> {volume}%",
"format-muted": "<span font=\"FontAwesome\"></span> ", "format-muted": "<span font=\"FontAwesome\"></span> ",
// "on-click": "alacritty -o font.size=12 -e ncpamixer"
"on-click": "kitty ncpamixer" "on-click": "kitty ncpamixer"
}, },

View File

@ -1,12 +1,14 @@
@import url("colors/three-bears.css"); /*@import url("colors/three-bears.css");*/
@import url("colors/foggy-lake.css");
/*Order is Top-Right-Bottom-Left for combined properties*/ /*Order is Top-Right-Bottom-Left for combined properties*/
window#waybar { window#waybar {
font-family: JetBrainsMono Nerd Font Mono; font-family: JetBrainsMono Nerd Font Mono;
font-weight: bold; font-weight: bold;
color: @dark; color: @base;
background-color: @accent-dark; background-color: @base;
opacity: 0.6;
} }
/*Square Widgets*/ /*Square Widgets*/
@ -39,14 +41,14 @@ window#waybar {
} }
/*Colors*/ /*Colors*/
#custom-launcher { background-color: @pastel-g; } #custom-launcher { background-color: @flamingo; }
#user { background-color: @pastel-f; } #user { background-color: @pink; }
#window { background-color: @pastel-e; } #window { background-color: @mauve; }
#workspaces button { background-color: @pastel-d; } #workspaces button { background-color: @red; }
#pulseaudio { background-color: @pastel-e; } #pulseaudio { background-color: @maroon; }
#network { background-color: @pastel-f; } #network { background-color: @peach; }
#cpu { background-color: @pastel-g; } #cpu { background-color: @yellow; }
#memory { background-color: @pastel-h; } #memory { background-color: @green; }
#temperature { background-color: @pastel-i; } #temperature { background-color: @teal; }
#clock { background-color: @pastel-a; } #clock { background-color: @sky; }
#tray { background-color: @pastel-b; } #tray { background-color: @sapphire; }

View File

@ -87,13 +87,18 @@ rec {
hyprland = { hyprland = {
enable = true; enable = true;
theme = "Three-Bears"; # theme = "Three-Bears";
theme = "Foggy-Lake";
keybindings = { keybindings = {
main-mod = "SUPER"; main-mod = "SUPER";
bindings = { bindings = {
"$mainMod, E" = ["exec, kitty fish -c \"nnncd -a -P p\""]; "$mainMod, T" = ["exec, kitty"];
"$mainMod, E" = ["exec, kitty"];
# "$mainMod, T" = ["exec, alacritty -o font.size=12 -e tmux"];
# "$mainMod, E" = ["exec, alacritty -o font.size=12 -e tmux"];
"$mainMod, P" = ["exec, hyprpicker -a"]; "$mainMod, P" = ["exec, hyprpicker -a"];
"$mainMod, S" = ["exec, grim -g \"$(slurp)\""]; "$mainMod, S" = ["exec, grim -g \"$(slurp)\""];
"$mainMod CTRL, S" = ["exec, grim -g \"$(slurp)\" - | wl-copy"]; "$mainMod CTRL, S" = ["exec, grim -g \"$(slurp)\" - | wl-copy"];
@ -104,6 +109,7 @@ rec {
"kdeconnect-indicator" "kdeconnect-indicator"
"nextcloud --background" "nextcloud --background"
"keepassxc" "keepassxc"
# "alacritty -o font.size=12 -e tmux"
"kitty" "kitty"
# "md.obsidian.Obsidian" # "md.obsidian.Obsidian"
# "firefox" # "firefox"
@ -138,6 +144,7 @@ rec {
transparent = [ transparent = [
"kitty" "kitty"
"Alacritty"
"discord" "discord"
"Spotify" "Spotify"
"obsidian" "obsidian"
@ -181,7 +188,8 @@ rec {
rofi = { rofi = {
enable = true; enable = true;
theme = "Three-Bears"; # theme = "Three-Bears";
theme = "Foggy-Lake";
}; };
vscode.enable = true; vscode.enable = true;
@ -251,6 +259,7 @@ rec {
EDITOR = "hx"; EDITOR = "hx";
VISUAL = "hx"; VISUAL = "hx";
# TERMINAL = "alacritty -o font.size=12";
TERMINAL = "kitty"; TERMINAL = "kitty";
BROWSER = "firefox"; BROWSER = "firefox";
@ -262,9 +271,6 @@ rec {
NIXOS_OZONE_WL = "1"; NIXOS_OZONE_WL = "1";
SDL_VIDEODRIVER = "wayland"; SDL_VIDEODRIVER = "wayland";
# TODO: NNN Module
# NNN_FIFO = "/tmp/nnn.fifo"; # For nnn preview
# Don't use system wine, use bottles # Don't use system wine, use bottles
# WINEESYNC = 1; # WINEESYNC = 1;
# WINEFSYNC = 1; # WINEFSYNC = 1;
@ -290,13 +296,11 @@ rec {
# delta # diffier diff differ (enabled as program) # delta # diffier diff differ (enabled as program)
# fzf # fuzzy find (enabled as program in fish module) # fzf # fuzzy find (enabled as program in fish module)
tokei # Text file statistics in a project tokei # Text file statistics in a project
rsync # cp on steroids
rclone # Rsync for cloud
poppler_utils # pdfunite poppler_utils # pdfunite
# ffmpeg # Convert video (magic), v4 # ffmpeg # Convert video (magic), v4
ffmpeg_5-full # v5, including ffplay ffmpeg_5-full # v5, including ffplay
imagemagick # Convert image (magic) imagemagick # Convert image (magic)
httpie # Cool http client ueberzugpp # Display images in terminal (alacritty)
(ripgrep.override {withPCRE2 = true;}) # fast as fuck (ripgrep.override {withPCRE2 = true;}) # fast as fuck
nvd # nix rebuild diff nvd # nix rebuild diff
# du-dust # Disk usage analyzer (for directories) # du-dust # Disk usage analyzer (for directories)
@ -305,14 +309,9 @@ rec {
fd # find alternative fd # find alternative
sd # sed alternative sd # sed alternative
tealdeer # very fast tldr (so readable man) tealdeer # very fast tldr (so readable man)
gping # ping with graph
# gtop # graphic top # We have btop already... # gtop # graphic top # We have btop already...
curlie # curl a'la httpie
wget # download that shit
dogdns # dns client
fclones # duplicate file finder fclones # duplicate file finder
gum # nice shell scripts gum # nice shell scripts
lazygit # can always use another git client
geteltorito # extreact boot image from iso geteltorito # extreact boot image from iso
gitbatch # overview over multiple repos gitbatch # overview over multiple repos
# TODO: Maybe general document/typesetting module? # TODO: Maybe general document/typesetting module?
@ -340,6 +339,21 @@ rec {
unrar unrar
p7zip p7zip
# Networking
dig
tcpdump
traceroute
wireshark
gping # ping with graph
curlie # curl a'la httpie
wget # download that shit
dogdns # dns client
rsync # cp on steroids
rclone # Rsync for cloud
httpie # Cool http client
cool-retro-term
# Xooooorg/Desktop environment stuff # Xooooorg/Desktop environment stuff
# xclip # xclip
xorg.xwininfo # See what apps run in XWayland xorg.xwininfo # See what apps run in XWayland
@ -442,11 +456,146 @@ rec {
programs = { programs = {
home-manager.enable = true; home-manager.enable = true;
# Potential future enables alacritty = {
# mangohud.enable = true; enable = true;
# matplotlib.enable = true;
bat.enable = true; settings = {
window = {
padding = {
x = 10;
y = 10;
};
font = {
normal = "JetBrainsMono Nerd Font Mono";
size = 12;
};
};
env = {
TERM = "xterm-256color";
};
colors = {
# Default colors
primary = {
background = "#EFF1F5"; # base
foreground = "#4C4F69"; # text
# Bright and dim foreground colors
dim_foreground = "#4C4F69"; # text
bright_foreground = "#4C4F69"; # text
};
# Cursor colors
cursor = {
text = "#EFF1F5"; # base
cursor = "#DC8A78"; # rosewater
};
vi_mode_cursor = {
text = "#EFF1F5"; # base
cursor = "#7287FD"; # lavender
};
# Search colors
search = {
matches = {
foreground = "#EFF1F5"; # base
background = "#6C6F85"; # subtext0
};
focused_match = {
foreground = "#EFF1F5"; # base
background = "#40A02B"; # green
};
footer_bar = {
foreground = "#EFF1F5"; # base
background = "#6C6F85"; # subtext0
};
};
# Keyboard regex hints
hints = {
start = {
foreground = "#EFF1F5"; # base
background = "#DF8E1D"; # yellow
};
end = {
foreground = "#EFF1F5"; # base
background = "#6C6F85"; # subtext0
};
};
# Selection colors
selection = {
text = "#EFF1F5"; # base
background = "#DC8A78"; # rosewater
};
# Normal colors
normal = {
black = "#5C5F77"; # subtext1
red = "#D20F39"; # red
green = "#40A02B"; # green
yellow = "#DF8E1D"; # yellow
blue = "#1E66F5"; # blue
magenta = "#EA76CB"; # pink
cyan = "#179299"; # teal
white = "#ACB0BE"; # surface2
};
# Bright colors
bright = {
black = "#6C6F85"; # subtext0
red = "#D20F39"; # red
green = "#40A02B"; # green
yellow = "#DF8E1D"; # yellow
blue = "#1E66F5"; # blue
magenta = "#EA76CB"; # pink
cyan = "#179299"; # teal
white = "#BCC0CC"; # surface1
};
# Dim colors
dim = {
black = "#5C5F77"; # subtext1
red = "#D20F39"; # red
green = "#40A02B"; # green
yellow = "#DF8E1D"; # yellow
blue = "#1E66F5"; # blue
magenta = "#EA76CB"; # pink
cyan = "#179299"; # teal
white = "#ACB0BE"; # surface2
};
indexed_colors = [
{
index = 16;
color = "#FE640B";
}
{
index = 17;
color = "#DC8A78";
}
];
};
};
};
bat = {
enable = true;
themes = {
catppuccin-latte = builtins.readFile (pkgs.fetchFromGitHub {
owner = "catppuccin";
repo = "bat";
rev = "ba4d16880d63e656acced2b7d4e034e4a93f74b1";
sha256 = "sha256-6WVKQErGdaqb++oaXnY3i6/GuH2FhTgK0v4TN4Y0Wbw=";
} + "/Catppuccin-latte.tmTheme");
};
config = {
theme = "catppuccin-latte";
};
};
broot = { broot = {
enable = true; enable = true;
@ -515,6 +664,7 @@ rec {
}; };
}; };
}; # NOTE: If error occurs after system update on fish init run "ssh-add" }; # NOTE: If error occurs after system update on fish init run "ssh-add"
keychain = { keychain = {
enable = true; enable = true;
enableFishIntegration = config.modules.fish.enable; enableFishIntegration = config.modules.fish.enable;
@ -524,6 +674,23 @@ rec {
keys = ["id_ed25519"]; keys = ["id_ed25519"];
}; };
lazygit = {
enable = true;
settings = {
gui.theme = {
lightTheme = false;
activeBorderColor = ["#40a02b" "bold"];
inactiveBorderColor = ["#4c4f69"];
optionsTextColor = ["#1e66f5"];
selectedLineBgColor = ["#ccd0da"];
selectedRangeBgColor = ["#ccd0da"];
cherryPickedCommitBgColor = ["#179299"];
cherryPickedCommitFgColor = ["#1e66f5"];
unstagedChangeColor = ["red"];
};
};
};
# Realtime Motion Interpolation: https://gist.github.com/phiresky/4bfcfbbd05b3c2ed8645 # Realtime Motion Interpolation: https://gist.github.com/phiresky/4bfcfbbd05b3c2ed8645
mpv = { mpv = {
enable = true; enable = true;
@ -571,17 +738,98 @@ rec {
ssh.enable = true; ssh.enable = true;
starship = { starship = let
flavour = "latte"; # One of `latte`, `frappe`, `macchiato`, or `mocha`
in {
enable = true; enable = true;
enableFishIntegration = config.modules.fish.enable; enableFishIntegration = config.modules.fish.enable;
settings =
{
# Other config here
format = "$all"; # Remove this line to disable the default prompt format
palette = "catppuccin_${flavour}";
}
// builtins.fromTOML (builtins.readFile
(pkgs.fetchFromGitHub
{
owner = "catppuccin";
repo = "starship";
rev = "3e3e54410c3189053f4da7a7043261361a1ed1bc";
sha256 = "sha256-soEBVlq3ULeiZFAdQYMRFuswIIhI9bclIU8WXjxd7oY=";
}
+ /palettes/${flavour}.toml));
};
tmux = {
enable = true;
clock24 = true;
escapeTime = 0; # Delay after pressing escape
# keyMode = "vi";
terminal = "xterm-256color";
plugins = with pkgs; [
{
plugin = tmuxPlugins.catppuccin;
extraConfig = ''
set -g @plugin 'catppuccin/tmux'
set -g @catppuccin_flavour 'latte' # or frappe, macchiato, mocha
'';
}
];
extraConfig = ''
set -g default-terminal "xterm-256color"
set-option -ga terminal-overrides ",xterm-256color:Tc"
'';
}; };
# TODO: Check HM module options # TODO: Check HM module options
yt-dlp.enable = true; yt-dlp.enable = true;
# TODO
zathura = { zathura = {
enable = true; enable = true;
options = {
# Catppuccin Latte
default-fg = "#4C4F69";
default-bg = "#EFF1F5";
completion-bg = "#CCD0DA";
completion-fg = "#4C4F69";
completion-highlight-bg = "#575268";
completion-highlight-fg = "#4C4F69";
completion-group-bg = "#CCD0DA";
completion-group-fg = "#1E66F5";
statusbar-fg = "#4C4F69";
statusbar-bg = "#CCD0DA";
notification-bg = "#CCD0DA";
notification-fg = "#4C4F69";
notification-error-bg = "#CCD0DA";
notification-error-fg = "#D20F39";
notification-warning-bg = "#CCD0DA";
notification-warning-fg = "#FAE3B0";
inputbar-fg = "#4C4F69";
inputbar-bg = "#CCD0DA";
recolor-lightcolor = "#EFF1F5";
recolor-darkcolor = "#4C4F69";
index-fg = "#4C4F69";
index-bg = "#EFF1F5";
index-active-fg = "#4C4F69";
index-active-bg = "#CCD0DA";
render-loading-bg = "#EFF1F5";
render-loading-fg = "#4C4F69";
highlight-color = "#575268";
highlight-fg = "#EA76CB";
highlight-active-color = "#EA76CB";
};
}; };
zoxide = { zoxide = {

View File

@ -13,10 +13,42 @@ in {
options.modules.fish = import ./options.nix {inherit lib mylib;}; options.modules.fish = import ./options.nix {inherit lib mylib;};
config = mkIf cfg.enable { 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 = { programs.fish = {
enable = true; enable = true;
# TODO:
functions = { functions = {
nnncd = { nnncd = {
wraps = "nnn"; 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 shellAbbrs = let
# Only add " | bat" if bat is installed # Only add " | bat" if bat is installed
@ -88,7 +137,8 @@ in {
blk = batify "lsblk -o NAME,LABEL,UUID,FSTYPE,SIZE,FSUSE%,MOUNTPOINT,MODEL"; blk = batify "lsblk -o NAME,LABEL,UUID,FSTYPE,SIZE,FSUSE%,MOUNTPOINT,MODEL";
grep = "grep --color=auto -E"; # grep with extended regex grep = "grep --color=auto -E"; # grep with extended regex
watch = "watch -d -c -n 0.5"; 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 # systemd
failed = "systemctl --failed"; failed = "systemctl --failed";
@ -157,10 +207,6 @@ in {
mp3 = "yt-dlp -f 'ba' --extract-audio --audio-format mp3"; 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 # https://docs.helix-editor.com/configuration.html
settings = { settings = {
# theme = "base16_terminal"; theme = "catppuccin_latte";
editor = { editor = {
scrolloff = 10; scrolloff = 10;
mouse = false; # Default true mouse = false; # Default true
middle-click-paste = false; # Default true middle-click-paste = false; # Default true
line-number = "relative"; line-number = "relative";
cursorline = true; cursorline = true;
color-modes = true;
auto-completion = true; # Default auto-completion = true; # Default
bufferline = "multiple"; bufferline = "multiple";
cursor-shape = { cursor-shape = {

View File

@ -26,11 +26,14 @@ in {
iconTheme.name = "Papirus"; iconTheme.name = "Papirus";
}; };
# TODO: catppuccin-cursors
home.pointerCursor = { home.pointerCursor = {
gtk.enable = true; gtk.enable = true;
x11.enable = true; x11.enable = true;
package = pkgs.bibata-cursors; package = pkgs.bibata-cursors;
name = "Bibata-Modern-Classic"; name = "Bibata-Modern-Classic";
# package = pkgs.catppuccin-cursors.latteMauve;
# name = "Catppuccin-Latte-Mauve-Cursors";
size = 16; size = 16;
}; };
@ -56,6 +59,37 @@ in {
# Notification service # Notification service
dunst = { dunst = {
enable = true; 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, F" = ["fullscreen"];
"$mainMod, C" = ["exec, clipman pick --tool=rofi"]; "$mainMod, C" = ["exec, clipman pick --tool=rofi"];
"$mainMod, G" = ["togglegroup"]; "$mainMod, G" = ["togglegroup"];
"$mainMod, T" = ["exec, kitty"];
"ALT, tab" = ["changegroupactive"]; "ALT, tab" = ["changegroupactive"];
}; };

View File

@ -17,6 +17,7 @@ in {
config = mkIf cfg.enable { config = mkIf cfg.enable {
programs.kitty = { programs.kitty = {
enable = true; enable = true;
shellIntegration.enableFishIntegration = true;
font = { font = {
# package = pkgs.victor-mono; # package = pkgs.victor-mono;
@ -24,45 +25,102 @@ in {
size = 12; 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 = { keybindings = {
"kitty_mod+j" = "next_window"; "kitty_mod+j" = "next_window";
"kitty_mod+k" = "previous_window"; "kitty_mod+k" = "previous_window";
"kitty_mod+l" = "next_layout"; "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;}; options.modules.nnn = import ./options.nix {inherit lib mylib;};
config = mkIf cfg.enable { config = mkIf cfg.enable {
home.sessionVariables = {
# NNN_TERMINAL = "alacritty";
NNN_PAGER = "bat";
# NNN_FIFO = "/tmp/nnn.fifo"; # For nnn preview
};
programs.nnn = { programs.nnn = {
package = pkgs.nnn.override { package = pkgs.nnn.override {
# These two are mutually exclusive # These two are mutually exclusive

View File

@ -22,6 +22,8 @@ in {
alefragnani.bookmarks alefragnani.bookmarks
# alefragnani.project-manager # Not much sense with flake dev environments # alefragnani.project-manager # Not much sense with flake dev environments
# bradlc.vscode-tailwindcss # bradlc.vscode-tailwindcss
catppuccin.catppuccin-vsc
catppuccin.catppuccin-vsc-icons
christian-kohler.path-intellisense christian-kohler.path-intellisense
codezombiech.gitignore codezombiech.gitignore
coolbear.systemd-unit-file coolbear.systemd-unit-file
@ -46,6 +48,7 @@ in {
ms-vscode.cpptools ms-vscode.cpptools
ms-vscode.hexeditor ms-vscode.hexeditor
ms-vscode.makefile-tools ms-vscode.makefile-tools
ms-vscode-remote.remote-ssh
# naumovs.color-highlight # naumovs.color-highlight
njpwerner.autodocstring njpwerner.autodocstring
james-yu.latex-workshop james-yu.latex-workshop
@ -91,10 +94,16 @@ in {
"files.trimFinalNewlines" = true; "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 "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.enableExperiments" = false;
"workbench.list.smoothScrolling" = true; "workbench.list.smoothScrolling" = true;
"workbench.colorTheme" = "Default Light Modern"; # "workbench.colorTheme" = "Default Light Modern";
"workbench.iconTheme" = "vscode-icons"; # "workbench.iconTheme" = "vscode-icons";
"workbench.colorTheme" = "Catppuccin Latte";
"workbench.iconTheme" = "catppuccin-latte";
"remote.SSH.configFile" = "~/.ssh/custom-config";
"security.workspace.trust.enabled" = false; "security.workspace.trust.enabled" = false;