diff --git a/README.md b/README.md index 75efc9c..48afb1f 100644 --- a/README.md +++ b/README.md @@ -3,10 +3,55 @@ ## Usage -> [!INFO] -> See [sloanelybutsurely/nix-darwin](https://github.com/sloanelybutsurely/nix-darwin) for complete setup instructions +### Install nix -## TODO +I've used the [DeterminateSystems installer](https://github.com/DeterminateSystems/nix-installer?tab=readme-ov-file#the-determinate-nix-installer). -- [ ] Move `sloanelybutsurely/nix-darwin` into this repo -- [ ] Add `bootstrap` scripts to install nix and setup `nix-darwin` +### Install Homebrew + +_(This is mostly to use casks to install GUI applications.)_ + +Use the instructions on [brew.sh](https://brew.sh/). + +### Run first time setup + +If the current hostname and username of are already defined in the [nix-darwin config](./.config/nix-darwin) you can run `nix-darwin` to bootstrap the machine. + +```sh +nix run nix-darwin -- switch --flake 'github:sloanelybutsurely/dotfiles?dir=.config/nix-darwin' +``` + +
+New hostname or username + +If you're setting up a brand new machine or using a new username you'll have to clone this repo and update the `nix-darwin` config to include the new hostname and/or username. + +If you commit and push these changes you can continue these instructions from the above. + +If you want to bootstrap from a local copy of this repo you can run `nix-darwin`: + +```sh +nix run nix-darwin -- switch --flake /path/to/.config/nix-darwin +``` + +
+ + +### Set shell + +```sh +chsh -s /run/current-system/sw/bin/fish +``` + +### Reboot the machine + +This will let the new shell take hold. + +### Clone remaining dotfiles and nix-darwin + +Once setup you can fetch a local copy of the nix-darwin config and some remaining dotfiles. + +```sh +# yadm should have been installed by +yadm clone git@github.com:sloanelybutsurely/dotfiles.git +```