_../|_
='__ _~-.
\' ~-`\._
|/~`
. . . . .
_.`(._.`(._.`(._.`(._.`(._
This repository contains scripts to bootstrap my Macbook, as well as initialise and update dotfiles.
It will:
- Set some sensible MacOS Configurations (
./macOS') - Install homebrew and packages (
./brew') - Configure dotfiles for various apps (
./zsh,./vim...)
- If you trust me, you can simply run the following.
curl -s https://raw.githubusercontent.com/emacsified/dotfiles/main/setup.sh | bashWarning
This script should double-check for file existence to ensure it does not clobber existing files, however this is not guaranteed.
This will run the setup script, which will:
- Prompt you for a profile - work will install the templates with
workfiles overlaid, while personal will do the same withpersonalfiles overlaid. - Prompt you for sudo access
- Install Homebrew
- Clone this repo to ~/.dotfiles
- Install all the packages in the
./brewBrewfiles. - Link brew completions and apps
- Configure ZSH and plugins
- Configure Git and config
- Configure SSH, including GPG Signing from 1pass
- Copy all dotfiles to the relevant locations via symlink
- Install quartz filters for PDF editing
- Hide some mac home apps
- Any profile specific setup in
./profiles/setup-work.sh - Prompt you to restart the terminal.
Note
If you run ./setup --update, it will not clone the repo, or prompt you to restart terminal.
This script will configure GPG signing with 1password. To do this, you will need to have 1password installed and have the CLI installed.
You will also need to have a GPG key in 1password, by default under a document titled private.key.
This can be changed in profiles/setup-work.sh
This script will also configure SSH keys. You will need to have your SSH keys in 1password, by default under a document titled ssh.key.
Thanks to Steffen Kötte, Sam Hosseini and Mathias Bynens for inspiration and code snippets.
This project began as an effective fork of Steffen's dotfiles, but is under active modification.
Thanks to Primeagen, and a number of my coworkers for inspirations for the Neovim setup.