[HN Gopher] Sensible macOS Defaults
       ___________________________________________________________________
        
       Sensible macOS Defaults
        
       Author : garrtt
       Score  : 221 points
       Date   : 2021-03-19 14:11 UTC (8 hours ago)
        
 (HTM) web link (github.com)
 (TXT) w3m dump (github.com)
        
       | garrtt wrote:
       | For clarity, I should point out that I don't believe that all of
       | these defaults are "sensible" for every user. I gave the
       | submission it's title because that is how the creator refers to
       | the file.[0]
       | 
       | [0]
       | https://github.com/mathiasbynens/dotfiles/tree/master#sensib...
        
       | dhosek wrote:
       | I do my best to _not_ change defaults on systems that I use. It
       | ends up being a pain point any time I go to some other computer
       | and have to deal with my extensions /customizations not being
       | there. Something needs to be a _big_ productivity gain to merit
       | the change (or else be a trivial modification, like disabling
       | caps lock).
        
       | m463 wrote:
       | When I read this I thought - A kindred spirit:                 #
       | Disable automatic capitalization as it's annoying when typing
       | code       # Disable smart dashes as they're annoying when typing
       | code       # Disable automatic period substitution as it's
       | annoying when typing code       # Disable smart quotes as they're
       | annoying when typing code       # Disable auto-correct       ...
       | 
       | but then I saw this -                 # Allow the App Store to
       | reboot machine on macOS updates
       | 
       | I assume this after you manually started the update, otherwise it
       | is madness!
        
       | bengale wrote:
       | I'm not sure I agree with much of these, which makes sense
       | because this is definitely not 'sensible defaults' it is just
       | someones preferred settings.
       | 
       | I wouldn't copy this unless you know for sure this is how you
       | want your system configured.
        
         | chrisseaton wrote:
         | Presumably everyone thinks their own defaults are 'sensible',
         | otherwise they wouldn't be using them.
         | 
         | I think the most sensible defaults are those that come out of
         | the box, rather than spending time tweaking things.
        
           | bengale wrote:
           | > Presumably everyone thinks their own defaults are
           | 'sensible', otherwise they wouldn't be using them.
           | 
           | Maybe, although I set my caps lock up to be escape when
           | tapped and control when held, I don't think that would be
           | sensible for many people at all unless the knew why they
           | wanted it.
           | 
           | > I think the most sensible defaults are those that come out
           | of the box, rather than spending time tweaking things.
           | 
           | This is probably true, I find it very difficult to use anyone
           | else's system since my config is non-standard.
        
             | matwood wrote:
             | > I set my caps lock up to be escape
             | 
             | Which was the only sensible thing to do when Apple dropped
             | the ESC key ;)
             | 
             | I'm so used to caps == ESC now, it takes me a minute to
             | realize what's wrong when I'm on a new system/keyboard.
        
               | chrisseaton wrote:
               | > I'm so used to caps == ESC now, it takes me a minute to
               | realize what's wrong when I'm on a new system/keyboard.
               | 
               | Isn't this a bad thing?
        
               | Nullabillity wrote:
               | Compare how much time you spend using your own system vs
               | others'.
        
               | chrisseaton wrote:
               | If you learn the default, it doesn't matter how much time
               | you spend on any given system. I don't get why people
               | make themselves less portable by becoming dependent on
               | non-defaults.
        
               | bengale wrote:
               | I do it because it makes my life easier on the system I
               | use 99% of the time.
        
               | dbalatero wrote:
               | Who is this mythical person jumping between tons of
               | computers? Who is dependent? The few times you're on a
               | different computer you just deal and fallback to the
               | mean.
        
               | chipotle_coyote wrote:
               | For what it's worth, I use Vim fairly regularly and have
               | always left the escape key alone. (The "butterfly
               | keyboard" Mac tempts to me remap it, but that is not, in
               | the final analysis, Vim's fault.) I do, however, tend to
               | remap caps lock to control, because I think it's a better
               | place for it and it's not exactly a high effort thing to
               | do the remapping -- it's built right into the Mac's
               | system preferences.
               | 
               | As other people have pointed out, most of us aren't
               | regularly using computers that aren't ours (or at least
               | "ours," in the case of work machines permanently assigned
               | to us), and I suspect nearly everyone who reads this web
               | site has changed more than one thing on their computer
               | that deviates from a fresh out-of-the-box default. :)
        
               | matwood wrote:
               | The default is reaching to the top left corner of the
               | keyboard. I know the default and it's terrible if someone
               | uses vim. In macOS it's trivial to remap the caps lock
               | key to ESC system wide through the built in preferences.
               | So while it's not that way out the box, it's certainly in
               | the realm of default configurations any user might make
               | on their machine.
        
               | chrisseaton wrote:
               | I can't really understand picking an editor that is so
               | awkward that it relies on me _reconfiguring my hardware_
               | and breaking the labelling of the keys to make it usable.
        
               | matwood wrote:
               | Here's the thing. Even if someone doesn't use vim,
               | remapping a mostly useless key like caps lock to ESC is
               | still more useful. ESC should cancel out of most dialogs
               | and popups, so should be key that is likely used more
               | often than the occasional times someone needs to type a
               | long enough string of upper case characters to need caps
               | lock.
               | 
               | As far as editors and key labels, I don't really
               | understand the problem. Move beyond any of the basic
               | shortcuts on any editor, and you quickly move into
               | combinations that have little to do with what's written
               | on the key(s).
        
               | matwood wrote:
               | It's 1 key change, and since I use vim keybindings in
               | almost everything it's much easier on the system I use
               | 99.9% of the time.
        
               | myrandomcomment wrote:
               | Cap locks should be control the way god intended it! :)
               | 
               | You can use the hidutil if you want to script changes
               | yourself:
               | 
               | https://developer.apple.com/library/archive/technotes/tn2
               | 450...
               | 
               | Or Karabiner Elements:
               | 
               | https://github.com/pqrs-org/Karabiner-
               | Elements/blob/master/R...
               | 
               | I have an Filco Japanese keyboard and the default
               | settings on macOS even when the keyboard is set to
               | Japanese (QWERTY JIS) gets the Ying Shu  (alphanumeric)
               | key, and kana (kana) key wrong (and they are supported on
               | the built in laptop keyboard).
        
               | saagarjha wrote:
               | Word of warning: hidutil keeps the caps lock delay, so
               | you'll miss short presses. This drove me mad until I
               | figured it out but by then Karabiner had thankfully been
               | updated for the new OS.
        
           | kube-system wrote:
           | Speak for yourself, I'm well aware that many of my
           | preferences are esoteric. :)
        
           | gowld wrote:
           | Most people never think about the defaults.
        
         | akmarinov wrote:
         | If you use these as they're written, you'll end up with a
         | Brussels timezone, so yeah - definitely edit them beforehand.
        
           | bengale wrote:
           | One hour closer to quittin' time!
        
             | linux2647 wrote:
             | Or nine if you live on US west coast ;)
        
         | cush wrote:
         | Exactly. Whoever wrote this is a minimalist. I want a hot pink
         | animated focus indicator. I feel like I'm a sensible person,
         | but after reading this script... I just don't know anymore.
        
         | throw0101a wrote:
         | > _I wouldn 't copy this unless you know for sure this is how
         | you want your system configured._
         | 
         | A before and after picture (video?) for each would be helpful
         | in making a decision in each case.
         | 
         | Also, is there a revert-to-defaults script?
        
       | hollandheese wrote:
       | > # Trackpad: map bottom right corner to right-click
       | 
       | This is the most monstrously non mac-like thing I've ever seen.
        
         | Eric_WVGG wrote:
         | It was a popular "hack" back in the days before two-fingered
         | click detection. Probably not as efficient as ctrl-click, but
         | that felt even less Mac-like at the time.
         | 
         | A lot of these preferences seem to reflect the opinions of
         | someone who would quite happily be stuck in 2005. Reverse
         | scrolling... ugh.
        
           | hollandheese wrote:
           | Weird. I can't remember anyone doing that back in the day, as
           | it was super easy to just ctrl-click. This seems like a
           | "hack" for former Windows users ("switchers"), where ctrl-
           | click has been around since Mac OS 8.
        
       | [deleted]
        
       | spankalee wrote:
       | It'd be awesome if this could help with two anti-user innovations
       | in recent macOS:
       | 
       | 1) Disable Apple Music, which has the annoying habit of opening
       | every time I touch my headphones, and is not removable from my
       | own computer.
       | 
       | 2) Force macOS to remember that I gave Chrome location
       | permissions instead of reseting Chrome after every update.
        
         | dcow wrote:
         | Safari does this too.. Apple is on some horse about requiring
         | user intervention for every single location request even from
         | sites you've already allowed in the past. It's annoying.
        
           | spankalee wrote:
           | macOS does not forget that _Safari_ has location permissions.
           | In fact, they 're enabled by default. Chrome however has its
           | location permissions reset so often that they had to add a
           | feature to tell users it was off again.
        
       | jbirer wrote:
       | This gives me the impression that command line configuration
       | interface for MacOS is really good, at least compared to FreeBSD,
       | Windows or Linux.
        
         | johnvaluk wrote:
         | 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).
        
           | kergonath wrote:
           | > 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.
        
       | easton wrote:
       | This reminded me a bit of messing around with TinkerTool around
       | 10.4-10.5 times, and to my surprise, it's still supported with a
       | Big Sur compatible release!
       | 
       | https://www.bresink.com/osx/TinkerTool.html
        
       | mrtksn wrote:
       | Wouldn't be better to call this "cheat sheet"?
       | 
       | macOS already has sensible defaults, that's how people who have
       | no interest in dealing with computers can use their machines for
       | years with no issues or servicing(unless a latte is spilled over
       | the keyboard).
       | 
       | Then, you can customise behaviour for some specific things to fit
       | your workflow.
       | 
       | The problem with diverging from defaults without putting much
       | thought on it is that if you don't use it frequently you forget
       | about it and when weird bugs happen it gets very hard to debug
       | because a common issue with a straightforward solution may no
       | longer apply to you and you have no idea why since you cannot
       | make the connection because you don't remember changing it.
        
         | garrtt wrote:
         | I agree that calling it sensible is subjective. Most of these I
         | wouldn't even use myself, but I found it to be a good reference
         | overall. I set the title for the post based on the how the
         | creator references the file.
        
           | raghavkhanna wrote:
           | Perhaps something to the tune of "How to customize macOS
           | defaults" would be more appropriate then?
        
         | moistbar wrote:
         | > Wouldn't be better to call this "cheat sheet"?
         | 
         | Why would you call a script that actually changes things and
         | doesn't actually show you a cheat sheet a "cheat sheet?"
        
           | mrtksn wrote:
           | Because the lines that do something are nicely categorized
           | with documentation included. Instead of running it all, you
           | can take a look what's possible and apply it individually.
        
             | moistbar wrote:
             | > Instead of running it all, you can take a look what's
             | possible and apply it individually.
             | 
             | That's true of any script. The fact that this one is well
             | commented doesn't make it not a script.
             | 
             | A cheat sheet is something you hang on a wall and glance at
             | every so often. A script is something you run to make
             | changes to a system. You can't run a cheat sheet.
        
               | mrtksn wrote:
               | How do you tell that it's not a really long string or a
               | web page but a script? Maybe it's just a pattern of dots
               | projected on LCD or 1s and 0s stored on a computer. I
               | don't see any more concrete proof that it's not any of
               | these but a script.
        
               | moistbar wrote:
               | > How do you tell that it's not a really long string or a
               | web page but a script?
               | 
               | `#!/usr/bin/env bash` is a bit of a dead giveaway.
        
               | dhosek wrote:
               | I just see dots on my screen
        
           | Rebelgecko wrote:
           | If you don't want to make changes like turning the
           | highlighter color to green or set the TZ to Belgium, it's a
           | great template for making your own version of the script, and
           | it does the useful work of collecting a bunch of 'defaults
           | write', 'pmset', and 'nvram' commands
        
         | root_axis wrote:
         | I mean, you could use it as a cheat sheet, but that's not what
         | it is. IMO macOS has a lot of terrible defaults that are not at
         | all sensible, of course this is quite subjective, but the fact
         | that many mac users accept the defaults isn't really saying
         | much, typically end-users don't even realize there are other
         | options available.
        
           | dcow wrote:
           | Yeah but this is really a list of "tweaks". It's a nice list
           | don't get me wrong, but changing the currency without
           | prompting the user, using green as the highlight color (bad
           | for accessibility), disabling window animations, configuring
           | Transmission and TweetBot... there is plenty in the list that
           | is in no way a "default" nor really even a sensible outcome
           | to expect after running the script...
        
           | mrtksn wrote:
           | You can have different opinions on what's sensible but to
           | claim that something is not sensible as general you need to
           | make a point about an issue due to the default settings.
           | 
           | For example, if people were getting hacked through remote
           | desktop connection all the time you could have said that
           | macOS has insensible defaults on the security or even
           | existence of that feature.
           | 
           | However, with macOS that's not the case, in fact macOS has so
           | sensible defaults that a lot of its users have no
           | understanding of how it works and yet successfully use it for
           | years with no issues and not gaining any understanding
           | through the years.
           | 
           | The thing is so well designed that it's often dissed as a
           | Starbucks machine, implying that it is used by people with a
           | lot of money who don't know what they are doing while
           | simultaneously is an extremely popular machine among creative
           | professionals and engineers who also like coffee and know
           | what they are doing.
           | 
           | Having options is nice, for example I dislike dark mode but I
           | like the dark statusbar so I have a customisation for it. I
           | dislike autosorting of the Spaces, so I disabled it. I prefer
           | to simply tap and not have to press on the trackbar so I
           | enabled it.
           | 
           | However I would't call the defaults not-sensible, it's just
           | that I like some stuff differently from the defaults.
        
             | notsureaboutpg wrote:
             | The defaults aren't powerful, thought they are sensible.
             | 
             | Windows (and most Linux DEs like KDE) come with out of the
             | box snapping windows to the four corners of the screen and
             | to the left and right which is perfect for how most people
             | use their laptops. Most people need two separate windows
             | open side by side because most jobs are about synthesizing
             | two separate flows of information in some way (research in
             | one window while writing a document in another for
             | example).
             | 
             | In mac you need to install an app to do this
             | (Rectangle/Spectacle). Now, that's fine because you can
             | click and drag the windows where you need them to be. But
             | it wastes your time whereas the default in Linux/Windows
             | saves your time. Sensibility over power.
        
             | root_axis wrote:
             | > _a lot of its users have no understanding of how it works
             | and yet successfully use it for years with no issues and
             | not gaining any understanding through the years._
             | 
             | This is true of every popular operating system. Most people
             | just adapt to the defaults regardless of the OS. There are
             | millions of people who use windows or chrome os, or even
             | ubuntu as-is out of the box. Whether or not people want to
             | change the defaults just depends on what they're used to,
             | if you used windows for years and switch to macOS it's very
             | likely you're going to be inclined to modify certain
             | defaults and the same is true in reverse.
        
       | lucideer wrote:
       | As most of the comments here on HN are taking issue with the
       | weirdly editorialised HN title, rather than with the content, it
       | would be great if a moderator could change the title to something
       | more accurate like "Mathias Bynens' macOS defaults"
        
         | garrtt wrote:
         | I can change the title. I just set it to that because that is
         | what Mathias calls it.
        
           | kergonath wrote:
           | FWIW I'm not annoyed by the title. It just sounds tongue in
           | cheek. Of course, it's sensible to him because these are his
           | settings.
        
           | lucideer wrote:
           | He does call them "sensible hacker defaults for macOS", which
           | might get less criticism, but it's the repo title and there's
           | no real indication that he's speaking to the general hacker
           | public (and not privately to himself, as the "default
           | hacker")
           | 
           | Or does he use this phrase in some blog post?
           | 
           | Either way it's not present on the linked file.
        
       | carterschonwald wrote:
       | Some of these are not what I'd want, but sprinkled among them are
       | some really cool gems
        
         | JKCalhoun wrote:
         | Agree.
         | 
         | Example: default-expanded print and save dialogs (panels) is
         | nice. I always find myself manually expanding those.
        
         | garrtt wrote:
         | Agree 100%
        
       | sneak wrote:
       | Disabling natural-direction scrolling isn't sensible.
       | 
       | It's the first thing I fix on all other OSes. Why should the
       | content go the opposite direction of the way I'm moving my
       | finger?
       | 
       | This is one of the best fixes Apple ever made, back in Lion.
       | Kudos to them to seeing the everyday and noticing that it was
       | wrong.
        
         | gegtik wrote:
         | This opinion betrays a lack of imagination.
         | 
         | There are two equally valid subjective choices here:
         | 
         | - does moving your finger up "grab the content" under the glass
         | and move it up, or
         | 
         | - does moving your finger up "grab the window", moving it up
         | along a long virtual document?
         | 
         | Both are legit mental models, it's a preference.
        
           | sneak wrote:
           | This would make sense if the choices were equal and opposite.
           | They're not, though, since the advent of smooth scrolling.
        
         | samatman wrote:
         | This is configurable almost everywhere it is encountered, and
         | there's a reason for that!
         | 
         | It's the same dilemma as panning a first-person-perspective
         | camera up and down. Some people think that down should move the
         | perspective, some people think that down should move the
         | _camera_ : so pushing the joystick down should move the viewing
         | window up. These physical intuitions are durable and hard to
         | change.
         | 
         | I grimly endured the difference between a trackpad and a phone
         | until OS X (as it was then known) switched to the "correct"
         | default, but I'm one of those people who expects a camera to
         | work like the control stick of a plane: pulling towards me, or
         | down, should elevate the perspective. I purchased a gimbal
         | recently, and was having a terrible time controlling it until I
         | realized that the default (pushing the joystick up points the
         | camera up) could be overridden.
         | 
         | I don't think there's anything "sensible" in a general way
         | about anyone's custom configuration script, frankly, and I
         | suspect the person who made this wasn't actually trying to
         | promote it for public consumption, and just meant "script to
         | make my computer do what I consider sensible".
        
       | eternalban wrote:
       | MB credits ptb's OS X setup: https://github.com/ptb/mac-setup
        
       | echohack5 wrote:
       | Love it! I always love seeing these and then stealing a few ideas
       | for my own.
       | 
       | Shameless sharing: github.com/echohack/macbot
        
       | ezequiel-garzon wrote:
       | This guy is great, I enjoyed his material on ____ ampersands in
       | HTML, https://mothereff.in/ampersands
        
       | auiya wrote:
       | I want literally none of these settings, how is this "sensible"?
        
       | singingwolfboy wrote:
       | These have been extracted from the "dotfiles" repo and made into
       | a standalone project: https://github.com/kevinSuttle/macOS-
       | Defaults
        
       | seanalltogether wrote:
       | I would think the audio prompt during system boot is a pretty
       | critical piece of information if you ever have trouble starting
       | your computer.
        
         | gowld wrote:
         | It's a Mac. If the computer doesn't start, take to a shop for
         | an exchange.
        
       | echohack5 wrote:
       | Love it! I always steal a few ideas from these and add it to my
       | own: github.com/echohack/macbot
        
       | spaetzleesser wrote:
       | A little unrelated but this hits one of my pet peeves.
       | 
       | Why do people give things generic names that have basically no
       | meaning? If I encountered the script in machine I would wonder
       | "WTF does .macos do?" There is also no comment in the header.
       | 
       | I see that at work too. People give lists of certain element
       | types the name "list". So a lot of their code is full of classes
       | with generic names like "map", "list" or "config" and every time
       | you have to look at the code and see what the thing really does.
       | 
       | Do people not work on large codebases?
        
       | rgovostes wrote:
       | prefsniff is a tool that can monitor defaults changes on macOS if
       | you want to see what default key underlies a particular setting:
       | 
       | https://github.com/zcutlip/prefsniff
        
       | fit2rule wrote:
       | This is nice, but for the MacOS users who have a hard time
       | dealing with the terminal, I've lived by the Secrets prefpane for
       | some years and find it most handy:
       | 
       | https://github.com/ecnepsnai/Secrets
        
       | maxfurman wrote:
       | This is neat! I had no idea so much of macOS was configurable at
       | the cli. That said, I am very nervous to try these commands
       | because I'm not sure what the original default is - so if I don't
       | like any option I have no idea how to set it back! Short of an OS
       | reinstall, I suppose. I can see why Mathias would want to
       | preserve these - it's not any weirder than checking in your
       | emacs.d folder.
        
       | artonge wrote:
       | From the Reader:
       | 
       | > Warning: If you want to give these dotfiles a try, you should
       | first fork this repository, review the code, and remove things
       | you don't want or need. Don't blindly use my settings unless you
       | know what that entails. Use at your own risk!
        
         | yjftsjthsd-h wrote:
         | I have some scripts that are super useful but also should not
         | be used by somebody who doesn't know exactly what they're
         | doing, so I literally stick a `exit 1` or such in the header so
         | a teammate _can 't_ run the script without having looked at it
         | first.
        
       | dsXLII wrote:
       | Sorry, soon as I saw the line that disables the startup chime I
       | knew everything here was wrong.
        
         | johnvaluk wrote:
         | Can you elaborate? I despise the startup chime and disable it
         | on all of my Macs. Why should they announce a startup when none
         | of my other devices do? Why would I want to wake a sleeping
         | baby or annoy other library patrons? This is one of the most
         | obnoxious decisions Apple ever forced on its users (and, yes, I
         | was happy when the illuminated logo on the laptop lid was
         | finally put to rest).
        
           | seanalltogether wrote:
           | Because if you ever run into a problem where your computer
           | doesn't turn on, the startup sound is your first indicator of
           | whether the screen is faulty, or the board is faulty.
        
             | gowld wrote:
             | It's a Mac. "whether the screen is faulty, or the board is
             | faulty" have the same fix.
        
               | samatman wrote:
               | Among the many differences, if the screen is faulty, one
               | can plug in an external monitor, and: get files off,
               | perform a backup, _use the computer_ , and so on and so
               | forth.
        
               | sneak wrote:
               | Not if you know how to take apart computers.
        
               | leetcrew wrote:
               | and own a blowdryer.
        
           | kube-system wrote:
           | I have plenty of devices that announce startup, I can think
           | of at least one in every room of the house. Everything from
           | my pfSense box to my washing machine.
        
           | agloeregrets wrote:
           | It's intended originally to confirm boot, a real issue to
           | solve back in the day. Some people get a warm nostalgia from
           | it now. Not all choices need to be logical to improve a
           | product for some.
        
         | msbarnett wrote:
         | It doesn't get any better when a few lines further down he
         | disables the LaunchServices quarantine and frames it as
         | eliminating a dialogue box instead of as eliminating a major
         | mitigation to browser vulnerabilities.
         | 
         | (a fun game whenever these silly scripts get posted is to count
         | how many different security measures they silently disable with
         | little to no warning to the naive)
        
           | agloeregrets wrote:
           | THIS. Holy crap this. Running this script will disable major
           | security features on macOS intended to prevent phishing and
           | remote execution.
        
         | anoncake wrote:
         | Turning startup sounds off is definitely the sensible default
         | for laptops.
        
         | doctor_eval wrote:
         | Yes! The startup sound is part of the long history of the Mac.
         | It's entirely nostalgic for me and always reminds me of the
         | sense of wonder I felt when I first used a 128K Mac.
        
       | bondolo wrote:
       | In the spirit of this post, for those using Java for development
       | on MacOS, I'll share my .zprofile which sets up a reasonable Java
       | environment for working in the shell.
       | 
       | https://gist.github.com/bondolo/5ce1a1c0d38e72a80a79ac28f951...
        
       | wlll wrote:
       | I'd greatly prefer a title such as "Mac OS defaults I prefer". I
       | read the first page or so and honestly didn't find any that I
       | would actually want.
       | 
       | Labelling these "sensible" then suggests that the alternatives
       | rather than just being personal choice are somehow not sensible,
       | and who other than a fool would choose something that's not
       | sensible?
       | 
       | Well me it seems, and I feel like the patronising title is
       | implying that I am one.
        
         | garrtt wrote:
         | https://news.ycombinator.com/item?id=26514195
         | 
         | I would have titled it differently had the creator not referred
         | to the file as such. I even tried changing the title earlier
         | today (I don't particularly like it either), but it got changed
         | back. Apologies!
        
       | tingle wrote:
       | This is a very useful list. Information on mac OS defaults is not
       | easy to discover.
        
       | smoldesu wrote:
       | This is part of the reason I switched to Linux. I've heard so
       | many people say "Linux is free only if you don't value your time"
       | and then turn around and write one of these. If I'm going to go
       | through the trouble of customizing an operating system to fit my
       | needs, I may as well do it with a free and open system rather
       | than MacOS, which can change for the worse at any moment (the
       | dealbreaker for me was dropping 32 bit support). I spent 2 days
       | getting my dotfiles spruced up, and now I can bootstrap any fresh
       | Linux install by curling a script from my website and running it.
       | On MacOS, it felt like I was constantly discovering things I
       | didn't like, only to have the system fight me when I wanted to
       | change it.
        
         | gardaani wrote:
         | _" the dealbreaker for me was dropping 32 bit support"_
         | 
         | Funny. I decided to drop Ubuntu Linux because they dropped
         | support for 32 bit CPUs. I switched to FreeBSD.
        
         | herrkanin wrote:
         | Realistically, the person who compiled this script file to make
         | the OS behave exactly how they desire is very different from
         | the kind of person who says "Linux is free only if you don't
         | value your time".
         | 
         | Personally, I like to keep to the defaults and prefer to change
         | my own workflow to match the OS designers' vision of how I
         | should use a computer, rather than to try to bend the OS to my
         | priors. I understand why this don't work for everyone, but it
         | has made my life much easier.
        
           | JoeAltmaier wrote:
           | This! I just get used to the defaults. When I change
           | computers, no extra work for me. Contrast my business
           | partner, who spends 2 days loading and configuring each new
           | computer.
        
             | notsureaboutpg wrote:
             | How is it not extra work for you? As someone who is getting
             | used to MacOS now for work, it's taken me more than a week
             | to feel productive with the defaults...
        
           | doctor_eval wrote:
           | Absolutely! I thought I was the only one who felt this way. I
           | used to customise everything "back in the day" and then I'd
           | change machine or have to use someone else's - and all my
           | muscle memory would be lost.
           | 
           | These days the only thing I customise is the "refactor"
           | shortcut in IDEA because the Fn keys suck on MacOS.
        
         | rconti wrote:
         | As a 26 year Linux user, I find it hilarious to imply it won't
         | change for the worse at any time.
        
         | gcommer wrote:
         | Same. It's seriously hard to say how awesome it is that a few
         | days invested into customization ~10 years ago have lasted with
         | me all this time. According to my dotfiles, the last "upstream
         | updated something so I had to fix my setup" change was 4 years
         | ago.
         | 
         | Firefox is the only program I run that requires constant
         | "config maintenance".
         | 
         | Meanwhile, I've used macOS at work for ~5 years. Every time a
         | big release comes out, IT departments have to go around
         | screaming "DONT UPDATE IT WILL BREAK EVERYTHING" for a month.
         | Once that calms down later we finally can update (though I only
         | _want_ to update because by that point the incessant "Update
         | now or tonight?" prompts have driven me mad) -- and instead of
         | everything breaking, it merely breaks half my customizations
         | and I have to waste time fixing it.
        
       | dreamcompiler wrote:
       | I already use many of these and have learned several more good
       | tips from reading this script.
       | 
       | In recent years Apple's default settings have trended more and
       | more away from what keyboard-focused power users (i.e.
       | developers) need, IMHO. That wouldn't be a big deal except
       | they've also trended toward locking down those defaults to make
       | them difficult to change. Scripts like this make it possible for
       | me to continue doing development on the Mac without tearing my
       | hair out.
        
       | supernintendo wrote:
       | > Disable the sound effects on boot
       | 
       | As someone who grew up using an old school Mac in the 90s, this
       | is blasphemy! That triumphant chime is essential to the Macintosh
       | experience (just kidding but kinda not).
        
       | sneak wrote:
       | Here are mine, for comparison:
       | 
       | https://git.eeqj.de/sneak/osx/src/branch/master/custompkg/ro...
        
       | Maursault wrote:
       | nitpik: I prefer to define the $PATH of every command used in a
       | bash script to prevent some possible shenanigans.
       | 
       | sudo="/usr/bin/sudo"
       | 
       | launhctl="/bin/launchctl"
       | 
       | scutil="/usr/sbin/scutil"
       | 
       | nvram="/usr/sbin/nvram"
       | 
       | defaults="/usr/bin/defaults"
       | 
       | et cetera
        
         | echohack5 wrote:
         | Since APFS firmlinks these binaries you might be setting up
         | some undesirable behavior, especially if a folder is set to
         | read only. :) Most of the time you'll be ok though
        
       | chrisweekly wrote:
       | I love "dotfiles" in general, and IMHO this repo makes for
       | excellent reference material. There's always something more to
       | learn, and IME (paid to use computers since 1998) time spent
       | improving your tools is usually well-spent. Of course tinkering
       | can be a rabbit hole or time-sink of a hobby, but leveraging
       | others' expertise (via dotfiles repos like Mathias's) can
       | mitigate that risk. More generally, taking the time to grok the
       | system you depend on -- and shaping it to your liking -- is one
       | of the most sensible things you can do.
        
       | jonnycomputer wrote:
       | It looks like this is some person's set of config files, and for
       | my part I find it useful to see how someone has set these OS
       | configurations programmatically, but its quite opinionated, which
       | is fine, but not exactly some kind of minimum set of defaults
       | that most users would agree on--which OP suggests is the case.
        
       | PascLeRasc wrote:
       | How do people generally discover these default variables? Is
       | there a manual from Apple or is it just exploratory?
        
         | bronson wrote:
         | Mostly manpages and experimentation. Here are some:
         | https://github.com/kevinSuttle/macOS-Defaults/blob/master/RE...
        
         | latexr wrote:
         | 1. `defaults read > file_a`.
         | 
         | 2. Change setting via GUI.
         | 
         | 3. `defaults read > file_b`.
         | 
         | 4. `diff file_a file_b`.
         | 
         | If you already know the domain you want to change (like the
         | bundle ID of a specific app), add it after `read`.
        
       | _def wrote:
       | the sudo loop is really dangerous
        
       | aeturnum wrote:
       | I love that this document takes inscrutable OS X settings and
       | translates them into familiar human-readable settings. I have no
       | idea what "NSGlobalDomain NSNavPanelExpandedStateForSaveMode" is,
       | but I understand what "Expand save panel by default" means.
       | 
       | However, like other people, I'm not sure that I agree with _this
       | particular_ set of changes. Is there a project somewhere that
       | packages these options into a GUI? I know a bunch of folks who
       | use OS X who might want to change these things, but they 're not
       | programmers and they don't even know shell scripts exist.
        
         | [deleted]
        
         | ttepasse wrote:
         | > Is there a project somewhere that packages these options into
         | a GUI?
         | 
         | There was: Secrets* was both a website were people aggregated a
         | small database of these options and a MacOS preference pane
         | which displayed these:
         | 
         | https://web.archive.org/web/20150515104503/http://secrets.bl...
         | 
         | https://blog.taylormcgann.com/wp-content/uploads/2012/03/sec...
         | 
         | (* by the makers of Quicksilver!)
         | 
         | Sadly the project stopped updating in 2012 and the website,
         | repository and forks seem all long gone.
         | 
         | (Should anyone resurrect this great app, one improvement should
         | be versioning of secrets recipes. AFAIR Secrets.prefPane
         | displayed options long after they stopped applicable for later
         | Mac OS versions.)
        
         | kergonath wrote:
         | Onyx has a bunch of these: https://www.titanium-
         | software.fr/en/onyx.html
         | 
         | It's probably not exhaustive, but quite convenient.
        
           | aeturnum wrote:
           | Oh thank you! This is exactly what I was looking for.
        
       | Terretta wrote:
       | Not all of these changes are 'sensible' by default.
       | 
       | Some original settings are useful belt-and-suspenders for flow
       | blindness.
        
         | simias wrote:
         | Yeah "sensible defaults" doesn't make a lot of sense, it's way
         | too opinionated. I could see using that as a starting template
         | for some of my own preferences though. It's like reading
         | somebody's vimrc, even if you don't care about 90% of it you
         | might still find a few interesting tidbits that make your life
         | easier.
        
         | cassianoleal wrote:
         | Indeed. More like "random person on the Internet's preferred
         | macOS settings".
        
           | wincy wrote:
           | I for one definitely think the whole world should set their
           | timezone to Brussels.
           | 
           | Seriously though, I like not having scrollbars everywhere, I
           | use two fingers for right click on the track pad, I do it
           | without thinking, if I turn off natural scrolling I get
           | incredibly confused.
           | 
           | Some of the stuff I can get behind, like this
           | # Enable full keyboard access for all controls         #
           | (e.g. enable Tab in modal dialogs)         defaults write
           | NSGlobalDomain AppleKeyboardUIMode -int 3
           | 
           | I get annoyed when secure keyboard entry turns on and doesn't
           | turn off properly in iTerm as it messes up Dash's snippets.
           | 
           | I'm sure this is the sensible defaults for this one really
           | picky person, and it's interesting to see all the choices,
           | but I would definitely advise against someone running this on
           | their workstation blindly.
        
       | gugagore wrote:
       | I have not found a way to script the `Keyboard Preferences ->
       | Input Sources` settings. I even versioned (in git) a ton of the
       | `.plist` (property list) files in `~/Library/Preferences/` (they
       | are binary files, but one can use `plutil` to get a textual XML
       | representation). I think I arrived at the conclusion that these
       | settings are persisted on a global / system level, and that there
       | was basically no solution. I would be happy to be proven wrong!
       | 
       | When I was starting from scratch with macOS a few months ago, I
       | had that sense of fresh new beginning. I wanted to have all of
       | the configuration scriptable and versioned. Unfortunately those
       | preferences files also include a bunch of timestamps and dates
       | and window locations, so it ends up being not a great idea.
        
       | LeoPanthera wrote:
       | Sensible for who? I wouldn't want many of these settings, and,
       | for example, my parents would want almost none of them. These
       | kind of scripts are almost never a good idea.
        
       | anamexis wrote:
       | How does one find all of these "defaults" settings? Is there a
       | reference somewhere?
        
         | garrtt wrote:
         | defaults read
         | 
         | will show you all of them but it's a pretty long list
        
           | larkost wrote:
           | That also only shows you values that have been set. There can
           | be values that are defaulted within the program itself that
           | can be set, but do not have their default values written to
           | any file, so do not show up in the `defaults` command except
           | when set manually.
           | 
           | Unfortunately, the usual way of finding those is to `strings`
           | the application binary, and weed through all the chaff. And
           | that requires either a fishing expedition, or for you to
           | already know what you are looking for (including what binary
           | might be responsible for that).
        
         | saagarjha wrote:
         | Reversing the binary to find calls to
         | NSUserDefaults/CFPreferences.
        
       | vondur wrote:
       | So these settings are on a per user basis, or do they take effect
       | system wide?
        
         | thought_alarm wrote:
         | The sudo commands are system settings, the rest are user
         | account settings.
        
       | canjobear wrote:
       | I scrolled through the first few and every single one was either
       | something I didn't like or a bad idea.
        
         | drivingmenuts wrote:
         | I stopped at Yosemite.
        
       ___________________________________________________________________
       (page generated 2021-03-19 23:02 UTC)