Last active
February 7, 2026 16:20
-
-
Save isDipesh/d213dc93f8f882b832ceb4dbdf88d1da to your computer and use it in GitHub Desktop.
Development Environment Setup on Arch Linux
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # sudo without password | |
| echo "$(whoami) ALL=(ALL) NOPASSWD:ALL" | sudo tee /etc/sudoers.d/100-$(whoami) && sudo chmod 0440 /etc/sudoers.d/100-$(whoami) | |
| # Add essential packages | |
| sudo pacman -S yay vim meson jq | |
| sudo pamac install base-devel | |
| # Add ddterm | |
| sudo tee -a /etc/pacman.conf <<EOF | |
| [ddterm] | |
| SigLevel = Never | |
| Server = https://ddterm.github.io/aur | |
| EOF | |
| sudo pacman -Sy | |
| sudo pacman -S ddterm | |
| gnome-extensions enable ddterm@amezin.github.com | |
| # zsh plugins | |
| ## syntax highlighting | |
| sudo pacman -S zsh-syntax-highlighting | |
| echo "source /usr/share/zsh/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh" >> ${ZDOTDIR:-$HOME}/.zshrc | |
| ## auto-suggestions | |
| git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions | |
| sed -i '/^source \$ZSH\/oh-my-zsh.sh/i plugins=(zsh-autosuggestions $plugins)' ~/.zshrc | |
| ## auto-switch virtualenv | |
| git clone "https://github.com/MichaelAquilina/zsh-autoswitch-virtualenv.git" "$ZSH_CUSTOM/plugins/autoswitch_virtualenv" | |
| sed -i '/^source \$ZSH\/oh-my-zsh.sh/i plugins=(autoswitch_virtualenv $plugins)' ~/.zshrc | |
| ## command time | |
| git clone "https://github.com/popstas/zsh-command-time.git" "${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/plugins/command-time" | |
| sed -i '/^source \$ZSH\/oh-my-zsh.sh/i plugins=(command-time $plugins)' ~/.zshrc | |
| # SCM Breeze | |
| git clone https://github.com/scmbreeze/scm_breeze.git ~/.scm_breeze | |
| ~/.scm_breeze/install.sh | |
| # Install uv | |
| curl -LsSf https://astral.sh/uv/install.sh | sudo sh | |
| # Install node, nvm, npm, and pnpm | |
| sudo pacman -S nodejs nvm npm | |
| sudo npm install --global corepack@latest | |
| corepack enable pnpm | |
| # Additional packages | |
| sudo pacman -S postgresql redis zellij inkscape gimp vlc firefox gnumeric abiword calibre | |
| # Additional packages from AUR | |
| yay -S google-chrome telegram-desktop-bin brave-browser | |
| # Add fonts (Not required on Manjaro) | |
| sudo pacman -S --needed noto-fonts noto-fonts-cjk noto-fonts-extra --noconfirm | |
| mkdir -p ~/.config/fontconfig | |
| cat > ~/.config/fontconfig/fonts.conf <<EOF | |
| <?xml version="1.0"?> | |
| <!DOCTYPE fontconfig SYSTEM "fonts.dtd"> | |
| <fontconfig> | |
| <match> | |
| <test name="lang" compare="contains"> | |
| <string>hi</string> | |
| </test> | |
| <edit name="family" mode="prepend"> | |
| <string>Noto Sans Devanagari</string> | |
| <string>Lohit Devanagari</string> | |
| </edit> | |
| </match> | |
| <match> | |
| <test name="lang" compare="contains"> | |
| <string>ne</string> | |
| </test> | |
| <edit name="family" mode="prepend"> | |
| <string>Noto Sans Devanagari</string> | |
| <string>Lohit Devanagari</string> | |
| </edit> | |
| </match> | |
| </fontconfig> | |
| EOF | |
| fc-cache -fv | |
| ## Add Tray Icons Gnome Extension (Not required on Manjaro) | |
| git clone https://github.com/ubuntu/gnome-shell-extension-appindicator.git | |
| meson gnome-shell-extension-appindicator /tmp/g-s-appindicators-build | |
| ninja -C /tmp/g-s-appindicators-build install | |
| gnome-extensions enable appindicatorsupport@rgcjonas.gmail.com | |
| ## Add Clipboard Indicator Gnome Extension (Not Required on Manjaro) | |
| rm -rf ~/.local/share/gnome-shell/extensions/clipboard-indicator@tudmotu.com | |
| git clone https://github.com/Tudmotu/gnome-shell-extension-clipboard-indicator.git ~/.local/share/gnome-shell/extensions/clipboard-indicator@tudmotu.com | |
| gnome-extensions enable clipboard-indicator@tudmotu.com |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment