Created
January 17, 2025 02:52
-
-
Save felix-h-kong/f47f8295fab565ac04336f38ddeaa0d7 to your computer and use it in GitHub Desktop.
Set up new ubuntu machine
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
| #!/bin/bash | |
| # google chrome | |
| echo "==========================================" | |
| echo "= chrome =" | |
| echo "==========================================" | |
| wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | sudo apt-key add - | |
| sudo sh -c 'echo "deb https://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google.list' | |
| sudo apt-get update | |
| sudo apt-get install google-chrome-stable | |
| # vscode | |
| echo "==========================================" | |
| echo "= vscode =" | |
| echo "==========================================" | |
| echo "code code/add-microsoft-repo boolean true" | sudo debconf-set-selections # for noninteractive | |
| sudo apt-get install wget gpg | |
| wget -qO- https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > packages.microsoft.gpg | |
| sudo install -D -o root -g root -m 644 packages.microsoft.gpg /etc/apt/keyrings/packages.microsoft.gpg | |
| echo "deb [arch=amd64,arm64,armhf signed-by=/etc/apt/keyrings/packages.microsoft.gpg] https://packages.microsoft.com/repos/code stable main" |sudo tee /etc/apt/sources.list.d/vscode.list > /dev/null | |
| rm -f packages.microsoft.gpg | |
| sudo apt install apt-transport-https | |
| sudo apt update | |
| sudo apt install code # or code-insiders | |
| # docker | |
| echo "==========================================" | |
| echo "= docker =" | |
| echo "==========================================" | |
| # Add Docker's official GPG key: | |
| sudo apt-get update | |
| sudo apt-get install ca-certificates curl -y | |
| sudo install -m 0755 -d /etc/apt/keyrings | |
| sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc | |
| sudo chmod a+r /etc/apt/keyrings/docker.asc | |
| # Add the repository to Apt sources: | |
| echo \ | |
| "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \ | |
| $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \ | |
| sudo tee /etc/apt/sources.list.d/docker.list > /dev/null | |
| sudo apt-get update | |
| sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -y | |
| # ROS2 Jazzy (for 24.04) | |
| echo "==========================================" | |
| echo "= ROS2 Jazzy =" | |
| echo "==========================================" | |
| locale # check for UTF-8 | |
| sudo apt update && sudo apt install locales | |
| sudo locale-gen en_US en_US.UTF-8 | |
| sudo update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 | |
| export LANG=en_US.UTF-8 | |
| locale # verify settings | |
| sudo apt install software-properties-common -y | |
| sudo add-apt-repository universe -y | |
| sudo apt update && sudo apt install curl -y | |
| sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg | |
| echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] http://packages.ros.org/ros2/ubuntu $(. /etc/os-release && echo $UBUNTU_CODENAME) main" | sudo tee /etc/apt/sources.list.d/ros2.list > /dev/null | |
| sudo apt update && sudo apt install ros-dev-tools -y | |
| sudo apt update && sudo apt upgrade -y | |
| sudo apt install ros-jazzy-desktop -y | |
| echo "source /opt/ros/jazzy/setup.bash" >> ~/.bashrc | |
| echo "==========================================" | |
| echo "= Gazebo Harmonic =" | |
| echo "==========================================" | |
| sudo apt-get update | |
| sudo apt-get install curl lsb-release gnupg -y | |
| sudo curl https://packages.osrfoundation.org/gazebo.gpg --output /usr/share/keyrings/pkgs-osrf-archive-keyring.gpg | |
| echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/pkgs-osrf-archive-keyring.gpg] http://packages.osrfoundation.org/gazebo/ubuntu-stable $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/gazebo-stable.list > /dev/null | |
| sudo apt-get update | |
| sudo apt-get install gz-harmonic gz-launch8-cli -y | |
| sudo apt-get install ros-${ROS_DISTRO}-ros-gz -y | |
| # other stuff | |
| echo "==========================================" | |
| echo "= Other stuff =" | |
| echo "==========================================" | |
| sudo apt install openssh-server openssh-client terminator autojump -y | |
| # remind user about stuff i cant do in the script | |
| echo "don't forget to do docker post-install stuff on linux!" | |
| echo "sudo groupadd docker" | |
| echo "sudo usermod -aG docker $USER" | |
| echo "newgrp docker # or logout and log back in" | |
| echo "echo "docker run hello-world:"" |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment