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 -- installWhen 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#zenThe result will be that nix-darwin is now installed so thereafter you can use:
darwin-rebuild switch --flake ~/.dotfiles/nix#zenOr 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.shI 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