My Dev Environment Setup
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
- Download wezterm: Wezterm installation
- Make appimage executable:
chmod +x wezterm.appimage
- Move appimage to bin:
sudo mv wezterm.appimage /usr/local/bin/wezterm
- Add config file: Wezterm Config
CLI Tools
- NVM (Node manager):
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.2/install.sh | bash
- LazyGit (Git TUI): Repo
- FZF (Filter program):
sudo apt install fzf
- Zoxide (Better cd):
curl -sSfL https://raw.githubusercontent.com/ajeetdsouza/zoxide/main/install.sh | sh
- Bpytop (Resource monitoring):
sudo apt install bpytop
- OneFetch (Git info): Repo
Shell Setup: Oh My Zsh
- Download zsh:
sudo apt install zsh
- Make it default shell:
chsh -s $(which zsh)
- Restart the machine and check:
echo $SHELL
- Install oh-my-zsh: Repo
- Add config file (Require CLI tools installation): Zsh Config
Editor Setup: Neovim
- Download neovim: Latest Neovim releases
- Run:
chmod u+x nvim-linux-x86_64.appimage
- Move to bin:
sudo mv nvim-linux-x86_64.appimage /usr/local/bin/nvim
- Clone config to
~/.config/nvim
: IndieCoderMM/nvim-config - 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
- Download gnome-tweaks:
sudo apt install gnome-tweaks
- Run gnome-tweaks:
gnome-tweaks
- Go to Keyboard & Mouse > Additional Layout
- Change Caps Lock Behavior
Nerd Font
- Run nerd font installer: NF Installer
- Choose font: Caskaydia Cove Nerd Font
Android Development Setup
JDK Installation
- Update and search for JDK:
sudo apt-get update && apt search openjdk
- Install JDK:
sudo apt-get install openjdk-21-jdk
- Check installation:
java -version
Android SDK Setup
- Download the latest version of cmd tools: Android CMD tools
- Make a new Android SDK folder:
mkdir -p ~/Android/Sdk/cmdline-tools
- Extract the downloaded file to the new folder.
unzip -d ~/Android/Sdk/cmdline-tools ~/Downloads/android-cmd-tools.zip
- Rename the folder:
mv ~/Android/Sdk/cmdline-tools/cmdline-tools/ ~/Android/Sdk/cmdline-tools/latest
- 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
- List available system images:
sdkmanager --list
- Install the desired version:
sdkmanager "emulator" "platform-tools" "platforms;android-36" "system-images;android-36;google_apis;x86_64"
- List available devices:
avdmanager list device
- 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
- Run the emulator:
emulator -avd Android_API_36_Google
- Configure the device in
~/.android/avd/Android_API_36_Google.avd/config.ini
: - 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.