A nice little script to run in your first five minutes on any server.

Download as .zip Download as .tar.gz View on GitHub


Build Status

As my dotfiles repo began to grow, I was inspired by wanting to automate the steps in Bryan Kennedy's post My First 5 Minutes On A Server; Or, Essential Security for Linux Servers and @icco's dotfiles repo to create a slightly more general solution for setting up a new system to my liking. Are there other tools to do this? Definitely, but I feel like this script is a nice bare minimum setup script that offers a good enough level of flexibility.



curl -sSL | bash -s <YOUR REPO URL>


Packages to be install should be specified in the packages.list file. If a specific package can only be found in a specific package manager, then that package manager can be specified after a space.

Here's an example:

wifi-radar pacman

NOTE: You cannot specify multiple specific package managers on a single line.


If you wish to have a file copied to a specific location, just place it in the specific folder (or subfolder) and list it in the specific.list file. You can also add an "a" to the end of a line to indicate you wish for the file to be appended to rather than overwritten.

Here's an example:

my.zsh-theme    link/oh-my-zsh/custom/
ssh/  ~/.ssh/
ssh/config      ~/.ssh/
sources.list    /etc/apt/sources.list a


The simplist of the bunch. Anything placed in the link directory will be symlinked into the home directory and prefixed with a .. Any files which already exist will be backed up in the .olddots directory. If a .olddots file still exists, this step will fail.


You can see a very simple example configuration which is used for integration testing here.


@icco and his dotfile repo for persuading me to create a dotfiles repo in the first place.