This repository can be used to bootstrap a fresh workstation.
Current supported operating systems:
- Ubuntu 20.04 (x86_64)
Ensure essential software has been installed.
apt install git build-essential sudo -y
Or, if you are not running as a super user, assuming sudo
is available.
sudo apt install git build-essential -y
Add an SSH key to the list of allowed Github keys.
ssh-keygen -t rsa -C github@johmanx.com
cat ~/.ssh/id_rsa.pub
Create the git
directory.
mkdir -p ~/git
Clone the current repository in that directory.
cd ~/git && git clone git@github.com:johmanx10/setup.git
Navigate into the setup directory.
cd ~/git/setup
Run the installation.
make install
The following files have been symbolically linked from the current repository to the home directory:
File | Target alias |
---|---|
.gitconfig |
make gitconfig |
.gitignore |
make gitignore |
.zshrc |
make zshrc |
In addition, the following files have been generated:
File | Target alias |
---|---|
.gitconfig-user |
make gitconfig-user |
The following software has been installed:
Name | Target alias |
---|---|
Bash | make bash |
cURL | make curl |
Docker | make docker |
GIT | make git |
Google Chrome | make google-chrome |
JetBrains Toolbox | make jetbrains-toolbox |
jq | make jq |
lsb_release | make lsb_release |
Oh My Zsh | make oh-my-zsh |
Vim | make vim |
ZSH | make zsh |
All the following software can be installed at-once using:
make optional
To cherry-pick optional software, use the following phony targets:
Name | Target | Build status |
---|---|---|
Discord | make discord |
|
Docker compose | make docker-compose |
|
Docker compose development | make docker-compose-development |
|
Epic Games Store | make epic-games-store |
Will be added once Lutris supports unattended installations. |
GIMP | make gimp |
|
Lutris | make lutris |
|
Node.js | make node or make npm |
|
RetroArch | make retroarch |
|
Slack | make slack |
|
Steam | make steam |
|
Teamviewer | make teamviewer |
|
Transmission Remote GTK | make transmission-remote |
In order to locally test a Make target, run the following:
./docker-make <TARGET>
Where <TARGET>
is the target to be tested. E.g.: steam
for Steam.
To test all installations, run:
./docker-make all
To specify the Docker image that runs the build, provide the IMAGE
environment
variable. It defaults to ubuntu:20.04
.
IMAGE=ubuntu:18.04 ./docker-make all