Skip to content

Instantly share code, notes, and snippets.

@tuananhlai
Last active April 29, 2026 11:38
Show Gist options
  • Select an option

  • Save tuananhlai/788ffec2d4bf77bcabfe416517c60a60 to your computer and use it in GitHub Desktop.

Select an option

Save tuananhlai/788ffec2d4bf77bcabfe416517c60a60 to your computer and use it in GitHub Desktop.
#!/bin/bash
set -e
sudo -v
echo "==> Updating and upgrading apt packages..."
sudo apt update
echo "==> Installing zsh, curl, git..."
sudo apt install -y git zsh build-essential
echo "==> Installing Homebrew..."
NONINTERACTIVE=1 /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
echo "==> Installing oh-my-zsh..."
RUNZSH=no CHSH=no sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
# Replace omz's update prompt with a reminder.
echo "zstyle ':omz:update' mode reminder" >> ~/.zshrc
sudo chsh -s "$(which zsh)" "$USER"
echo "==> Adding Homebrew to ~/.zshrc..."
echo 'eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv zsh)"' >> ~/.zshrc
echo "==> Installing NeoVim and ASDF..."
git clone https://github.com/LazyVim/starter ~/.config/nvim && rm -rf ~/.config/nvim/.git
eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv zsh)" && brew install neovim asdf
echo 'export PATH="${ASDF_DATA_DIR:-$HOME/.asdf}/shims:$PATH"' >> ~/.zshrc
echo "==> Done! Restart your terminal or run: zsh"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment