This repo contains a collection of my dotfiles for configuring my shell on Linux and MacOS, and some kubuntu-specific configs.
- Install or verify dependencies needed to bootstrap:
gitcurl- A system version of Python 3. Anything >= 3.7 should work (bootstrapping will install miniconda)
- Optionally, run
ssh-keygenand add the public key to your GitHub account - Clone this repo into
.dotfiles, either over SSH or HTTPS if you don't plan on pushing any changesgit clone git@github.com:grahamhoyes/dotfiles.git .dotfiles && cd .dotfiles
- Run
python3 bootstrap.pywith the desired options to set up a system
For a full first-time set up of a Kubuntu-esque system, run:
python3 bootstrap.py --fullThis will perform a system upgrade, install a number of dependencies (including those needed by the script), and configure the shell, system fonts, and some aspects of KDE. A full restart afterwards is required for some changes to take effect.
To only configure the terminal on either Linux or Mac OS, run:
python3 bootstrap.py --shell --fonts --configsDotfiles are symlinked to their relevant locations by the bootstrap script, so they can either be modified in this repo (eg ~/.dotfiles/.zshrc) or by modifying the symlink (eg ~/.zshrc).
To add a new dotfile:
- Add it to this repo
- Add it to the relevant destination location in the
DOTFILE_LOCATIONSdictionary inbootstrap.py - Run
python3 bootstrap.py --configsto create the link- The prompts to overwrite existing symlinked dotfiles don't matter, the symlink will just be re-created if you choose to overwrite

