nix: install CLI formulae from the flake profile
Neovide goes too, since its cask depends on the Homebrew neovim formula.
Assisted-by: Claude Opus 5.5 via Claude Code
diff --git a/.config/neovide/config.toml b/.config/neovide/config.toml
deleted file mode 100644
index c11d39ad..00000000
--- a/.config/neovide/config.toml
+++ /dev/null
@@ -1 +0,0 @@
-neovim-bin = "/opt/homebrew/bin/nvim"
diff --git a/Brewfile b/Brewfile
index 75ed26d7..6f2e1ee9 100644
--- a/Brewfile
+++ b/Brewfile
@@ -6,11 +6,7 @@ brew "chruby"
brew "curl"
brew "docker"
brew "dockutil"
-brew "dotslash"
-brew "entr"
-brew "eza"
brew "ffmpeg"
-brew "git"
brew "lua@5.4"
brew "luarocks"
brew "mas"
@@ -18,11 +14,9 @@ brew "restic"
brew "ruby-install"
brew "syncthing", restart_service: :changed
brew "terraform"
-brew "tmux"
brew "trurl"
brew "ykman"
brew "z3"
-brew "zsh"
## editor things
@@ -36,8 +30,6 @@ brew "yamllint"
# install from head
-brew "tree-sitter", args: ["HEAD"] # install this before neovim
-brew "neovim", args: ["HEAD"]
brew "universal-ctags", args: ["HEAD"] # don't remember why this is installing from head
# install from taps
@@ -58,7 +50,6 @@ cask "ghostty"
cask "glide-browser"
cask "hammerspoon"
cask "keyboardcleantool"
-cask "neovim-app"
cask "obsidian"
cask "orbstack"
cask "sf-symbols"
diff --git a/README.md b/README.md
index b335da6b..542bc96b 100644
--- a/README.md
+++ b/README.md
@@ -35,6 +35,29 @@ Other non-automatable things:
- [ ] MailMate
- [ ] Syncthing
+## Packages from nix
+
+CLI tools without a DotSlash file in `bin/` come from the `profile`
+package in `flake.nix`. Homebrew still provides the GUI apps and the
+formulae that haven't moved to nix.
+
+`bootstrap.sh` doesn't install nix. On a new machine, install it with
+the [upstream installer][nix], then add the profile:
+
+[nix]: https://nixos.org/download/
+
+```sh
+nix profile add ~/.dotfiles#profile
+```
+
+After editing `flake.nix` or running `nix flake update`, apply the
+change with `nix profile upgrade profile`. `nix profile rollback`
+returns to the previous generation.
+
+The flake only sees files that git tracks, and new files in a jj change
+aren't in the git index until they're committed. Commit a new `.nix`
+file before the flake refers to it.
+
## Hammerspoon and Fennel
Hammerspoon embeds Lua 5.4, but Homebrew's `lua` formula tracks the latest
diff --git a/docs/nix-migration.md b/docs/nix-migration.md
index 404d7718..5f3f5b3e 100644
--- a/docs/nix-migration.md
+++ b/docs/nix-migration.md
@@ -1,8 +1,8 @@
# Moving the dotfiles to nix
Status: `flake.nix` builds a package profile, and imperishable-night
-installs it for `alpha`. The Mac still uses its hand-installed
-`nix profile` entries (2026-11-05).
+installs it for `alpha`. The Mac installs it with `nix profile`, and its
+formulae are gone from the Brewfile (2026-11-05).
This note records a plan to install packages with nix, so the dotfiles
work on Linux hosts as well as the Mac. frork keeps creating the
@@ -133,7 +133,7 @@ packages.${system}.profile = pkgs.buildEnv {
};
```
-With `nix profile`, install it once with `nix profile install .#profile`,
+With `nix profile`, install it once with `nix profile add .#profile`,
then run `nix profile upgrade profile` after each edit.
Every option except home-manager leaves frork and syncthing to a wrapper