This repository consists of an interactive script to easily install basic software modules and configure a freshly installed Linux. So far it supports Ubuntu and Manjaro Linux. It is tested on x86 and arm64.
To use the script do not clone the repository because the script is also intended to do the first time setup of git. Instead, download the script with wget:
wget https://raw.githubusercontent.com/Lenz-K/setup-script/main/setup-script.sh
Or copy the content
into a file called setup-script.sh
if wget is not available.
Then make it executable:
chmod a+x setup-script.sh
Finally, run it:
sudo ./setup-script.sh
Now follow the instructions of the script.
The three commands above can also be run as one command:
wget https://raw.githubusercontent.com/Lenz-K/setup-script/main/setup-script.sh && chmod a+x setup-script.sh && sudo ./setup-script.sh
The interactive script has three stages.
The script asks to install the following software modules if not available:
- git
- python
- pip
- python3.9-venv
Note: Needed for virtual python environments. - Docker Engine
- docker-compose
- cryptsetup
Note: Needed to mount or create encrypted devices. - cifs-utils
Note: Needed to mount SMB network shared directories. - OpenVPN
- ExpressVPN
Note: ExpressVPN is only supported on x86 systems. - ufw (Uncomplicated Firewall)
- OpenSSH
The script then asks to configure the following features (The script dynamically determines which features make sense on a system):
- Automatic Updates
- Add a User
- git (Username, E-Mail and optionally generate an SSH Key)
- ExpressVPN
- Set Timezone to UTC
- ufw (enable, add rule for SSH)
- Enforce SSH Key Authentication