Note that if you are not me and are wanting to use my dotfiles, that before installation you will want to edit your name and email address in git/.gitconfig
to be your own. Also note that my flake
has the name zen
but you can update that in the flake
to whatever you want, then make sure to use your new name when calling darwin-rebuild
. (see below
This repo contains my dotfiles for zsh
(with p10k
), tmux
, nvim
, git
, and ghostty
, as well as a nix
flake
to fully configure my macOS system for development. You can edit the flake to install the nixpks, homebrew formulae, casks, or taps that yuo want, as well as configure your macOS systems preferences.
Currently nix
flakes
aren't usable if they are symlinked so it is not possible to stow
the nix
folder. Instead my current setup is to just keep my nix
folder in my .dotfiles
folder and to just run the darwin-rebuild
command on it there.
Once nix
has installed all the prerequisites and configured the system then the dotfiles are ready to be symlinked with stow
which can be done for all of them by running the install script.
I recommend installing nix
using Determinate because it makes unintalling nix
easy, something that is not true of other installation methods.
curl --proto '=https' --tlsv1.2 -sSf -L https://install.determinate.systems/nix | \
sh -s -- install
When answering the questions during nix
installation choose to only install nix
, not Determinate
, which is not needed.
To bootstrip nix-darwin, the first time you use your flake you do:
nix run nix-darwin/master#darwin-rebuild -- switch --flake ~/.dotfiles/nix#zen
The result will be that nix-darwin is now installed so thereafter you can use:
darwin-rebuild switch --flake ~/.dotfiles/nix#zen
Or you can use the alias I added in the ~/.zshrc
file, dr
.
With all the dependencies installed you can now install the dotfiles with:
cd ~/.dotfiles
./install.sh
I use the NvChad starter for my nvim
config. When you first open nvim Lazy
should install all the plugins automatically but you need to manually run MasonInstallAll
for all the LSP
stuff.
If you ever need to uninstall nix
it is crucial that you first uninstall nix-darwin
, then nix
.
nix --extra-experimental-features "nix-command flakes" run nix-darwin#darwin-uninstaller
/nix/nix-installer uninstall