feat(shell): flat starship prompt, drop the powerline styling

The powerline look (the `[]` separator glyph + bg-filled segments) didn't
read well. Switch to a flat prompt: bold-accent directory, warn git
branch, subtext git-status/duration, `❯` character — plain colored text,
no background fills, each module carrying its own trailing space so there
are no stray gaps. Also reference cmd_duration in `format` (it was
configured but never shown).

Generated starship.toml verified valid; nix flake check passes. Visual
pass still wants a live terminal.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Bernardo Magri
2026-06-13 20:18:46 +01:00
parent 28a2f5d5ae
commit d252f01f17
2 changed files with 23 additions and 15 deletions

View File

@@ -364,9 +364,11 @@ close · `SUPER+1..9` workspaces · `Print` region screenshot.
and yazi fell back to presets. Fixed by adding `group = "git"` to both and yazi fell back to presets. Fixed by adding `group = "git"` to both
git fetcher entries in `modules/home/yazi.nix` (the git plugin's git fetcher entries in `modules/home/yazi.nix` (the git plugin's
`setup()` only renders the linemode; the fetcher still needs registering). `setup()` only renders the linemode; the fetcher still needs registering).
- **Starship prompt styling:** drop the powerline look the current prompt - **Starship prompt styling:** dropped the powerline look (the `[]`
doesn't read well. Rework the `format`/segment styling in separator glyph + `bg:` fills) for a flat prompt — bold-accent directory,
`modules/home/shell.nix:59` toward a flat, plain prompt. warn git branch, subtext status/duration, `` character, all plain
colored text (`modules/home/shell.nix`). Also wired in `cmd_duration`,
which was configured but never referenced in `format`.
-**xfce deprecation warnings:** moved `xfce.exo``pkgs.xfce4-exo` and -**xfce deprecation warnings:** moved `xfce.exo``pkgs.xfce4-exo` and
the three Thunar plugins to their new top-level names in the three Thunar plugins to their new top-level names in
`modules/nixos/file-manager.nix`; the eval warnings are gone. `modules/nixos/file-manager.nix`; the eval warnings are gone.

View File

@@ -56,35 +56,41 @@ in
palettes.nomarchy = { palettes.nomarchy = {
inherit (c) base text accent good warn bad subtext; inherit (c) base text accent good warn bad subtext;
}; };
# Flat prompt — colored text only, no powerline separators or
# background fills. Each module emits its own trailing space so
# there are no stray gaps when git/duration are absent.
format = lib.concatStrings [ format = lib.concatStrings [
"[](accent)"
"$directory" "$directory"
"$git_branch$git_status" "$git_branch"
"$git_status"
"$cmd_duration"
"$character" "$character"
]; ];
directory = { directory = {
style = "fg:text bg:accent"; style = "bold accent";
format = "[ $path ]($style)"; format = "[$path]($style) ";
truncation_length = 3; truncation_length = 3;
truncate_to_repo = true; truncate_to_repo = true;
}; };
git_branch = { git_branch = {
style = "fg:base bg:warn"; style = "warn";
format = "[ $symbol$branch ]($style)"; format = "[$symbol$branch]($style) ";
symbol = " "; symbol = " ";
}; };
git_status = { git_status = {
style = "fg:base bg:warn"; style = "subtext";
format = "[$all_status$ahead_behind ]($style)"; # Parenthesised → the segment (and its trailing space) only
# render when there's actually a status to show.
format = "([$all_status$ahead_behind]($style) )";
}; };
character = { character = {
success_symbol = "[ ](good)"; success_symbol = "[](good)";
error_symbol = "[ ](bad)"; error_symbol = "[](bad)";
}; };
cmd_duration = { cmd_duration = {
min_time = 2000; min_time = 2000;
style = "fg:subtext"; style = "subtext";
format = "[ $duration ]($style)"; format = "[ $duration]($style) ";
}; };
}; };
}; };