113 lines
2.9 KiB
Nix
113 lines
2.9 KiB
Nix
{ lib, ... }:
|
|
{
|
|
programs.kitty = lib.mkForce {
|
|
enable = true;
|
|
settings = {
|
|
themeFile = "Catppuccin-Mocha";
|
|
confirm_os_window_close = 0;
|
|
dynamic_background_opacity = true;
|
|
enable_audio_bell = false;
|
|
mouse_hide_wait = "-1.0";
|
|
window_padding_width = 10;
|
|
background_opacity = "0.8";
|
|
background_blur = 5;
|
|
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 ''}";
|
|
symbol_map =
|
|
let
|
|
mappings = [
|
|
"U+23FB-U+23FE"
|
|
"U+2B58"
|
|
"U+E200-U+E2A9"
|
|
"U+E0A0-U+E0A3"
|
|
"U+E0B0-U+E0BF"
|
|
"U+E0C0-U+E0C8"
|
|
"U+E0CC-U+E0CF"
|
|
"U+E0D0-U+E0D2"
|
|
"U+E0D4"
|
|
"U+E700-U+E7C5"
|
|
"U+F000-U+F2E0"
|
|
"U+2665"
|
|
"U+26A1"
|
|
"U+F400-U+F4A8"
|
|
"U+F67C"
|
|
"U+E000-U+E00A"
|
|
"U+F300-U+F313"
|
|
"U+E5FA-U+E62B"
|
|
];
|
|
in
|
|
(builtins.concatStringsSep "," mappings) + " Symbols Nerd Font";
|
|
};
|
|
};
|
|
|
|
programs.starship = {
|
|
enable = true;
|
|
settings = {
|
|
add_newline = true;
|
|
command_timeout = 500;
|
|
|
|
format = "$username$hostname $directory $git_branch$git_status\n$character ";
|
|
right_format = "$cmd_duration";
|
|
|
|
username = {
|
|
style_user = "bold #cba6f7";
|
|
style_root = "bold #f38ba8";
|
|
format = "[┌](bold #a6e3a1)[$user]($style)";
|
|
show_always = true;
|
|
};
|
|
|
|
hostname = {
|
|
style = "bold #74c7ec";
|
|
format = "[@](bold #fab387)[$hostname]($style)";
|
|
ssh_only = false;
|
|
};
|
|
|
|
directory = {
|
|
style = "bold #a6e3a1";
|
|
truncation_length = 0;
|
|
truncation_symbol = "";
|
|
format = "[⤇ ](bold #f38ba8)[《$path》]($style)";
|
|
};
|
|
|
|
git_branch = {
|
|
format = "[⟦$branch⟧]($style)";
|
|
style = "bold #f9e2af";
|
|
};
|
|
|
|
# Git status module settings
|
|
git_status = {
|
|
format = "[[(*$conflicted$untracked$modified$staged$renamed$deleted)](red) ($ahead_behind$stashed)]($style)";
|
|
style = "bold #a6e3a1";
|
|
conflicted = "";
|
|
untracked = "";
|
|
modified = "";
|
|
staged = "";
|
|
renamed = "";
|
|
deleted = "";
|
|
};
|
|
|
|
# Command duration module
|
|
cmd_duration = {
|
|
format = "[$duration]($style)";
|
|
style = "bold #cdd6f4";
|
|
min_time = 5000; # Only show if command takes longer than 5 seconds
|
|
};
|
|
|
|
# Character module (prompt symbol)
|
|
character = {
|
|
success_symbol = "[└──────⇴ ](bold #a6e3a1)";
|
|
error_symbol = "[└──────⇴ ](bold #f38ba8)";
|
|
};
|
|
|
|
nix_shell = {
|
|
format = "[$symbol$state( \($name\))]($style)";
|
|
symbol = "U+02744";
|
|
style = "bold #89dceb";
|
|
};
|
|
};
|
|
};
|
|
}
|