Make sure you have the Command Line Tools (CLT) installed, which are needed for cloning this repository with Git and for Homebrew.
xcode-select --install
This repository contains submodules. You can initialize them when cloning by running:
git clone --recurse-submodules https://github.com/AndreasNasman/.config.git
Alternatively, you can clone the repository normally and initialize the
submodules by running the setup/init
script described below.
To initialize the setup, run the following script:
setup/init
This script installs Homebrew packages (dependencies) and initializes as many programs as possible from the repository. It uses Bash since macOS does not include fish out of the box.
To update relevant files when the setup changes, run the following script:
setup/update
Some parts of the setup are not feasible to automate in a script. The following section serves as a reminder of what to set up manually.
GPG keys should be device-specific. If you configure them with an expiration date, GitHub can show commits as "Verified" but expired. This approach eliminates the need to copy private keys between devices (which you should not do anyway).
Follow these guides to set up GPG commit signing:
- https://docs.github.com/en/authentication/managing-commit-signature-verification/about-commit-signature-verification#gpg-commit-signature-verification
- https://docs.gitlab.com/ee/user/project/repository/signed_commits/gpg.html
- Open Surfingkeys settings.
- Tick the
Advanced mode
checkbox. - Paste
https://raw.githubusercontent.com/AndreasNasman/.config/refs/heads/mac/surfingkeys/theme.js
in the Load settings from:
text field.
I have based my Neovim configuration on kickstart.nvim, hash 8d1ef97.