{ ... }: { 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; }; }