How I set up new MacBooks(catalins.tech) |
How I set up new MacBooks(catalins.tech) |
Sure, there are edge cases I hit because I have some older machines, but for the most part, it’s awesome. I’m up and running on new Macs within a coffee break of getting terminal access.
Anyway, my $0.02 is that doing fully automated installs on Macs is a fast track to having weird Finder and settings bugs (if not worse), so I mostly just install packages and very seldom (if ever) apply settings via the CLI -- I've had Apple break things across too many OS releases to find that a worthwhile long-term strategy, and most of the time I'd rather just use Migration Assistant (across Macs with equivalent OS versions) or configure settings manually for a new OS release.
Edit: just went and updated the above script to support brew/cask installs on macOS. Settings can go into the runcmd section.
I’ll probably use something dumber for the next machine, and keep nix for servers and local vms.
Where were your pain points?
P.S. I don’t use home manager though as I also need to bootstrap systems without nix.
I have a file that sets my MacOS Defaults: https://github.com/joeyagreco/dotfiles/blob/main/.macos
And a file to remap some keys: https://github.com/joeyagreco/dotfiles/blob/main/.macos_key_...
And apply the remaps: https://github.com/joeyagreco/dotfiles/blob/b5b819c9bcde2e3a...
Storage is too cheap for me to spend time optimizing it anymore. I’m sure I have cruft somewhere, but it doesn’t bother me.
but will it revert back if things go wrong?
I never trade in my old computer, even if I'm going to sell or get rid of it (donate) I keep it around for a month or so to make sure everything's working.
It's a really nice overview for (almost) all of the options.
brew bundle dump
[1] <https://github.com/Frizlab/frizlabs-conf> [2] <https://github.com/wincent/wincent>