- Powered with
make
, cos honestly I have played with all the things like nix - but this just gets the job done without it being a full time job! - Covers homebrew, git, terminal, various programming language installs, NVIM (Lazy), OS tweaks, starship and ZSH and more
- Can be applied in totality or individual components can be applied in a scoped way
- Devbox and direnv initial installs and config
- Detection of drift in dotfiles included
Imagine a brand spanking new laptop!
Dotfiles will be perfect to get me up and running except for the fact that git is not yet installed, yet I need git to fetch and run my dotfiles, which, in turn would be the thing to install and configure git 😢
Well fear not - on MacOS, just typing the word git in a terminal will prompt you to install xcode cli tools including git.
So my approach would be simply (assuming you are in home directory):
git
# Do some clicking and get xcode cli tools installed
git clone https://github.com/erzz/dotfiles.git
cd dotfiles
make
Alternatively, if you do not want to track changes, you can run the following
cd ~ \
&& curl -L https://github.com/erzz/dotfiles/archive/main.zip | bsdtar -xvf- \
&& mv dotfiles-master dotfiles \
&& cd dotfiles \
&& make
Run everything
make
Whole bunch of clis, fonts, apps and vscode extensions etc. Subtargets make xcode
and
make brew-install
to ensure the pre-requisites are installed.
make brew
Important as it drives creation of all symlinks to configuration files
make stow
Does what it says
make git
The random configs of .zshrc that makes the magic happen
make zsh
Fast and small with some colours etc
make alacritty
General tmux setup including keymaps, plugins and nvim integration
make tmux
Uses the various <lang>env
tools to bootstrap the latest Go, Node, Python, Terraform etc
make languages
Automated and isolated dev environments of any configuration (powered by nix). Unfortunately they do not provide a brew package yet, so this will prompt a little bit for sudo rights.
make devbox
Pairs beautifully with devbox/nix to automatically enable environments when you enter the directory.
make direnv
Ever evolving OS tweaks to Finder, Activity Monitor, etc
make os
Based on LazyVIM with various tweaks, themes etc
make nvim
My pretty (I think) Starship config cos no-one likes writing TOML unless they have to!
make starship
A global configuration for prettier for any projects that do not have it installed or configured
make prettierd
- The inspiration of this repo is pkissling