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
git fetcher entries in `modules/home/yazi.nix` (the git plugin's
`setup()` only renders the linemode; the fetcher still needs registering).
- **Starship prompt styling:** drop the powerline look the current prompt
doesn't read well. Rework the `format`/segment styling in
`modules/home/shell.nix:59` toward a flat, plain prompt.
- **Starship prompt styling:** dropped the powerline look (the `[]`
separator glyph + `bg:` fills) for a flat prompt — bold-accent directory,
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
the three Thunar plugins to their new top-level names in
`modules/nixos/file-manager.nix`; the eval warnings are gone.

View File

@@ -56,35 +56,41 @@ in
palettes.nomarchy = {
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 [
"[](accent)"
"$directory"
"$git_branch$git_status"
"$git_branch"
"$git_status"
"$cmd_duration"
"$character"
];
directory = {
style = "fg:text bg:accent";
format = "[ $path ]($style)";
style = "bold accent";
format = "[$path]($style) ";
truncation_length = 3;
truncate_to_repo = true;
};
git_branch = {
style = "fg:base bg:warn";
format = "[ $symbol$branch ]($style)";
style = "warn";
format = "[$symbol$branch]($style) ";
symbol = " ";
};
git_status = {
style = "fg:base bg:warn";
format = "[$all_status$ahead_behind ]($style)";
style = "subtext";
# Parenthesised → the segment (and its trailing space) only
# render when there's actually a status to show.
format = "([$all_status$ahead_behind]($style) )";
};
character = {
success_symbol = "[ ](good)";
error_symbol = "[ ](bad)";
success_symbol = "[](good)";
error_symbol = "[](bad)";
};
cmd_duration = {
min_time = 2000;
style = "fg:subtext";
format = "[ $duration ]($style)";
style = "subtext";
format = "[ $duration]($style) ";
};
};
};