Files
2026-05-31 16:21:43 +08:00

155 lines
3.9 KiB
Nix
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{ ... }:
{
home.sessionPath = [
"$HOME/.npm-global/bin"
];
programs.starship = {
enable = true;
enableFishIntegration = true;
settings = {
add_newline = true;
command_timeout = 1000;
format = "$directory$git_branch$git_status$nix_shell$nodejs$python$cmd_duration$line_break$character";
palette = "luodh";
palettes.luodh = {
blue = "#7aa2f7";
cyan = "#7dcfff";
green = "#9ece6a";
orange = "#ff9e64";
purple = "#bb9af7";
red = "#f7768e";
yellow = "#e0af68";
};
character = {
success_symbol = "[](bold green)";
error_symbol = "[](bold red)";
vimcmd_symbol = "[](bold purple)";
};
directory = {
style = "bold blue";
truncation_length = 4;
truncate_to_repo = false;
read_only = " ro";
};
git_branch = {
symbol = "git ";
style = "bold purple";
format = "[$symbol$branch]($style) ";
};
git_status = {
style = "bold orange";
format = "([$all_status$ahead_behind]($style) )";
};
nix_shell = {
symbol = "nix ";
style = "bold cyan";
format = "[$symbol$state( \\($name\\))]($style) ";
};
nodejs = {
symbol = "node ";
style = "bold green";
format = "[$symbol$version]($style) ";
};
python = {
symbol = "py ";
style = "bold yellow";
format = "[\${symbol}\${pyenv_prefix}(\${version} )(\\($virtualenv\\) )]($style)";
};
cmd_duration = {
min_time = 500;
style = "bold yellow";
format = "took [$duration]($style) ";
};
};
};
programs.fish = {
enable = true;
shellAbbrs = {
c = "clear";
cat = "bat";
e = "$EDITOR";
g = "git";
ga = "git add";
gc = "git commit";
gd = "git diff";
gl = "git log --oneline --decorate --graph";
gp = "git push";
gs = "git status --short --branch";
l = "ls -lah";
ll = "ls -alF";
rebuild = "sudo nixos-rebuild switch --flake /etc/nixos#nixos";
update = "sudo nix flake update --flake /etc/nixos && sudo nixos-rebuild switch --flake /etc/nixos#nixos";
};
interactiveShellInit = ''
set fish_greeting
set -g fish_color_autosuggestion 6c7086
set -g fish_color_cancel f7768e
set -g fish_color_command 7aa2f7
set -g fish_color_comment 565f89
set -g fish_color_cwd 9ece6a
set -g fish_color_cwd_root f7768e
set -g fish_color_end ff9e64
set -g fish_color_error f7768e
set -g fish_color_escape bb9af7
set -g fish_color_history_current --bold
set -g fish_color_match --background=313244
set -g fish_color_normal c0caf5
set -g fish_color_operator 7dcfff
set -g fish_color_param e0af68
set -g fish_color_quote 9ece6a
set -g fish_color_redirection bb9af7
set -g fish_color_search_match --background=313244
set -g fish_color_selection --background=313244
set -g fish_color_status f7768e
set -g fish_color_valid_path --underline
set -g fish_pager_color_completion c0caf5
set -g fish_pager_color_description 6c7086
set -g fish_pager_color_prefix 7aa2f7 --bold --underline
set -g fish_pager_color_progress 6c7086
set -g fish_pager_color_selected_background --background=313244
fish_add_path "$HOME/.npm-global/bin"
'';
};
programs.bat.enable = true;
programs.fzf = {
enable = true;
enableFishIntegration = true;
colors = {
bg = "#1a1b26";
fg = "#c0caf5";
"bg+" = "#292e42";
"fg+" = "#c0caf5";
header = "#7dcfff";
hl = "#7aa2f7";
"hl+" = "#7aa2f7";
info = "#bb9af7";
marker = "#9ece6a";
pointer = "#f7768e";
prompt = "#7dcfff";
spinner = "#e0af68";
};
};
programs.zoxide = {
enable = true;
enableFishIntegration = true;
};
}