Readit News logoReadit News
enescakir · 8 months ago
When you search for "dotfiles" on GitHub, you'll find plenty of good script examples for setting up a new computer. Since Apple doesn't provide good documentation on what you can configure with "defaults" variables, these examples are a goldmine.
cmpit · 8 months ago
That's how I found some to be honest. :-)
sandreas · 8 months ago
Jeff Geerling has a phenomenal ansible playbook to setup his macs:

https://github.com/geerlingguy/mac-dev-playbook

pridkett · 8 months ago
I moved all my setup to Ansible about five years ago. It’s been awesome, especially as it makes it trivial to replicate changes to new machines. Installed a new package? Run the playbook again. Changed a script? Run the playbook again.

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.

nunez · 8 months ago
This is the ideal version of the playbook I've been wanting to write for years to automate the chaotic dotfile collection I've written over the last 15 years!
montroser · 8 months ago
PSA: "setup" is a noun, and "set up" is the verb you're looking for.
cmpit · 8 months ago
Noted, thank you!

Deleted Comment

rcarmo · 8 months ago
I have https://github.com/rcarmo/ground-init - which I also use for Macs, although via a bit of a hack right now. I should update it to a brewfile-like setup...

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.

broshtush · 8 months ago
nix-darwin is a thing, and like all nix tools. It tackles this exact problem
gbrindisi · 8 months ago
I do this too. Nix is incredible, until it isn’t and then I regret using it so much.

I’ll probably use something dumber for the next machine, and keep nix for servers and local vms.

mcgrath_sh · 8 months ago
I'm trying nix instead of Homebrew on my mac. It worked great until I decided to give rust a shot. I think my solution is to just do rust development on my Arch machine and stick with nix. That said, if I run into additional issues, I will probably just go back to Homebrew.

Where were your pain points?

phinnaeus · 8 months ago
Highly recommend keeping Nix to your NixOS machines. IYKYK
jmpz · 8 months ago
Can you elaborate? I don't know, and would like to know.

Deleted Comment

KolenCh · 8 months ago
I have custom scripts to bootstrap my macOS as many others here, and I can testify that migrating to nix-darwin greatly simplified my scripts.

P.S. I don’t use home manager though as I also need to bootstrap systems without nix.

joeyagreco · 8 months ago
KolenCh · 8 months ago
Interesting! Do you know how to convert com.local.KeyRemapping.plist to the JSON format you used for remapping keys?
emchammer · 8 months ago
Why are macOS keyscan codes 11 digits long?
frizlab · 8 months ago
Probably modifiers in the binary number, where a specific bit means something. That gives very large numbers in the end.
bombcar · 8 months ago
I used to hand-setup each new Mac, but lately (last decade or so; gosh this M1 Pro is absolutely ancient) I just let the migration assistant do the needful.

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.

ojhughes · 8 months ago
> I just let the migration assistant do the needful

but will it revert back if things go wrong?

bombcar · 8 months ago
It leaves the "source computer" alone, so if it blows up you can always just start again.

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.

phinnaeus · 8 months ago
It reverts back and it does it at its earliest.
timothevs · 8 months ago
Dear, this was gold.
cmpit · 8 months ago
I get that. Personally, I'm a bit weird because I don't like to bring all the stuff from the previous machine (documents, files, etc.). I like to start fresh and only install a couple of apps / configure some settings.
bombcar · 8 months ago
Understandable - it gives you a chance to do "spring cleaning" and decide what you really want/use.