Hacker News new | past | comments | ask | show | jobs | submit login

Can you tell me more about "curl-to-bash"?

Setting up my mac can be a matter of days and I hate it.




Whoa, why? Or, more specifically, why are you not using migration from a prior Mac or from a Time Machine backup? The ease with which a Mac user can be up and running on new hardware is, to me, one of the larger advantages of the platform. I know, this being HN, that you likely have a number of FOSS tools installed; are they somehow not getting picked up properly by migration & backup?

True story: we were robbed in 2012, in a quickie smash-and-grab through a rear patio (glass) door. They were in and out in maybe 1 minute, and took only what they could see from the yard -- which included my Macbook Pro.

We're well insured, so I went and got a new one the next day, plugged it into my Time Machine drive, and went and had lunch. When I came back, my new machine was ready to go -- all my apps, all my data, and even all my app windows were restored.


Shit, I hope your data was encrypted


D00d. I read HN.


I think they mean the classic install process of "curl -s <url> | bash", used to download and then execute a bash script. The real question in my opinion is what kind of tools can fully set up an entire environment, including sessions, from a bash script? Homebrew only gets you so far.


Apologies for the self-plug but this is what I built for GitHub to do exactly this: https://github.com/MikeMcQuaid/strap. Add Homebrew Bundle and a Dotfiles repo into the mix and you get what was described. This is obviously pretty Homebrew and GitHub centric because I work on both.


Just want to thank you for `strap` and your `dotfiles` repo's, Mike! They've been terrifically helpful in setting up my Mac environment.


Thanks for the kind words <3


I haven't played with it on my mac, but I've been headed down the path of setting up my environment with Ansible. I have one script that bootstraps Ansible, and it does the rest. That said, I haven't managed to get everything in there yet. It requires discipline to never set things up without putting them in configuration management (same as if you're configuring servers).


>Homebrew only gets you so far.

Homebrew has an app that can also handle installing Mac App Store apps. It also handles installation of third party fonts.

You then download and activate your dotfiles, copy over your data, and that's it.

For sessions, I guess a download of a recent cloud sync of your last tmux state for iTerm2 would do it (haven't tried).


Some of the old Boxen libraries (Puppet automation for things generally outside of the "run a command to install" area--like complex OS configuration and per-application setting installation) plus a bit of bash and a few Hammerspoon scripts gets me working. It's not pretty, but usually means the only things I have to do manually are install XCode and log into a few accounts (unless I'm changing hardware types or OSX vesions).


Possibly a complete image of the disk. dd'ing from an SSD with trim gets you zeros for the unused sectors, otherwise write a big file with zeros on the remaining space.

This data compresses quite well and gets you all the hidden and extra attributes an rsync might miss. That would be my unix-y approach.


I just rsync my home directory and re-run the nix installer.

Setting up my mac is a matter of letting things run overnight mostly (the rsync primarily).

Then chsh to zsh and log in/out and bam, back in business. I put all my apps in ~/Applications as well or as often as I can. I think screen flow is the only app that I need to install, but that is a bit of a one off and not often used so no big deal.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: