From 49699d7dadc9bc5602f691c3118cd33b5d6b3a12 Mon Sep 17 00:00:00 2001 From: RealStickman Date: Mon, 17 Apr 2023 21:42:38 +0200 Subject: [PATCH] Try importing fish config from file --- .../config/fish/functions/fish_prompt.fish | 32 +++++++++++++++++++ nixos-config/home-manager.nix | 28 +--------------- 2 files changed, 33 insertions(+), 27 deletions(-) create mode 100644 nixos-config/config/fish/functions/fish_prompt.fish diff --git a/nixos-config/config/fish/functions/fish_prompt.fish b/nixos-config/config/fish/functions/fish_prompt.fish new file mode 100644 index 00000000..13a97b16 --- /dev/null +++ b/nixos-config/config/fish/functions/fish_prompt.fish @@ -0,0 +1,32 @@ +set -l last_pipestatus $pipestatus +set -lx __fish_last_status $status # Export for __fish_print_pipestatus. +set -l normal (set_color normal) + +# Color the prompt differently when we're root +set -l color_cwd $fish_color_cwd +set -l suffix '>' +#if functions -q fish_is_root_user; and fish_is_root_user +# if set -q fish_color_cwd_root +# set color_cwd $fish_color_cwd_root +# end +# set suffix '#' +#end + +# If we're running via SSH, change the host color. +set -l color_host $fish_color_host +#if set -q SSH_TTY +# set color_host $fish_color_host_remote +#end + +# Write pipestatus +# If the status was carried over (e.g. after `set`), don't bold it. +set -l bold_flag --bold +set -q __fish_prompt_status_generation; or set -g __fish_prompt_status_generation $status_generation +if test $__fish_prompt_status_generation = $status_generation + set bold_flag +end +set __fish_prompt_status_generation $status_generation +set -l prompt_status (__fish_print_pipestatus "[" "]" "|" (set_color $fish_color_status) (set_color $bold_flag $fish_color_status) $last_pipestatus) + +echo -n -s (set_color $fish_color_user) "$USER" $normal (set_color $fish_color_separator) @ $normal (set_color $color_host) (prompt_hostname) $normal ' ' (set_color $color_cwd) (prompt_pwd) $normal (fish_vcs_prompt) $normal " "$prompt_status $suffix " " +#echo -n -s (set_color --bold red) "$USER" $normal (set_color --bold yellow) @ $normal (set_color cyan) (prompt_hostname) $normal ' ' (set_color yellow) (prompt_pwd) $normal (fish_vcs_prompt) $normal " "$prompt_status $suffix " " diff --git a/nixos-config/home-manager.nix b/nixos-config/home-manager.nix index 56fc36b3..81a62990 100644 --- a/nixos-config/home-manager.nix +++ b/nixos-config/home-manager.nix @@ -26,33 +26,7 @@ set fish_greeting "Good Morning! Nice day for fishing ain't it! Hu ha!" wget = "wget -c"; }; functions = { - fish_prompt = - '' - # Defined in /home/marc/.config/fish/functions/fish_prompt.fish @ line 2 - # slightly modified from defaults - set -l last_pipestatus $pipestatus - set -lx __fish_last_status $status # Export for __fish_print_pipestatus. - set -l normal (set_color normal) - - # Color the prompt differently when we're root - set -l color_cwd $fish_color_cwd - set -l suffix '>' - - # If we're running via SSH, change the host color. - set -l color_host $fish_color_host - - # Write pipestatus - # If the status was carried over (e.g. after `set`), don't bold it. - set -l bold_flag --bold - set -q __fish_prompt_status_generation; or set -g __fish_prompt_status_generation $status_generation - if test $__fish_prompt_status_generation = $status_generation - set bold_flag - end - set __fish_prompt_status_generation $status_generation - set -l prompt_status (__fish_print_pipestatus "[" "]" "|" (set_color $fish_color_status) (set_color $bold_flag $fish_color_status) $last_pipestatus) - - echo -n -s (set_color $fish_color_user) "$USER" $normal (set_color $fish_color_separator) @ $normal (set_color $color_host) (prompt_hostname) $normal ' ' (set_color $color_cwd) (prompt_pwd) $normal (fish_vcs_prompt) $normal " "$prompt_status $suffix " " - ''; + fish_prompt = (builtins.readFile ./config/fish/functions/fish_prompt.fish); }; }; };