A dotfiles repository for configuring my UNIX systems.
It contains install scripts for macOS and Ubuntu. Each script uses stow to symlink the dotfiles to the appropriate locations.
The top-level includes packages. Each of the script installs packages relevant to the system.
Fork this repository on Github and check out your fork anywhere on the system. My prefered location is
${DEV_DIR}/<organization>, where ${DEV_DIR} is my primary the development
directory. For macOS, I prefer export DEV_DIR=~/Developer (as it comes with nice icone in Finder). The <organization> would be similar to the GitHub user/organization
name.
git clone https://github.com/kizivat/dotfiles.git ~/${DEV_DIR}/<organization>This repository uses a private git submodule for personal configurations. You'll need to:
- Fork this repository
- Create your own private repository for sensitive configs
- Replace the submodule with your own
# Go to the forked repository
cd dotfiles
# Remove the existing submodule reference
git submodule deinit -f -- dotfiles-private
rm -rf .git/modules/dotfiles-private
git rm -f dotfiles-private
# Add your own private repository as a submodule
git submodule add https://github.com/yourusername/your-private-dotfiles.git dotfiles-private
git commit -m "Replace private dotfiles submodule with my own"Installing the dotfiles on clean macOS system requires having Homebrew. Install Homebrew with the following command:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" && eval "$(/opt/homebrew/bin/brew shellenv)"After this, you'll need to install stow through Homebrew to use this dotfiles repo.
brew install stowThe following command will install the dotfiles on a macOS system.
./macosAfter bootstrapping the system with the macos script, you can install the
packages from the Brewfile with the following command:
brew bundle install -gIf your git submodules were private, you'll now need to authenticate with GitHub to install the private dotfiles.
If you're using 1Password, you need to set it up using the app's GUI and turn on
the "Use the SSH agent" option in the 1Password Settings > Developer menu.
To use install the private dotfiles, you'll now need to initialize the submodules.
git submodule update --init --recursiveNow you can reinstall the dotfiles together with the private ones.
./macosThe following command will install the dotfiles on a Ubuntu system.
./ubuntu