My Dev Environment Setup

Posted on Mar 30, 2025

I recently installed a new OS on my machine and decided to document my setup process.

OS

NAME="Pop!_OS"
VERSION="22.04 LTS"
ID=pop
ID_LIKE="ubuntu debian"

Terminal Setup: Wezterm

  1. Download wezterm: Wezterm installation
  2. Make appimage executable: chmod +x wezterm.appimage
  3. Move appimage to bin: sudo mv wezterm.appimage /usr/local/bin/wezterm
  4. Add config file: Wezterm Config

CLI Tools

  1. NVM (Node manager): curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.2/install.sh | bash
  2. LazyGit (Git TUI): Repo
  3. FZF (Filter program): sudo apt install fzf
  4. Zoxide (Better cd): curl -sSfL https://raw.githubusercontent.com/ajeetdsouza/zoxide/main/install.sh | sh
  5. Bpytop (Resource monitoring): sudo apt install bpytop
  6. OneFetch (Git info): Repo

Shell Setup: Oh My Zsh

  1. Download zsh: sudo apt install zsh
  2. Make it default shell: chsh -s $(which zsh)
  3. Restart the machine and check: echo $SHELL
  4. Install oh-my-zsh: Repo
  5. Add config file (Require CLI tools installation): Zsh Config

Editor Setup: Neovim

  1. Download neovim: Latest Neovim releases
  2. Run: chmod u+x nvim-linux-x86_64.appimage
  3. Move to bin: sudo mv nvim-linux-x86_64.appimage /usr/local/bin/nvim
  4. Clone config to ~/.config/nvim: IndieCoderMM/nvim-config
  5. Run nvim to setup and install deps.
# Main plugins
1. Lazy
2. NeoTree
3. Mason
4. Telescope
5. Nvim-Cmp
6. Mini (ai, surround, jump2d)
7. Harpoon
8. Kulala
9. GitSigns
10. NvChad-Ui 
11. FriendlySnippets
12. TodoComments
13. Treesitter
15. WhichKey

Key swap: CapsLock to Esc

  1. Download gnome-tweaks: sudo apt install gnome-tweaks
  2. Run gnome-tweaks: gnome-tweaks
  3. Go to Keyboard & Mouse > Additional Layout
  4. Change Caps Lock Behavior

Nerd Font

  1. Run nerd font installer: NF Installer
  2. Choose font: Caskaydia Cove Nerd Font

Android Development Setup

JDK Installation

  1. Update and search for JDK: sudo apt-get update && apt search openjdk
  2. Install JDK: sudo apt-get install openjdk-21-jdk
  3. Check installation: java -version

Android SDK Setup

  1. Download the latest version of cmd tools: Android CMD tools
  2. Make a new Android SDK folder: mkdir -p ~/Android/Sdk/cmdline-tools
  3. Extract the downloaded file to the new folder. unzip -d ~/Android/Sdk/cmdline-tools ~/Downloads/android-cmd-tools.zip
  4. Rename the folder: mv ~/Android/Sdk/cmdline-tools/cmdline-tools/ ~/Android/Sdk/cmdline-tools/latest
  5. Add the following to .zshrc or .bashrc:
export PATH=~/Android/Sdk/cmdline-tools/latest/bin:~/Android/Sdk/emulator:~/Android/Sdk/platform-tools:$PATH
export ANDROID_HOME=~/Android/Sdk

Emulator Setup

  1. List available system images: sdkmanager --list
  2. Install the desired version: sdkmanager "emulator" "platform-tools" "platforms;android-36" "system-images;android-36;google_apis;x86_64"
  3. List available devices: avdmanager list device
  4. Setup AVD with a device: avdmanager -v create avd -n Android_API_36_Google -k "system-images;android-36;google_apis;x86_64" -d pixel_c
  5. Run the emulator: emulator -avd Android_API_36_Google
  6. Configure the device in ~/.android/avd/Android_API_36_Google.avd/config.ini:
  7. Enable this line to direct key events to emulator:
hw.keyboard = yes

Source: Minimal CLI Android Emulator

That’s all for now. I’ll update this post as I add more tools to my setup.