Skip to content

Commit d2e4a28

Browse files
docs(dev-environment): pivot shell setup to Fish + Oh My Fish and remove zsh from prerequisites
1 parent 484b5f3 commit d2e4a28

1 file changed

Lines changed: 52 additions & 24 deletions

File tree

src/content/docs/linux/dev-environment.mdx

Lines changed: 52 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,11 @@ import { Steps } from '@astrojs/starlight/components';
66
import { Tabs, TabItem } from '@astrojs/starlight/components';
77

88
This guide will walk you through my Webdev Environment Setup.
9-
My OS of choice is Antix Linux
9+
My OS of choice is [ Antix Linux ](https://antixlinux.com/) but this guide is also tailored for [ Ubuntu ](https://ubuntu.com/) and [ Debian ](https://www.debian.org/) users
1010

1111
## Install Prerequisite
1212
```shell
13-
sudo apt install curl git fzf fd-find zsh
13+
sudo apt install curl git fzf fd-find
1414
```
1515

1616
## Terminal Setup
@@ -21,43 +21,71 @@ sudo apt install curl git fzf fd-find zsh
2121
1. ### Alacritty
2222
Install the [Alacritty](https://alacritty.org/) Terminal Emulator
2323
<Tabs>
24+
<TabItem label="Debian">
25+
```shell
26+
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh &&
27+
sudo apt install cmake g++ pkg-config libfreetype6-dev libfontconfig1-dev libxcb-xfixes0-dev libxkbcommon-dev python3 &&
28+
cargo install alacritty
29+
```
30+
</TabItem>
2431
<TabItem label="Ubuntu">
2532
```shell
2633
sudo add-apt-repository ppa:aslatter/ppa -y
2734
sudo apt install alacritty
2835
```
2936
Restart Ubuntu and Alacritty should be you default Terminal
3037
</TabItem>
31-
<TabItem label="Debian">
38+
</Tabs>
39+
2. ### Oh My Fish
40+
First install Fish Shell. [ official download instructions ](https://fishshell.com/)
41+
<Tabs>
42+
<TabItem label="Debian 13">
3243
```shell
33-
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh &&
34-
sudo apt install cmake g++ pkg-config libfreetype6-dev libfontconfig1-dev libxcb-xfixes0-dev libxkbcommon-dev python3 &&
35-
cargo install alacritty
44+
echo 'deb http://download.opensuse.org/repositories/shells:/fish:/release:/4/Debian_13/ /' | sudo tee /etc/apt/sources.list.d/shells:fish:release:4.list
45+
curl -fsSL https://download.opensuse.org/repositories/shells:fish:release:4/Debian_13/Release.key | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/shells_fish_release_4.gpg > /dev/null
46+
sudo apt update
47+
sudo apt install fish
48+
```
49+
</TabItem>
50+
<TabItem label="Debian 12">
51+
```shell
52+
echo 'deb http://download.opensuse.org/repositories/shells:/fish:/release:/4/Debian_12/ /' | sudo tee /etc/apt/sources.list.d/shells:fish:release:4.list
53+
curl -fsSL https://download.opensuse.org/repositories/shells:fish:release:4/Debian_12/Release.key | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/shells_fish_release_4.gpg > /dev/null
54+
sudo apt update
55+
sudo apt install fish
56+
```
57+
</TabItem>
58+
<TabItem label="Ubuntu">
59+
```shell
60+
sudo add-apt-repository ppa:fish-shell/release-4
61+
sudo apt update
3662
```
3763
</TabItem>
3864
</Tabs>
39-
2. ### Oh My Zsh
40-
install the [Oh My Zsh](https://ohmyz.sh/) framework for [ZSH](https://www.zsh.org/) Shell
65+
66+
then install the [Oh My fish](https://github.com/oh-my-fish/oh-my-fish) framework for the Fish Shell
67+
4168
```shell
42-
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
69+
curl https://raw.githubusercontent.com/oh-my-fish/oh-my-fish/master/bin/install | fish
70+
```
71+
also set the omf theme to [ batman ](https://github.com/oh-my-fish/theme-batman)
72+
```sh
73+
omf install batman
4374
```
4475
3. ### Zoxide
45-
Install a smarter cd command alternative. [zoxide](https://github.com/ajeetdsouza/zoxide)
76+
Install a smarter cd command alternative. [zoxide](https://github.com/ajeetdsouza/zoxide) for fish shell
4677

4778
```shell
4879
curl -sSfL https://raw.githubusercontent.com/ajeetdsouza/zoxide/main/install.sh | sh
49-
echo 'export PATH="$PATH:$HOME/.local/bin"' >> ~/.zshrc
50-
echo 'export PATH="$PATH:$HOME/.local/bin"' >> ~/.bashrc
51-
echo 'eval "$(zoxide init zsh)"' >> ~/.zshrc
52-
echo 'eval "$(zoxide init zsh)"' >> ~/.bashrc
53-
source ~/.zshrc
80+
echo 'zoxide init fish | source' >> ~/.config/fish/config.fish
81+
source ~/.config/fish/config.fish
5482
```
5583
</Steps>
5684

5785
## Neovim Setup
5886

5987
- I like to use [Lazyvim](https://www.lazyvim.org/)
60-
- Debian (ZSH) Based Steps
88+
- Debian ([Fish](https://fishshell.com/)) Based Steps
6189

6290
<Steps>
6391

@@ -68,8 +96,8 @@ sudo apt install curl git fzf fd-find zsh
6896
curl -LO https://github.com/neovim/neovim/releases/latest/download/nvim-linux-x86_64.tar.gz
6997
sudo rm -rf /opt/nvim
7098
sudo tar -C /opt -xzf nvim-linux-x86_64.tar.gz
71-
echo 'export PATH="$PATH:/opt/nvim-linux-x86_64/bin"' >> ~/.zshrc
72-
source ~/.zshrc
99+
fish_add_path /opt/nvim-linux-x86_64/bin
100+
source ~/.config/fish/config.fish
73101
```
74102
2. ### Lazyvim
75103
Install my Custom Fork of Lazyvim config
@@ -81,18 +109,18 @@ sudo apt install curl git fzf fd-find zsh
81109
3. ### Lazygit
82110
Install [ Lazygit](https://github.com/jesseduffield/lazygit), a simple terminal UI for git commands
83111
<Tabs>
84-
<TabItem label="bash, zsh">
112+
<TabItem label="fish">
85113
```shell
86-
LAZYGIT_VERSION=$(curl -s "https://api.github.com/repos/jesseduffield/lazygit/releases/latest" | \grep -Po '"tag_name": *"v\K[^"]*')
87-
curl -Lo lazygit.tar.gz "https://github.com/jesseduffield/lazygit/releases/download/v${LAZYGIT_VERSION}/lazygit_${LAZYGIT_VERSION}_Linux_x86_64.tar.gz"
114+
set LAZYGIT_VERSION (curl -s "https://api.github.com/repos/jesseduffield/lazygit/releases/latest" | string match -r '"tag_name": *"v([^"]*)"' | head -n 2 | tail -n 1)
115+
curl -Lo lazygit.tar.gz "https://github.com/jesseduffield/lazygit/releases/download/v$LAZYGIT_VERSION/lazygit_"$LAZYGIT_VERSION"_Linux_x86_64.tar.gz"
88116
tar xf lazygit.tar.gz lazygit
89117
sudo install lazygit -D -t /usr/local/bin/
90118
```
91119
</TabItem>
92-
<TabItem label="fish">
120+
<TabItem label="bash, zsh">
93121
```shell
94-
set LAZYGIT_VERSION (curl -s "https://api.github.com/repos/jesseduffield/lazygit/releases/latest" | string match -r '"tag_name": *"v([^"]*)"' | head -n 2 | tail -n 1)
95-
curl -Lo lazygit.tar.gz "https://github.com/jesseduffield/lazygit/releases/download/v$LAZYGIT_VERSION/lazygit_"$LAZYGIT_VERSION"_Linux_x86_64.tar.gz"
122+
LAZYGIT_VERSION=$(curl -s "https://api.github.com/repos/jesseduffield/lazygit/releases/latest" | \grep -Po '"tag_name": *"v\K[^"]*')
123+
curl -Lo lazygit.tar.gz "https://github.com/jesseduffield/lazygit/releases/download/v${LAZYGIT_VERSION}/lazygit_${LAZYGIT_VERSION}_Linux_x86_64.tar.gz"
96124
tar xf lazygit.tar.gz lazygit
97125
sudo install lazygit -D -t /usr/local/bin/
98126
```

0 commit comments

Comments
 (0)