wrappers/fish: replace prompt with starship
This commit is contained in:
parent
1a9dd8260f
commit
6c2ff474ef
3 changed files with 11 additions and 125 deletions
|
@ -30,6 +30,7 @@ and begin
|
||||||
alias l 'eza -lah --group-directories-first --icons'
|
alias l 'eza -lah --group-directories-first --icons'
|
||||||
|
|
||||||
# Integrations
|
# Integrations
|
||||||
|
starship init fish | source
|
||||||
zoxide init fish | source
|
zoxide init fish | source
|
||||||
direnv hook fish | source
|
direnv hook fish | source
|
||||||
function y --wraps yazi
|
function y --wraps yazi
|
||||||
|
|
|
@ -1,4 +1,12 @@
|
||||||
{ lib, pkgs, ... }:
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
let
|
||||||
|
setteiStarship = config.wrappers.starship.wrapped;
|
||||||
|
in
|
||||||
{
|
{
|
||||||
wrappers.fish = {
|
wrappers.fish = {
|
||||||
basePackage = pkgs.fish;
|
basePackage = pkgs.fish;
|
||||||
|
@ -18,7 +26,6 @@
|
||||||
config-fish = pkgs.writeText "config.fish" ''
|
config-fish = pkgs.writeText "config.fish" ''
|
||||||
${path-add-lines}
|
${path-add-lines}
|
||||||
|
|
||||||
source ${./prompt.fish}
|
|
||||||
source ${./config.fish}
|
source ${./config.fish}
|
||||||
source ${./greeting.fish}
|
source ${./greeting.fish}
|
||||||
'';
|
'';
|
||||||
|
@ -38,6 +45,7 @@
|
||||||
fd
|
fd
|
||||||
file
|
file
|
||||||
yazi
|
yazi
|
||||||
|
setteiStarship
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
@ -1,123 +0,0 @@
|
||||||
# name: Nim
|
|
||||||
# author: Guilhem "Nim" Saurel − https://github.com/nim65s/dotfiles/
|
|
||||||
|
|
||||||
# Vi-mode
|
|
||||||
# The default mode prompt would be prefixed, which ruins our alignment.
|
|
||||||
function fish_mode_prompt; end
|
|
||||||
|
|
||||||
function fish_prompt
|
|
||||||
set -l retc red
|
|
||||||
test $status = 0; and set retc green
|
|
||||||
|
|
||||||
set -q __fish_git_prompt_showupstream
|
|
||||||
or set -g __fish_git_prompt_showupstream auto
|
|
||||||
|
|
||||||
function _nim_prompt_wrapper
|
|
||||||
set retc $argv[1]
|
|
||||||
set -l field_name $argv[2]
|
|
||||||
set -l field_value $argv[3]
|
|
||||||
|
|
||||||
set_color normal
|
|
||||||
set_color $retc
|
|
||||||
echo -n '─'
|
|
||||||
set_color -o green
|
|
||||||
echo -n '['
|
|
||||||
set_color normal
|
|
||||||
test -n $field_name
|
|
||||||
and echo -n $field_name:
|
|
||||||
set_color $retc
|
|
||||||
echo -n $field_value
|
|
||||||
set_color -o green
|
|
||||||
echo -n ']'
|
|
||||||
end
|
|
||||||
|
|
||||||
set_color $retc
|
|
||||||
echo -n '┬─'
|
|
||||||
set_color -o green
|
|
||||||
echo -n [
|
|
||||||
|
|
||||||
if functions -q fish_is_root_user; and fish_is_root_user
|
|
||||||
set_color -o red
|
|
||||||
else
|
|
||||||
set_color -o yellow
|
|
||||||
end
|
|
||||||
|
|
||||||
echo -n $USER
|
|
||||||
set_color -o white
|
|
||||||
echo -n @
|
|
||||||
|
|
||||||
if test -z "$SSH_CLIENT"
|
|
||||||
set_color -o blue
|
|
||||||
else
|
|
||||||
set_color -o cyan
|
|
||||||
end
|
|
||||||
|
|
||||||
echo -n (prompt_hostname)
|
|
||||||
set_color -o white
|
|
||||||
echo -n :(prompt_pwd)
|
|
||||||
set_color -o green
|
|
||||||
echo -n ']'
|
|
||||||
|
|
||||||
test -n "$IN_NIX_SHELL"
|
|
||||||
and _nim_prompt_wrapper $retc '' 'nix-shell'
|
|
||||||
|
|
||||||
# Date
|
|
||||||
_nim_prompt_wrapper $retc '' (date +%X)
|
|
||||||
|
|
||||||
if test "$fish_key_bindings" = fish_vi_key_bindings
|
|
||||||
or test "$fish_key_bindings" = fish_hybrid_key_bindings
|
|
||||||
set -l mode
|
|
||||||
switch $fish_bind_mode
|
|
||||||
case default
|
|
||||||
set mode (set_color --bold red)N
|
|
||||||
case insert
|
|
||||||
set mode (set_color --bold green)I
|
|
||||||
case replace_one
|
|
||||||
set mode (set_color --bold green)R
|
|
||||||
echo '[R]'
|
|
||||||
case replace
|
|
||||||
set mode (set_color --bold cyan)R
|
|
||||||
case visual
|
|
||||||
set mode (set_color --bold magenta)V
|
|
||||||
end
|
|
||||||
set mode $mode(set_color normal)
|
|
||||||
_nim_prompt_wrapper $retc '' $mode
|
|
||||||
end
|
|
||||||
|
|
||||||
|
|
||||||
# Virtual Environment
|
|
||||||
set -q VIRTUAL_ENV_DISABLE_PROMPT
|
|
||||||
or set -g VIRTUAL_ENV_DISABLE_PROMPT true
|
|
||||||
set -q VIRTUAL_ENV
|
|
||||||
and _nim_prompt_wrapper $retc V (path basename "$VIRTUAL_ENV")
|
|
||||||
|
|
||||||
# git
|
|
||||||
set -l prompt_git (fish_git_prompt '%s')
|
|
||||||
test -n "$prompt_git"
|
|
||||||
and _nim_prompt_wrapper $retc G $prompt_git
|
|
||||||
|
|
||||||
# Battery status
|
|
||||||
type -q acpi
|
|
||||||
and test (acpi -a 2> /dev/null | string match -r off)
|
|
||||||
and _nim_prompt_wrapper $retc B (acpi -b | cut -d' ' -f 4-)
|
|
||||||
|
|
||||||
# New line
|
|
||||||
echo
|
|
||||||
|
|
||||||
# Background jobs
|
|
||||||
set_color normal
|
|
||||||
|
|
||||||
for job in (jobs)
|
|
||||||
set_color $retc
|
|
||||||
echo -n '│ '
|
|
||||||
set_color brown
|
|
||||||
echo $job
|
|
||||||
end
|
|
||||||
|
|
||||||
set_color normal
|
|
||||||
set_color $retc
|
|
||||||
echo -n '╰─>'
|
|
||||||
set_color -o red
|
|
||||||
echo -n '$ '
|
|
||||||
set_color normal
|
|
||||||
end
|
|
Loading…
Add table
Add a link
Reference in a new issue