Skip to main content
Orchard configures macOS system settings using the defaults write command, which writes preference values directly to macOS’s built-in preferences system. Each setting lives in its module’s install.sh file — to change a value, you edit the relevant file and re-run provisioning. You don’t need to touch System Settings manually.
After editing any install.sh setting, you must apply the change by either running ./provision.sh from the Orchard root, or running the specific module’s install.sh directly (for example, ./keyboard/install.sh). Changes to these files do not take effect automatically.

Keyboard

keyboard/install.sh sets how quickly keys repeat when held down.
keyboard/install.sh
#!/bin/bash -euo pipefail

defaults write 'Apple Global Domain' KeyRepeat -int 2
defaults write 'Apple Global Domain' InitialKeyRepeat -int 15
SettingDefaultEffect
KeyRepeat2How fast a held key repeats. Lower values repeat faster; the range is roughly 1–15.
InitialKeyRepeat15How long you must hold a key before it starts repeating. Lower values shorten the delay.
To slow down key repeat, increase either value. To make your keyboard feel more responsive for navigation, decrease them. The minimum macOS allows via System Settings is KeyRepeat 2 and InitialKeyRepeat 15, but you can set lower values by editing these files directly.

Mouse

mouse/install.sh controls pointer tracking speed for a connected mouse.
mouse/install.sh
#!/bin/bash -euo pipefail

defaults write -globalDomain com.apple.mouse.scaling -float 3
The com.apple.mouse.scaling value is a float where higher numbers move the cursor faster across the screen. A value of 3 is noticeably faster than the macOS default. Decrease it (for example, to 1.5) for a slower, more precise feel, or increase it beyond 3 for a larger display or high-DPI setup.

Trackpad

trackpad/install.sh sets the trackpad tracking speed and enables tap to click.
trackpad/install.sh
#!/bin/bash -euo pipefail

defaults write -globalDomain com.apple.trackpad.scaling -float 3
defaults write com.apple.AppleMultitouchTrackpad Clicking -boolean true
SettingDefaultEffect
com.apple.trackpad.scaling3Pointer speed. Higher values move the cursor farther per unit of finger movement.
ClickingtrueEnables tap to click, so a light tap registers as a click without pressing the physical button.
To disable tap to click, set Clicking to false. To adjust trackpad sensitivity, change the float value — 1.0 is a slower, more controlled feel.

Dock

dock/install.sh configures Dock behavior and removes several default Apple apps from the Dock.
dock/install.sh
#!/bin/bash -euo pipefail

defaults write com.apple.dock autohide -boolean true
defaults write com.apple.dock show-recents -boolean false
SettingDefaultEffect
autohidetrueThe Dock hides automatically and slides in when you move the pointer to the screen edge. Set to false to keep the Dock always visible.
show-recentsfalseHides recently used apps from the Dock. Set to true to show them.
The file also removes a set of Apple default apps from the Dock (Safari, Messages, Maps, and others) using dockutil. To keep any of those apps in your Dock, remove the relevant entry from the default_dock_applications_to_remove array in dock/install.sh.

Security and privacy

security-and-privacy/install.sh configures the screensaver password lock.
security-and-privacy/install.sh
#!/bin/bash -euo pipefail

defaults write com.apple.screensaver askForPassword -bool true
defaults write com.apple.screensaver askForPasswordDelay -int 0
SettingDefaultEffect
askForPasswordtrueRequires your password to unlock the screen after the screensaver activates. Set to false to disable the lock.
askForPasswordDelay0How many seconds after the screensaver starts before the password is required. 0 means immediately; increase the value to add a grace period.
For example, to require the password only after 5 seconds instead of immediately:
defaults write com.apple.screensaver askForPasswordDelay -int 5

Applying your changes

1

Open the relevant install.sh

Navigate to the module directory for the setting you want to change — for example, keyboard/install.sh for key repeat settings.
2

Edit the defaults write value

Change the integer or float value in the relevant defaults write line. Keep the key name and type flag (-int, -float, -boolean, -bool) unchanged.
3

Apply the change

Run the full provisioner to apply all settings:
./provision.sh
Or run just the module you changed for a faster iteration loop:
./keyboard/install.sh