Skip to content

Commit 9798edf

Browse files
authored
Create TurquoiseFish.sh
1 parent cc581af commit 9798edf

1 file changed

Lines changed: 208 additions & 0 deletions

File tree

‎shell/TurquoiseFish.sh‎

Lines changed: 208 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,208 @@
1+
#!/usr/bin/env bash
2+
set -e
3+
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
4+
echo " Fish + Starship Installer"
5+
echo " Theme: Rainbow (White / Turquoise / Gray)"
6+
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
7+
# Root check
8+
if [ "$EUID" -eq 0 ]; then
9+
USER_HOME="/root"
10+
USER_NAME="root"
11+
else
12+
USER_HOME="$HOME"
13+
USER_NAME="$(whoami)"
14+
fi
15+
echo
16+
echo "📦 Installing Fish..."
17+
if command -v apt >/dev/null 2>&1; then
18+
apt update
19+
apt install -y fish curl
20+
elif command -v dnf >/dev/null 2>&1; then
21+
dnf install -y fish curl
22+
elif command -v yum >/dev/null 2>&1; then
23+
yum install -y fish curl
24+
elif command -v pacman >/dev/null 2>&1; then
25+
pacman -Sy --noconfirm fish curl
26+
else
27+
echo "Unsupported package manager."
28+
exit 1
29+
fi
30+
echo
31+
echo "⭐ Installing Starship..."
32+
curl -sS https://starship.rs/install.sh | sh -s -- -y
33+
mkdir -p "$USER_HOME/.config/fish"
34+
cat > "$USER_HOME/.config/fish/config.fish" <<'EOF'
35+
starship init fish | source
36+
EOF
37+
mkdir -p "$USER_HOME/.config"
38+
cat > "$USER_HOME/.config/starship.toml" <<'EOF'
39+
"$schema" = 'https://starship.rs/config-schema.json'
40+
41+
format = """
42+
[](color_orange)\
43+
$os\
44+
$username\
45+
[](bg:color_yellow fg:color_orange)\
46+
$directory\
47+
[](fg:color_yellow bg:color_aqua)\
48+
$git_branch\
49+
$git_status\
50+
[](fg:color_aqua bg:color_blue)\
51+
$c\
52+
$cpp\
53+
$rust\
54+
$golang\
55+
$nodejs\
56+
$bun\
57+
$php\
58+
$java\
59+
$kotlin\
60+
$haskell\
61+
$python\
62+
[](fg:color_blue bg:color_bg3)\
63+
$docker_context\
64+
$conda\
65+
$pixi\
66+
[](fg:color_bg3 bg:color_bg1)\
67+
$time\
68+
[ ](fg:color_bg1)\
69+
$line_break$character"""
70+
71+
palette = 'wtg_theme'
72+
73+
# White / Turquoise / Gray palette
74+
[palettes.wtg_theme]
75+
color_fg0 = '#ffffff' # white text
76+
color_bg1 = '#2e2e2e' # dark gray (time segment)
77+
color_bg3 = '#4a4a4a' # medium gray (docker/conda segment)
78+
color_blue = '#3d3d3d' # gray (language segment)
79+
color_aqua = '#00d7c3' # turquoise (git segment)
80+
color_green = '#00d7c3' # turquoise
81+
color_orange = '#1fb8ab' # deep turquoise (os/user segment)
82+
color_purple = '#6e6e6e' # gray
83+
color_red = '#b5b5b5' # light gray (git status - kept subtle)
84+
color_yellow = '#b5b5b5' # light gray (directory segment)
85+
86+
[os]
87+
disabled = false
88+
style = "bg:color_orange fg:color_fg0"
89+
90+
[os.symbols]
91+
Windows = "󰍲"
92+
Ubuntu = "󰕈"
93+
SUSE = ""
94+
Raspbian = "󰐿"
95+
Mint = "󰣭"
96+
Macos = "󰀵"
97+
Manjaro = ""
98+
Linux = "󰌽"
99+
Gentoo = "󰣨"
100+
Fedora = "󰣛"
101+
Alpine = ""
102+
Amazon = ""
103+
Android = ""
104+
Arch = "󰣇"
105+
Artix = "󰣇"
106+
EndeavourOS = ""
107+
CentOS = ""
108+
Debian = "󰣚"
109+
Redhat = "󱄛"
110+
RedHatEnterprise = "󱄛"
111+
112+
[username]
113+
show_always = true
114+
style_user = "bg:color_orange fg:color_fg0"
115+
style_root = "bg:color_orange fg:color_fg0"
116+
format = '[ $user ]($style)'
117+
118+
[directory]
119+
style = "fg:color_fg0 bg:color_yellow"
120+
format = "[ $path ]($style)"
121+
truncation_length = 3
122+
truncation_symbol = "…/"
123+
124+
[directory.substitutions]
125+
"Documents" = "󰈙 "
126+
"Downloads" = " "
127+
"Music" = " "
128+
"Pictures" = " "
129+
130+
[git_branch]
131+
symbol = ""
132+
style = "bg:color_aqua"
133+
format = '[[ $symbol $branch ](fg:color_fg0 bg:color_aqua)]($style)'
134+
135+
[git_status]
136+
style = "bg:color_aqua"
137+
format = '[[($all_status$ahead_behind )](fg:color_fg0 bg:color_aqua)]($style)'
138+
139+
[nodejs]
140+
symbol = ""
141+
style = "bg:color_blue"
142+
format = '[[ $symbol ($version) ](fg:color_fg0 bg:color_blue)]($style)'
143+
144+
[rust]
145+
symbol = ""
146+
style = "bg:color_blue"
147+
format = '[[ $symbol ($version) ](fg:color_fg0 bg:color_blue)]($style)'
148+
149+
[golang]
150+
symbol = ""
151+
style = "bg:color_blue"
152+
format = '[[ $symbol ($version) ](fg:color_fg0 bg:color_blue)]($style)'
153+
154+
[php]
155+
symbol = ""
156+
style = "bg:color_blue"
157+
format = '[[ $symbol ($version) ](fg:color_fg0 bg:color_blue)]($style)'
158+
159+
[python]
160+
symbol = ""
161+
style = "bg:color_blue"
162+
format = '[[ $symbol ($version) ](fg:color_fg0 bg:color_blue)]($style)'
163+
164+
[docker_context]
165+
symbol = ""
166+
style = "bg:color_bg3"
167+
format = '[[ $symbol $context ](fg:#ffffff bg:color_bg3)]($style)'
168+
169+
[time]
170+
disabled = false
171+
time_format = "%R"
172+
style = "bg:color_bg1"
173+
format = '[[ $time ](fg:color_fg0 bg:color_bg1)]($style)'
174+
175+
[character]
176+
success_symbol = "[❯](bold color_aqua)"
177+
error_symbol = "[❯](bold color_red)"
178+
vimcmd_symbol = "[❮](bold color_aqua)"
179+
180+
[package]
181+
disabled = true
182+
[kubernetes]
183+
disabled = true
184+
[aws]
185+
disabled = true
186+
[gcloud]
187+
disabled = true
188+
EOF
189+
echo
190+
read -rp "Change default shell to Fish? (Y/n): " ans
191+
if [[ ! "$ans" =~ ^[Nn]$ ]]; then
192+
FISH_PATH=$(command -v fish)
193+
if ! grep -q "$FISH_PATH" /etc/shells; then
194+
echo "$FISH_PATH" >> /etc/shells
195+
fi
196+
chsh -s "$FISH_PATH" "$USER_NAME" || true
197+
fi
198+
echo
199+
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
200+
echo " Installation Complete!"
201+
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
202+
echo
203+
echo "Restart your SSH session or run:"
204+
echo
205+
echo " exec fish"
206+
echo
207+
echo "(Requires a Nerd Font in your terminal for the icons/powerline glyphs to render correctly)"
208+
echo

0 commit comments

Comments
 (0)