store: Fish shell + Starship prompt setup on Nobara workstation

This commit is contained in:
Cal Corum 2026-02-26 23:32:57 -06:00
parent edefb64e07
commit 807f38a87d

View File

@ -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