Dev Environment Setup
This guide will walk you through my Webdev Environment Setup. My OS of choice is Antix Linux but this guide is also tailored for Ubuntu and Debian users
Install Prerequisite
sudo apt install curl git fzf fd-find
Terminal Setup
-
Alacritty
Install the Alacritty Terminal Emulator
Terminal window curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh &&sudo apt install cmake g++ pkg-config libfreetype6-dev libfontconfig1-dev libxcb-xfixes0-dev libxkbcommon-dev python3 &&cargo install alacrittyTerminal window sudo add-apt-repository ppa:aslatter/ppa -ysudo apt install alacrittyRestart Ubuntu and Alacritty should be you default Terminal
-
Oh My Fish
First install Fish Shell. official download instructions
Terminal window echo 'deb http://download.opensuse.org/repositories/shells:/fish:/release:/4/Debian_13/ /' | sudo tee /etc/apt/sources.list.d/shells:fish:release:4.listcurl -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/nullsudo apt updatesudo apt install fishTerminal window echo 'deb http://download.opensuse.org/repositories/shells:/fish:/release:/4/Debian_12/ /' | sudo tee /etc/apt/sources.list.d/shells:fish:release:4.listcurl -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/nullsudo apt updatesudo apt install fishTerminal window sudo add-apt-repository ppa:fish-shell/release-4sudo apt updatethen install the Oh My fish framework for the Fish Shell
Terminal window curl https://raw.githubusercontent.com/oh-my-fish/oh-my-fish/master/bin/install | fishalso set the omf theme to batman
Terminal window omf install batman -
Zoxide
Install a smarter cd command alternative. zoxide for fish shell
Terminal window curl -sSfL https://raw.githubusercontent.com/ajeetdsouza/zoxide/main/install.sh | shecho 'zoxide init fish | source' >> ~/.config/fish/config.fishsource ~/.config/fish/config.fish
Neovim Setup
-
Neovim
Install Neovim (Latest Version)
Terminal window curl -LO https://github.com/neovim/neovim/releases/latest/download/nvim-linux-x86_64.tar.gzsudo rm -rf /opt/nvimsudo tar -C /opt -xzf nvim-linux-x86_64.tar.gzfish_add_path /opt/nvim-linux-x86_64/binsource ~/.config/fish/config.fish -
Lazyvim
Install my Custom Fork of Lazyvim config
Terminal window mv ~/.config/nvim{,.bak}git clone https://github.com/Keshav-writes-code/nvim.git ~/.config/nvim -
Lazygit
Install Lazygit, a simple terminal UI for git commands
Terminal window 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)curl -Lo lazygit.tar.gz "https://github.com/jesseduffield/lazygit/releases/download/v$LAZYGIT_VERSION/lazygit_"$LAZYGIT_VERSION"_Linux_x86_64.tar.gz"tar xf lazygit.tar.gz lazygitsudo install lazygit -D -t /usr/local/bin/Terminal window LAZYGIT_VERSION=$(curl -s "https://api.github.com/repos/jesseduffield/lazygit/releases/latest" | \grep -Po '"tag_name": *"v\K[^"]*')curl -Lo lazygit.tar.gz "https://github.com/jesseduffield/lazygit/releases/download/v${LAZYGIT_VERSION}/lazygit_${LAZYGIT_VERSION}_Linux_x86_64.tar.gz"tar xf lazygit.tar.gz lazygitsudo install lazygit -D -t /usr/local/bin/ -
NerdFont
Install a NerdFont needed for various icons and UI element for Neovim.
Jetbrains Mono is the default standardTerminal window bash -c "$(curl -fsSL https://raw.githubusercontent.com/officialrajdeepsingh/nerd-fonts-installer/main/install.sh)"- Enter 28 on Prompt
-
Done!
You can Launch Neovim now
Terminal window nvim -
Git Delta (Optional)
For Side by Side Diff in lazygit.
Download thegit-delta-musl_<version>_<arch>.deb
from the Release Page
Install the .deb using :Terminal window sudo apt install ~/Downloads/git-delta-musl_0.18.2_amd64.deb -yRun this Command to add config into
~/.config/lazygit/config.yml
Terminal window mkdir -p ~/.config/lazygit/touch ~/.config/lazygit/config.ymlcat <<EOF >> ~/.config/lazygit/config.ymlgit:paging:colorArg: alwayspager: delta --side-by-side --paging=neverEOFRestart Lazygit from Neovim and it Will work
Application Setup
- this will install necessary application like runtimes needed for Development
Webdev Tools
-
NodeJs
Install Nodejs via Node Version Manager
Terminal window curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.1/install.sh | bash &&\. "$HOME/.nvm/nvm.sh"nvm install 22 -
Bun
Install Bun, a fast Nodejs, npm replacement that relies on Nodejs realistically speaking
Terminal window curl -fsSL https://bun.sh/install | bash
Python Setup
-
Python
Install Python via linux package manager
Terminal window sudo apt install python3 -
UV
Install UV, An extremely fast Python package and project manager, written in Rust
Terminal window curl -LsSf https://astral.sh/uv/install.sh | sh
Github Setup
- this will setup git with github
-
Github Cli
Install Github Cli (Refrence)
Terminal window (type -p wget >/dev/null || (sudo apt update && sudo apt-get install wget -y)) \&& sudo mkdir -p -m 755 /etc/apt/keyrings \&& out=$(mktemp) && wget -nv -O$out https://cli.github.com/packages/githubcli-archive-keyring.gpg \&& cat $out | sudo tee /etc/apt/keyrings/githubcli-archive-keyring.gpg > /dev/null \&& sudo chmod go+r /etc/apt/keyrings/githubcli-archive-keyring.gpg \&& echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" | sudo tee /etc/apt/sources.list.d/github-cli.list > /dev/null \&& sudo apt update \&& sudo apt install gh -y -
Login to Github
Authenticating with GitHub from Git to Manage github repos from git Cli (Refrence)
Terminal window gh auth loginFollow the Steps as the Github Cli walks you through them. Choose HTTPS Authentication and Setup a Keyring password in the Process
-
Set your username in Git
Terminal window git config --global user.email "<email>"git config --global user.name "<uname>"Test github & git setup by Doing a Push to comitted changes in a git repo