diff --git a/graph/configurations/fish-shell-starship-prompt-setup-on-nobara-workstation-055aea.md b/graph/configurations/fish-shell-starship-prompt-setup-on-nobara-workstation-055aea.md new file mode 100644 index 00000000000..3eef752293f --- /dev/null +++ b/graph/configurations/fish-shell-starship-prompt-setup-on-nobara-workstation-055aea.md @@ -0,0 +1,41 @@ +--- +id: 055aea5f-7084-48ae-a096-69ee1c35e114 +type: configuration +title: "Fish shell + Starship prompt setup on Nobara workstation" +tags: [fish, starship, shell, nobara, configuration, homelab, shell-config] +importance: 0.65 +confidence: 0.8 +created: "2026-02-27T05:32:57.893367+00:00" +updated: "2026-02-27T05:32:57.893367+00:00" +--- + +# Fish shell + Starship prompt setup on Nobara FC43 + +## Summary +Migrated interactive shell from zsh to fish on Nobara FC43 (Linux 6.18 kernel). Full setup for fish + Starship with bash-for-scripts hybrid strategy. + +## Installation +- Fish installed via `dnf` +- Set as default login shell: `chsh -s /usr/bin/fish` +- Starship installed via `dnf` (`starship` package in `nobara-updates` repo) + +## Fish config (`~/.config/fish/config.fish`) +```fish +if status is-interactive + set -x SHELL /bin/bash # Keep Claude Code and scripts on bash + starship init fish | source +end +``` + +Key detail: `set -x SHELL /bin/bash` is set inside `config.fish` so Claude Code's Bash tool, shebang scripts, and any tool that respects `$SHELL` continue using bash — not fish (which is POSIX-incompatible). + +## Starship config (`~/.config/starship.toml`) +- AWS module disabled (not used) +- `git_commit` disabled (too noisy) +- `git_metrics` enabled with `only_nonzero_diffs = false` (always shows +N -N stats) + +## Compatibility Notes +- Fish is POSIX-incompatible: no `export`, different variable syntax, different conditionals +- Scripts with `#!/bin/bash` shebangs are completely unaffected +- Claude Code shell execution unaffected due to the SHELL override +- Starship works identically across fish, zsh, and bash — config is shell-agnostic