Skip to content

Instantly share code, notes, and snippets.

@palpalani
Last active October 14, 2024 04:27
Show Gist options
  • Save palpalani/0e089a1d547a7b2c96839084742e1076 to your computer and use it in GitHub Desktop.
Save palpalani/0e089a1d547a7b2c96839084742e1076 to your computer and use it in GitHub Desktop.
#!/bin/bash
# Update package lists
sudo apt update
# Install zsh
sudo apt install -y zsh
# Install Oh My Zsh
sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
# Install popular Oh My Zsh plugins
git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
# Add plugins to .zshrc
sed -i 's/plugins=(git)/plugins=(git zsh-autosuggestions zsh-syntax-highlighting)/' ~/.zshrc
# Install Powerline fonts
sudo apt install -y fonts-powerline
# Install htop
sudo apt install -y htop
# Install gitk
sudo apt install -y gitk
# Install PHP and common extensions
sudo apt install -y php php-cli php-fpm php-json php-common php-mysql php-zip php-gd php-mbstring php-curl php-xml php-pear php-bcmath
# Install Composer
curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer
sudo chmod +x /usr/local/bin/composer
# Install Laravel globally via Composer
composer global require laravel/installer
# Add Composer's global bin to PATH
echo 'export PATH="$PATH:$HOME/.composer/vendor/bin"' >> ~/.zshrc
# Install Node.js and npm (often used in Laravel projects)
curl -fsSL https://deb.nodesource.com/setup_lts.x | sudo -E bash -
sudo apt install -y nodejs
# Install some global npm packages useful for Laravel development
sudo npm install -g npm@latest
sudo npm install -g @vue/cli
sudo npm install -g laravel-mix
# Install database clients
sudo apt install -y mysql-client
# Install MongoDB
wget -qO - https://www.mongodb.org/static/pgp/server-5.0.asc | sudo apt-key add -
echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/5.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-5.0.list
sudo apt update
sudo apt install -y mongodb-org
# Start MongoDB service
sudo systemctl start mongod
sudo systemctl enable mongod
# Install MongoDB Compass
wget https://downloads.mongodb.com/compass/mongodb-compass_1.30.1_amd64.deb
sudo dpkg -i mongodb-compass_1.30.1_amd64.deb
rm mongodb-compass_1.30.1_amd64.deb
# Install Redis (often used with Laravel)
sudo apt install -y redis-server
# Install Nginx (a popular web server for Laravel apps)
sudo apt install -y nginx
# Install some additional tools
sudo apt install -y curl wget unzip
echo "Installation complete! Please restart your terminal or run 'source ~/.zshrc' to apply changes."
@palpalani
Copy link
Author

To use this script:

Save it to a file, for example, `ubuntu-dev-tools.sh`
Make it executable with `chmod +x ubuntu-dev-tools.sh`
Run it with `./ubuntu-dev-tools.sh`

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment