- Overview
- Features
- Requirements
- Getting Started
- Packages and Extensions Installed
- Customization
- Troubleshooting
- OPTIONAL: Version Checks
This script is designed to automate the setup of a developer environment on Ubuntu 22.04. It installs essential development tools, software packages, and Visual Studio Code (VS Code) extensions necessary for working on the CSD-T JQR project. The script is ideal for developers who want a quick and efficient way to set up their working environment on a new Ubuntu installation.
- Automated installation of essential development tools and libraries.
- Setup of Visual Studio Code with useful extensions for development.
- Optional configurations for Git, CAC credentials, and SSH keys.
- Easy-to-use and customizable for different development needs.
- Ubuntu 22.04 operating system.
- Internet connection for downloading packages and extensions.
- Sufficient permissions (ideally, run as a user with
sudoprivileges).
Clone the repository or download the script files to your local machine. Ensure that the script (setup.sh) and its associated directories (src, scripts) are in the same directory.
Before running the script, make sure it is executable:
chmod +x setup.shExecute the script:
NOTE: Avoid running with sudo priveleges, as it can interfere with the setup process.
./setup.shThe script will display a list of software to be installed and ask for confirmation before proceeding. Press y to continue or n to exit.
Watch the installation process. The script will handle everything automatically, including updating the package lists, installing the packages, and setting up VS Code extensions.
After installation, the script may offer additional optional configurations such as setting up Git, POSIX CAC, SSH keys, and custom aliases. Follow the prompts to complete these setups if desired.
After all installations are completed, the system will run a version check to verify that all packages and extenions were installed correctly
The script installs the following:
- Development Tools: build-essential, make, cmake, curl, etc.
- Python Tools: pip, pylint.
- C/C++ Tools: clang suite, cunit, valgrind, Address Sanitizer.
- Static Analyzers: cppcheck.
- Window Manager: i3 (a dynamic tiling window manager).
- Version Control: Git.
- VS Code Extensions: Extensions for C/C++, Python, Doxygen documentation, PDF viewing, and more.
To customize the installations, modify the base_install function in the script. Add or remove calls to install_package_if_not_present and install_extension_if_not_present as needed.
If you encounter errors:
- Ensure you have internet connectivity.
- Verify you have
sudoprivileges. - Check if Ubuntu 22.04 is up-to-date.
For specific errors, refer to the console output. Most issues will be related to package availability or network problems.
NOTE: If version checks fail, ensure that you are running the installation on 22.04 and not 20.04.
If desired, you can run version checks separately.
NOTE: If you are running this script for the first time on a clean Ubuntu 22.04 install, all packages will display a
[FAIL] [NOT FOUND]message
chmod +x run_version_check.sh
./run_version_check.sh

