{ lib, config, pkgs, ... }: { options = { promptSymbol = lib.mkOption { type = lib.types.str; description = "Prompt prefix symbol."; }; }; config = { programs.fish = lib.mkIf config.programs.fish.enable { promptInit = '' function fish_prompt echo -n '${config.promptSymbol} ' if fish_is_root_user set_color red else set_color brgreen end echo -n (prompt_pwd) set_color normal echo -n ' > ' end function fish_right_prompt set_color bryellow echo -n (${pkgs.git}/bin/git branch --show-current 2>/dev/null) end ''; shellInit = '' set -g fish_greeting set -g fish_prompt_pwd_full_dirs 999 ''; }; }; }