Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

While it's true that there are many command line options available, I use a similar script to configure my Macs and it can be quite painful compared to Linux. First of all, this is a script, not a configuration file, so the changes only take effect when it is run, not when a user starts a session (though I suppose that could be done). There are any number of ways the settings can be changed and preserved without your knowledge, so you'll need to run the script periodically. I actually keep portions of the configuration state (nvram, defaults) in version control so I can audit changes.

There are also a number of different commands (scutil, nvram, defaults, pmset, PlistBuddy, etc.) instead of common interface for things that seem related but aren't. Discoverability is horrible, even when you know the name of the setting you want to change. It is not immediately apparent what arguments are needed for "defaults write" based on the output of "defaults read" (possibly due to my own ignorance, but this raises the learning curve substantially).

Granted, there are a thousand different ways to configure any given Linux environment with varying degrees of difficulty, but I feel like many of the user preferences in the linked script would be better managed in dotfiles as they are in Linux (and other Unices and even for many apps on Mac OS).



> First of all, this is a script, not a configuration file, so the changes only take effect when it is run, not when a user starts a session (though I suppose that could be done)

I don’t think there is anything wrong with re-setting a bunch of properties in plist files every time a session is opened.

You’re right, the CLI is a difficult to use if you don’t know it beforehand. And even knowing it does not tell you about the various properties you can change with default. At least the script here points to some useful options.




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

Search: