General
Everything under System Settings › General, as Nix options. Each one is named after the control
you'd click, and set under programs.nix-plist-manager.options in home-manager and nix-darwin.
Automatic Updates
Section titled “Automatic Updates”App Store › Settings › Automatic Updates
applications.systemSettings.general.softwareUpdate.automaticallyInstallApplicationUpdatesFromTheAppStore = true; true or false "unset" puts back macOS's default.
Where it's stored and what runs
-
/Library/Preferences/com.apple.commerceAutoUpdate
For false:
/usr/bin/defaults write /Library/Preferences/com.apple.commerce AutoUpdate -bool false || echo 'nix-plist-manager: failed: /usr/bin/defaults write /Library/Preferences/com.apple.commerce AutoUpdate -bool false' >&2For true:
/usr/bin/defaults write /Library/Preferences/com.apple.commerce AutoUpdate -bool true || echo 'nix-plist-manager: failed: /usr/bin/defaults write /Library/Preferences/com.apple.commerce AutoUpdate -bool true' >&2For unset:
/usr/bin/defaults delete /Library/Preferences/com.apple.commerce AutoUpdate 2>/dev/null || trueAirDrop & Continuity
Section titled “AirDrop & Continuity”AirDrop
Section titled “AirDrop”System Settings › General › AirDrop & Continuity › AirDrop
applications.systemSettings.general.airDropAndContinuity.airDrop = "Contacts Only"; One of: "Contacts Only""Everyone""No One" "unset" puts back macOS's default.
Where it's stored and what runs
-
com.apple.sharingdDiscoverableMode
For Contacts Only:
/usr/bin/defaults write com.apple.sharingd DiscoverableMode -string 'Contacts Only' || echo 'nix-plist-manager: failed: /usr/bin/defaults write com.apple.sharingd DiscoverableMode -string '\''Contacts Only'\''' >&2/usr/bin/defaults -currentHost delete com.apple.sharingd DiscoverableMode 2>/dev/null || true/usr/bin/killall sharingd 2>/dev/null || trueFor Everyone:
/usr/bin/defaults write com.apple.sharingd DiscoverableMode -string Everyone || echo 'nix-plist-manager: failed: /usr/bin/defaults write com.apple.sharingd DiscoverableMode -string Everyone' >&2/usr/bin/defaults -currentHost delete com.apple.sharingd DiscoverableMode 2>/dev/null || true/usr/bin/killall sharingd 2>/dev/null || trueFor No One:
/usr/bin/defaults write com.apple.sharingd DiscoverableMode -string Off || echo 'nix-plist-manager: failed: /usr/bin/defaults write com.apple.sharingd DiscoverableMode -string Off' >&2/usr/bin/defaults -currentHost delete com.apple.sharingd DiscoverableMode 2>/dev/null || true/usr/bin/killall sharingd 2>/dev/null || trueFor unset:
/usr/bin/defaults delete com.apple.sharingd DiscoverableMode 2>/dev/null || true/usr/bin/defaults -currentHost delete com.apple.sharingd DiscoverableMode 2>/dev/null || true/usr/bin/killall sharingd 2>/dev/null || trueAirPlay Receiver
Section titled “AirPlay Receiver”System Settings › General › AirDrop & Continuity › AirPlay Receiver
applications.systemSettings.general.airDropAndContinuity.airPlayReceiver = true; true or false "unset" puts back macOS's default.
Where it's stored and what runs
-
com.apple.controlcenterAirplayReceiverEnabled(current host)
For false:
/usr/bin/defaults -currentHost write com.apple.controlcenter AirplayReceiverEnabled -bool false || echo 'nix-plist-manager: failed: /usr/bin/defaults -currentHost write com.apple.controlcenter AirplayReceiverEnabled -bool false' >&2/usr/bin/killall ControlCenter 2>/dev/null || trueFor true:
/usr/bin/defaults -currentHost write com.apple.controlcenter AirplayReceiverEnabled -bool true || echo 'nix-plist-manager: failed: /usr/bin/defaults -currentHost write com.apple.controlcenter AirplayReceiverEnabled -bool true' >&2/usr/bin/killall ControlCenter 2>/dev/null || trueFor unset:
/usr/bin/defaults -currentHost delete com.apple.controlcenter AirplayReceiverEnabled 2>/dev/null || true/usr/bin/killall ControlCenter 2>/dev/null || trueAllow Handoff between this Mac and your iCloud devices
Section titled “Allow Handoff between this Mac and your iCloud devices”System Settings › General › AirDrop & Continuity › Allow Handoff between this Mac and your iCloud devices
applications.systemSettings.general.airDropAndContinuity.allowHandoffBetweenThisMacAndYourIcloudDevices = true; true or false "unset" puts back macOS's default.
Where it's stored and what runs
-
com.apple.coreservices.useractivitydActivityAdvertisingAllowed(current host) -
com.apple.coreservices.useractivitydActivityReceivingAllowed(current host)
For false:
/usr/bin/defaults -currentHost write com.apple.coreservices.useractivityd ActivityAdvertisingAllowed -bool false || echo 'nix-plist-manager: failed: /usr/bin/defaults -currentHost write com.apple.coreservices.useractivityd ActivityAdvertisingAllowed -bool false' >&2/usr/bin/defaults -currentHost write com.apple.coreservices.useractivityd ActivityReceivingAllowed -bool false || echo 'nix-plist-manager: failed: /usr/bin/defaults -currentHost write com.apple.coreservices.useractivityd ActivityReceivingAllowed -bool false' >&2For true:
/usr/bin/defaults -currentHost write com.apple.coreservices.useractivityd ActivityAdvertisingAllowed -bool true || echo 'nix-plist-manager: failed: /usr/bin/defaults -currentHost write com.apple.coreservices.useractivityd ActivityAdvertisingAllowed -bool true' >&2/usr/bin/defaults -currentHost write com.apple.coreservices.useractivityd ActivityReceivingAllowed -bool true || echo 'nix-plist-manager: failed: /usr/bin/defaults -currentHost write com.apple.coreservices.useractivityd ActivityReceivingAllowed -bool true' >&2For unset:
/usr/bin/defaults -currentHost delete com.apple.coreservices.useractivityd ActivityAdvertisingAllowed 2>/dev/null || true/usr/bin/defaults -currentHost delete com.apple.coreservices.useractivityd ActivityReceivingAllowed 2>/dev/null || trueiPhone Widgets
Section titled “iPhone Widgets”System Settings › General › AirDrop & Continuity › iPhone Widgets
applications.systemSettings.general.airDropAndContinuity.iPhoneWidgets = true; true or false "unset" puts back macOS's default.
Where it's stored and what runs
-
com.apple.chronodremoteWidgetsEnabled
For false:
/usr/bin/defaults write com.apple.chronod remoteWidgetsEnabled -bool false || echo 'nix-plist-manager: failed: /usr/bin/defaults write com.apple.chronod remoteWidgetsEnabled -bool false' >&2/usr/bin/defaults -currentHost delete com.apple.chronod remoteWidgetsEnabled 2>/dev/null || true/usr/bin/killall chronod 2>/dev/null || trueFor true:
/usr/bin/defaults write com.apple.chronod remoteWidgetsEnabled -bool true || echo 'nix-plist-manager: failed: /usr/bin/defaults write com.apple.chronod remoteWidgetsEnabled -bool true' >&2/usr/bin/defaults -currentHost delete com.apple.chronod remoteWidgetsEnabled 2>/dev/null || true/usr/bin/killall chronod 2>/dev/null || trueFor unset:
/usr/bin/defaults delete com.apple.chronod remoteWidgetsEnabled 2>/dev/null || true/usr/bin/defaults -currentHost delete com.apple.chronod remoteWidgetsEnabled 2>/dev/null || true/usr/bin/killall chronod 2>/dev/null || trueAutoFill & Passwords
Section titled “AutoFill & Passwords”AutoFill from › Passwords
Section titled “AutoFill from › Passwords”System Settings › General › AutoFill & Passwords › AutoFill from › Passwords
applications.systemSettings.general.autoFillAndPasswords.autoFillFromPasswords = true; true or false "unset" puts back macOS's default.
Where it's stored and what runs
-
com.apple.SafariAutoFillFromiCloudKeychain
For false:
/usr/bin/defaults write com.apple.Safari AutoFillFromiCloudKeychain -bool false || echo 'nix-plist-manager: failed: /usr/bin/defaults write com.apple.Safari AutoFillFromiCloudKeychain -bool false' >&2/usr/bin/defaults -currentHost delete com.apple.Safari AutoFillFromiCloudKeychain 2>/dev/null || trueFor true:
/usr/bin/defaults write com.apple.Safari AutoFillFromiCloudKeychain -bool true || echo 'nix-plist-manager: failed: /usr/bin/defaults write com.apple.Safari AutoFillFromiCloudKeychain -bool true' >&2/usr/bin/defaults -currentHost delete com.apple.Safari AutoFillFromiCloudKeychain 2>/dev/null || trueFor unset:
/usr/bin/defaults delete com.apple.Safari AutoFillFromiCloudKeychain 2>/dev/null || true/usr/bin/defaults -currentHost delete com.apple.Safari AutoFillFromiCloudKeychain 2>/dev/null || trueAutoFill Passwords and Passkeys
Section titled “AutoFill Passwords and Passkeys”System Settings › General › AutoFill & Passwords › AutoFill Passwords and Passkeys
applications.systemSettings.general.autoFillAndPasswords.autoFillPasswordsAndPasskeys = true; true or false "unset" puts back macOS's default.
Where it's stored and what runs
-
com.apple.SafariAutoFillPasswords
For false:
/usr/bin/defaults write com.apple.Safari AutoFillPasswords -bool false || echo 'nix-plist-manager: failed: /usr/bin/defaults write com.apple.Safari AutoFillPasswords -bool false' >&2/usr/bin/defaults -currentHost delete com.apple.Safari AutoFillPasswords 2>/dev/null || trueFor true:
/usr/bin/defaults write com.apple.Safari AutoFillPasswords -bool true || echo 'nix-plist-manager: failed: /usr/bin/defaults write com.apple.Safari AutoFillPasswords -bool true' >&2/usr/bin/defaults -currentHost delete com.apple.Safari AutoFillPasswords 2>/dev/null || trueFor unset:
/usr/bin/defaults delete com.apple.Safari AutoFillPasswords 2>/dev/null || true/usr/bin/defaults -currentHost delete com.apple.Safari AutoFillPasswords 2>/dev/null || trueVerification Codes › Delete After Use
Section titled “Verification Codes › Delete After Use”System Settings › General › AutoFill & Passwords › Verification Codes › Delete After Use
applications.systemSettings.general.autoFillAndPasswords.deleteVerificationCodesAfterUse = true; true or false "unset" puts back macOS's default.
Where it's stored and what runs
-
com.apple.onetimepasscodesDeleteVerificationCodes -
com.apple.MobileSMSDeleteVerificationCodes
For false:
/usr/bin/defaults write com.apple.onetimepasscodes DeleteVerificationCodes -bool false || echo 'nix-plist-manager: failed: /usr/bin/defaults write com.apple.onetimepasscodes DeleteVerificationCodes -bool false' >&2/usr/bin/defaults write com.apple.MobileSMS DeleteVerificationCodes -bool false || echo 'nix-plist-manager: failed: /usr/bin/defaults write com.apple.MobileSMS DeleteVerificationCodes -bool false' >&2/usr/bin/defaults -currentHost delete com.apple.onetimepasscodes DeleteVerificationCodes 2>/dev/null || true/usr/bin/defaults -currentHost delete com.apple.MobileSMS DeleteVerificationCodes 2>/dev/null || trueFor true:
/usr/bin/defaults write com.apple.onetimepasscodes DeleteVerificationCodes -bool true || echo 'nix-plist-manager: failed: /usr/bin/defaults write com.apple.onetimepasscodes DeleteVerificationCodes -bool true' >&2/usr/bin/defaults write com.apple.MobileSMS DeleteVerificationCodes -bool true || echo 'nix-plist-manager: failed: /usr/bin/defaults write com.apple.MobileSMS DeleteVerificationCodes -bool true' >&2/usr/bin/defaults -currentHost delete com.apple.onetimepasscodes DeleteVerificationCodes 2>/dev/null || true/usr/bin/defaults -currentHost delete com.apple.MobileSMS DeleteVerificationCodes 2>/dev/null || trueFor unset:
/usr/bin/defaults delete com.apple.onetimepasscodes DeleteVerificationCodes 2>/dev/null || true/usr/bin/defaults delete com.apple.MobileSMS DeleteVerificationCodes 2>/dev/null || true/usr/bin/defaults -currentHost delete com.apple.onetimepasscodes DeleteVerificationCodes 2>/dev/null || true/usr/bin/defaults -currentHost delete com.apple.MobileSMS DeleteVerificationCodes 2>/dev/null || trueDate & Time
Section titled “Date & Time”24-hour time
Section titled “24-hour time”System Settings › General › Date & Time › 24-hour time
applications.systemSettings.general.dateAndTime.24HourTime = true; true or false "unset" puts back macOS's default.
Where it's stored and what runs
-
NSGlobalDomainAppleICUForce12HourTime -
NSGlobalDomainAppleICUForce24HourTime
For false:
/usr/bin/defaults write NSGlobalDomain AppleICUForce12HourTime -bool true || echo 'nix-plist-manager: failed: /usr/bin/defaults write NSGlobalDomain AppleICUForce12HourTime -bool true' >&2/usr/bin/defaults write NSGlobalDomain AppleICUForce24HourTime -bool false || echo 'nix-plist-manager: failed: /usr/bin/defaults write NSGlobalDomain AppleICUForce24HourTime -bool false' >&2/usr/bin/defaults -currentHost delete NSGlobalDomain AppleICUForce12HourTime 2>/dev/null || true/usr/bin/defaults -currentHost delete NSGlobalDomain AppleICUForce24HourTime 2>/dev/null || trueFor true:
/usr/bin/defaults write NSGlobalDomain AppleICUForce12HourTime -bool false || echo 'nix-plist-manager: failed: /usr/bin/defaults write NSGlobalDomain AppleICUForce12HourTime -bool false' >&2/usr/bin/defaults write NSGlobalDomain AppleICUForce24HourTime -bool true || echo 'nix-plist-manager: failed: /usr/bin/defaults write NSGlobalDomain AppleICUForce24HourTime -bool true' >&2/usr/bin/defaults -currentHost delete NSGlobalDomain AppleICUForce12HourTime 2>/dev/null || true/usr/bin/defaults -currentHost delete NSGlobalDomain AppleICUForce24HourTime 2>/dev/null || trueFor unset:
/usr/bin/defaults delete NSGlobalDomain AppleICUForce12HourTime 2>/dev/null || true/usr/bin/defaults delete NSGlobalDomain AppleICUForce24HourTime 2>/dev/null || true/usr/bin/defaults -currentHost delete NSGlobalDomain AppleICUForce12HourTime 2>/dev/null || true/usr/bin/defaults -currentHost delete NSGlobalDomain AppleICUForce24HourTime 2>/dev/null || trueSet time and date automatically
Section titled “Set time and date automatically”System Settings › General › Date & Time › Set time and date automatically
applications.systemSettings.general.dateAndTime.setTimeAndDateAutomatically = true; true or false
Where it's stored and what runs
-
/Library/Preferences/com.apple.timedTMAutomaticTimeOnlyEnabled
For false:
/usr/sbin/systemsetup -setusingnetworktime off >/dev/null 2>&1 || echo 'nix-plist-manager: failed: systemsetup -setusingnetworktime off' >&2For true:
/usr/sbin/systemsetup -setusingnetworktime on >/dev/null 2>&1 || echo 'nix-plist-manager: failed: systemsetup -setusingnetworktime on' >&2Set time zone automatically using your current location
Section titled “Set time zone automatically using your current location”System Settings › General › Date & Time › Set time zone automatically using your current location
applications.systemSettings.general.dateAndTime.setTimeZoneAutomaticallyUsingYourCurrentLocation = true; true or false "unset" puts back macOS's default.
Where it's stored and what runs
-
/Library/Preferences/com.apple.timezone.autoActive
For false:
/usr/bin/defaults write /Library/Preferences/com.apple.timezone.auto Active -bool false || echo 'nix-plist-manager: failed: /usr/bin/defaults write /Library/Preferences/com.apple.timezone.auto Active -bool false' >&2For true:
/usr/bin/defaults write /Library/Preferences/com.apple.timezone.auto Active -bool true || echo 'nix-plist-manager: failed: /usr/bin/defaults write /Library/Preferences/com.apple.timezone.auto Active -bool true' >&2For unset:
/usr/bin/defaults delete /Library/Preferences/com.apple.timezone.auto Active 2>/dev/null || trueSource
Section titled “Source”System Settings › General › Date & Time › Source
The network time server, e.g. "time.apple.com".
applications.systemSettings.general.dateAndTime.source = "…";Text
Where it's stored and what runs
For …:
/usr/sbin/systemsetup -setnetworktimeserver '…' >/dev/null 2>&1 || echo 'nix-plist-manager: failed: systemsetup -setnetworktimeserver '\''…'\''' >&2Time zone
Section titled “Time zone”System Settings › General › Date & Time › Time zone
A time zone from systemsetup -listtimezones, e.g. "Europe/Amsterdam".
applications.systemSettings.general.dateAndTime.timeZone = "…";Text
Where it's stored and what runs
For …:
/usr/sbin/systemsetup -settimezone '…' >/dev/null 2>&1 || echo 'nix-plist-manager: failed: systemsetup -settimezone '\''…'\''' >&2Language & Region
Section titled “Language & Region”Applications
Section titled “Applications”System Settings › General › Language & Region › Applications
Languages for single apps, by bundle identifier, most preferred first, e.g. { "com.spotify.client" = [ "nl" ]; }. An empty list makes the app follow the system again. Apps left out are left as they are.
applications.systemSettings.general.languageAndRegion.applications = { "com.example.app" = [ "nl" ];};Per app, by bundle identifier (see the example)
Where it's stored and what runs
-
~/Library/Preferences/<application>AppleLanguages
For { com.example.app = ["nl"]; }:
/usr/bin/defaults write com.example.app AppleLanguages -array -string nlDate format
Section titled “Date format”System Settings › General › Language & Region › Date format
applications.systemSettings.general.languageAndRegion.dateFormat = "19-08-2026"; One of: "19-08-2026""19.08.2026""19/08/2026""19/8/26""2026-08-19""2026.08.19""2026/8/19""8/19/2026""8/19/26" "unset" puts back macOS's default.
Where it's stored and what runs
-
NSGlobalDomainAppleICUDateFormatStrings
For 19-08-2026:
/usr/bin/defaults write NSGlobalDomain AppleICUDateFormatStrings -dict 1 -string dd-MM-y || echo 'nix-plist-manager: failed: /usr/bin/defaults write NSGlobalDomain AppleICUDateFormatStrings -dict 1 -string dd-MM-y' >&2/usr/bin/defaults -currentHost delete NSGlobalDomain AppleICUDateFormatStrings 2>/dev/null || trueFor 19.08.2026:
/usr/bin/defaults write NSGlobalDomain AppleICUDateFormatStrings -dict 1 -string dd.MM.y || echo 'nix-plist-manager: failed: /usr/bin/defaults write NSGlobalDomain AppleICUDateFormatStrings -dict 1 -string dd.MM.y' >&2/usr/bin/defaults -currentHost delete NSGlobalDomain AppleICUDateFormatStrings 2>/dev/null || trueFor 19/08/2026:
/usr/bin/defaults write NSGlobalDomain AppleICUDateFormatStrings -dict 1 -string dd/MM/y || echo 'nix-plist-manager: failed: /usr/bin/defaults write NSGlobalDomain AppleICUDateFormatStrings -dict 1 -string dd/MM/y' >&2/usr/bin/defaults -currentHost delete NSGlobalDomain AppleICUDateFormatStrings 2>/dev/null || trueFor 19/8/26:
/usr/bin/defaults write NSGlobalDomain AppleICUDateFormatStrings -dict 1 -string d/M/yy || echo 'nix-plist-manager: failed: /usr/bin/defaults write NSGlobalDomain AppleICUDateFormatStrings -dict 1 -string d/M/yy' >&2/usr/bin/defaults -currentHost delete NSGlobalDomain AppleICUDateFormatStrings 2>/dev/null || trueFor 2026-08-19:
/usr/bin/defaults write NSGlobalDomain AppleICUDateFormatStrings -dict 1 -string y-MM-dd || echo 'nix-plist-manager: failed: /usr/bin/defaults write NSGlobalDomain AppleICUDateFormatStrings -dict 1 -string y-MM-dd' >&2/usr/bin/defaults -currentHost delete NSGlobalDomain AppleICUDateFormatStrings 2>/dev/null || trueFor 2026.08.19:
/usr/bin/defaults write NSGlobalDomain AppleICUDateFormatStrings -dict 1 -string y.MM.dd || echo 'nix-plist-manager: failed: /usr/bin/defaults write NSGlobalDomain AppleICUDateFormatStrings -dict 1 -string y.MM.dd' >&2/usr/bin/defaults -currentHost delete NSGlobalDomain AppleICUDateFormatStrings 2>/dev/null || trueFor 2026/8/19:
/usr/bin/defaults write NSGlobalDomain AppleICUDateFormatStrings -dict 1 -string y/M/d || echo 'nix-plist-manager: failed: /usr/bin/defaults write NSGlobalDomain AppleICUDateFormatStrings -dict 1 -string y/M/d' >&2/usr/bin/defaults -currentHost delete NSGlobalDomain AppleICUDateFormatStrings 2>/dev/null || trueFor 8/19/2026:
/usr/bin/defaults write NSGlobalDomain AppleICUDateFormatStrings -dict 1 -string M/d/y || echo 'nix-plist-manager: failed: /usr/bin/defaults write NSGlobalDomain AppleICUDateFormatStrings -dict 1 -string M/d/y' >&2/usr/bin/defaults -currentHost delete NSGlobalDomain AppleICUDateFormatStrings 2>/dev/null || trueFor 8/19/26:
/usr/bin/defaults write NSGlobalDomain AppleICUDateFormatStrings -dict 1 -string M/d/yy || echo 'nix-plist-manager: failed: /usr/bin/defaults write NSGlobalDomain AppleICUDateFormatStrings -dict 1 -string M/d/yy' >&2/usr/bin/defaults -currentHost delete NSGlobalDomain AppleICUDateFormatStrings 2>/dev/null || trueFor unset:
/usr/bin/defaults delete NSGlobalDomain AppleICUDateFormatStrings 2>/dev/null || true/usr/bin/defaults -currentHost delete NSGlobalDomain AppleICUDateFormatStrings 2>/dev/null || trueFirst day of week
Section titled “First day of week”System Settings › General › Language & Region › First day of week
applications.systemSettings.general.languageAndRegion.firstDayOfWeek = "Friday"; One of: "Friday""Monday""Saturday""Sunday""Thursday""Tuesday""Wednesday" "unset" puts back macOS's default.
Where it's stored and what runs
-
NSGlobalDomainAppleFirstWeekday
For Friday:
/usr/bin/defaults write NSGlobalDomain AppleFirstWeekday -dict gregorian -int 6 || echo 'nix-plist-manager: failed: /usr/bin/defaults write NSGlobalDomain AppleFirstWeekday -dict gregorian -int 6' >&2/usr/bin/defaults -currentHost delete NSGlobalDomain AppleFirstWeekday 2>/dev/null || trueFor Monday:
/usr/bin/defaults write NSGlobalDomain AppleFirstWeekday -dict gregorian -int 2 || echo 'nix-plist-manager: failed: /usr/bin/defaults write NSGlobalDomain AppleFirstWeekday -dict gregorian -int 2' >&2/usr/bin/defaults -currentHost delete NSGlobalDomain AppleFirstWeekday 2>/dev/null || trueFor Saturday:
/usr/bin/defaults write NSGlobalDomain AppleFirstWeekday -dict gregorian -int 7 || echo 'nix-plist-manager: failed: /usr/bin/defaults write NSGlobalDomain AppleFirstWeekday -dict gregorian -int 7' >&2/usr/bin/defaults -currentHost delete NSGlobalDomain AppleFirstWeekday 2>/dev/null || trueFor Sunday:
/usr/bin/defaults write NSGlobalDomain AppleFirstWeekday -dict gregorian -int 1 || echo 'nix-plist-manager: failed: /usr/bin/defaults write NSGlobalDomain AppleFirstWeekday -dict gregorian -int 1' >&2/usr/bin/defaults -currentHost delete NSGlobalDomain AppleFirstWeekday 2>/dev/null || trueFor Thursday:
/usr/bin/defaults write NSGlobalDomain AppleFirstWeekday -dict gregorian -int 5 || echo 'nix-plist-manager: failed: /usr/bin/defaults write NSGlobalDomain AppleFirstWeekday -dict gregorian -int 5' >&2/usr/bin/defaults -currentHost delete NSGlobalDomain AppleFirstWeekday 2>/dev/null || trueFor Tuesday:
/usr/bin/defaults write NSGlobalDomain AppleFirstWeekday -dict gregorian -int 3 || echo 'nix-plist-manager: failed: /usr/bin/defaults write NSGlobalDomain AppleFirstWeekday -dict gregorian -int 3' >&2/usr/bin/defaults -currentHost delete NSGlobalDomain AppleFirstWeekday 2>/dev/null || trueFor Wednesday:
/usr/bin/defaults write NSGlobalDomain AppleFirstWeekday -dict gregorian -int 4 || echo 'nix-plist-manager: failed: /usr/bin/defaults write NSGlobalDomain AppleFirstWeekday -dict gregorian -int 4' >&2/usr/bin/defaults -currentHost delete NSGlobalDomain AppleFirstWeekday 2>/dev/null || trueFor unset:
/usr/bin/defaults delete NSGlobalDomain AppleFirstWeekday 2>/dev/null || true/usr/bin/defaults -currentHost delete NSGlobalDomain AppleFirstWeekday 2>/dev/null || trueLive Text
Section titled “Live Text”System Settings › General › Language & Region › Live Text
applications.systemSettings.general.languageAndRegion.liveText = true; true or false "unset" puts back macOS's default.
Where it's stored and what runs
-
NSGlobalDomainAppleLiveTextEnabled
For false:
/usr/bin/defaults write NSGlobalDomain AppleLiveTextEnabled -bool false || echo 'nix-plist-manager: failed: /usr/bin/defaults write NSGlobalDomain AppleLiveTextEnabled -bool false' >&2/usr/bin/defaults -currentHost delete NSGlobalDomain AppleLiveTextEnabled 2>/dev/null || trueFor true:
/usr/bin/defaults write NSGlobalDomain AppleLiveTextEnabled -bool true || echo 'nix-plist-manager: failed: /usr/bin/defaults write NSGlobalDomain AppleLiveTextEnabled -bool true' >&2/usr/bin/defaults -currentHost delete NSGlobalDomain AppleLiveTextEnabled 2>/dev/null || trueFor unset:
/usr/bin/defaults delete NSGlobalDomain AppleLiveTextEnabled 2>/dev/null || true/usr/bin/defaults -currentHost delete NSGlobalDomain AppleLiveTextEnabled 2>/dev/null || trueMeasurement system
Section titled “Measurement system”System Settings › General › Language & Region › Measurement system
applications.systemSettings.general.languageAndRegion.measurementSystem = "Metric"; One of: "Metric""UK""US" "unset" puts back macOS's default.
Where it's stored and what runs
-
NSGlobalDomainAppleMetricUnits -
NSGlobalDomainAppleMeasurementUnits
For Metric:
/usr/bin/defaults write NSGlobalDomain AppleMetricUnits -bool true || echo 'nix-plist-manager: failed: /usr/bin/defaults write NSGlobalDomain AppleMetricUnits -bool true' >&2/usr/bin/defaults write NSGlobalDomain AppleMeasurementUnits -string Centimeters || echo 'nix-plist-manager: failed: /usr/bin/defaults write NSGlobalDomain AppleMeasurementUnits -string Centimeters' >&2/usr/bin/defaults -currentHost delete NSGlobalDomain AppleMetricUnits 2>/dev/null || true/usr/bin/defaults -currentHost delete NSGlobalDomain AppleMeasurementUnits 2>/dev/null || trueFor UK:
/usr/bin/defaults write NSGlobalDomain AppleMetricUnits -bool true || echo 'nix-plist-manager: failed: /usr/bin/defaults write NSGlobalDomain AppleMetricUnits -bool true' >&2/usr/bin/defaults write NSGlobalDomain AppleMeasurementUnits -string Inches || echo 'nix-plist-manager: failed: /usr/bin/defaults write NSGlobalDomain AppleMeasurementUnits -string Inches' >&2/usr/bin/defaults -currentHost delete NSGlobalDomain AppleMetricUnits 2>/dev/null || true/usr/bin/defaults -currentHost delete NSGlobalDomain AppleMeasurementUnits 2>/dev/null || trueFor US:
/usr/bin/defaults write NSGlobalDomain AppleMetricUnits -bool false || echo 'nix-plist-manager: failed: /usr/bin/defaults write NSGlobalDomain AppleMetricUnits -bool false' >&2/usr/bin/defaults write NSGlobalDomain AppleMeasurementUnits -string Inches || echo 'nix-plist-manager: failed: /usr/bin/defaults write NSGlobalDomain AppleMeasurementUnits -string Inches' >&2/usr/bin/defaults -currentHost delete NSGlobalDomain AppleMetricUnits 2>/dev/null || true/usr/bin/defaults -currentHost delete NSGlobalDomain AppleMeasurementUnits 2>/dev/null || trueFor unset:
/usr/bin/defaults delete NSGlobalDomain AppleMetricUnits 2>/dev/null || true/usr/bin/defaults delete NSGlobalDomain AppleMeasurementUnits 2>/dev/null || true/usr/bin/defaults -currentHost delete NSGlobalDomain AppleMetricUnits 2>/dev/null || true/usr/bin/defaults -currentHost delete NSGlobalDomain AppleMeasurementUnits 2>/dev/null || trueNumber format
Section titled “Number format”System Settings › General › Language & Region › Number format
applications.systemSettings.general.languageAndRegion.numberFormat = "1 234 567,89"; One of: "1 234 567,89""1 234 567.89""1,234,567.89""1.234.567,89" "unset" puts back macOS's default.
Where it's stored and what runs
-
NSGlobalDomainAppleICUNumberSymbols
For 1 234 567,89:
/usr/bin/defaults write NSGlobalDomain AppleICUNumberSymbols -dict 0 -string , 1 -string ' ' 10 -string , 17 -string ' ' || echo 'nix-plist-manager: failed: /usr/bin/defaults write NSGlobalDomain AppleICUNumberSymbols -dict 0 -string , 1 -string '\'' '\'' 10 -string , 17 -string '\'' '\''' >&2/usr/bin/defaults -currentHost delete NSGlobalDomain AppleICUNumberSymbols 2>/dev/null || trueFor 1 234 567.89:
/usr/bin/defaults write NSGlobalDomain AppleICUNumberSymbols -dict 0 -string . 1 -string ' ' 10 -string . 17 -string ' ' || echo 'nix-plist-manager: failed: /usr/bin/defaults write NSGlobalDomain AppleICUNumberSymbols -dict 0 -string . 1 -string '\'' '\'' 10 -string . 17 -string '\'' '\''' >&2/usr/bin/defaults -currentHost delete NSGlobalDomain AppleICUNumberSymbols 2>/dev/null || trueFor 1,234,567.89:
/usr/bin/defaults write NSGlobalDomain AppleICUNumberSymbols -dict 0 -string . 1 -string , 10 -string . 17 -string , || echo 'nix-plist-manager: failed: /usr/bin/defaults write NSGlobalDomain AppleICUNumberSymbols -dict 0 -string . 1 -string , 10 -string . 17 -string ,' >&2/usr/bin/defaults -currentHost delete NSGlobalDomain AppleICUNumberSymbols 2>/dev/null || trueFor 1.234.567,89:
/usr/bin/defaults write NSGlobalDomain AppleICUNumberSymbols -dict 0 -string , 1 -string . 10 -string , 17 -string . || echo 'nix-plist-manager: failed: /usr/bin/defaults write NSGlobalDomain AppleICUNumberSymbols -dict 0 -string , 1 -string . 10 -string , 17 -string .' >&2/usr/bin/defaults -currentHost delete NSGlobalDomain AppleICUNumberSymbols 2>/dev/null || trueFor unset:
/usr/bin/defaults delete NSGlobalDomain AppleICUNumberSymbols 2>/dev/null || true/usr/bin/defaults -currentHost delete NSGlobalDomain AppleICUNumberSymbols 2>/dev/null || truePreferred Languages
Section titled “Preferred Languages”System Settings › General › Language & Region › Preferred Languages
Language tags in order of preference, the first being the primary language, e.g. [ "en-US" "nl-NL" ].
applications.systemSettings.general.languageAndRegion.preferredLanguages = [ "…"]; A list of strings "unset" puts back macOS's default.
Where it's stored and what runs
-
NSGlobalDomainAppleLanguages
For ["…"]:
/usr/bin/defaults write NSGlobalDomain AppleLanguages -array -string '…' || echo 'nix-plist-manager: failed: /usr/bin/defaults write NSGlobalDomain AppleLanguages -array -string '\''…'\''' >&2/usr/bin/defaults -currentHost delete NSGlobalDomain AppleLanguages 2>/dev/null || trueFor unset:
/usr/bin/defaults delete NSGlobalDomain AppleLanguages 2>/dev/null || true/usr/bin/defaults -currentHost delete NSGlobalDomain AppleLanguages 2>/dev/null || trueRegion
Section titled “Region”System Settings › General › Language & Region › Region
The locale: the primary language, the region, and optionally the calendar, e.g. "en_NL", "en_US@rg=nlzzzz" (US English with the formats of the Netherlands) or "en_NL@calendar=japanese".
applications.systemSettings.general.languageAndRegion.region = "…"; Text "unset" puts back macOS's default.
Where it's stored and what runs
-
NSGlobalDomainAppleLocale
For unset:
/usr/bin/defaults delete NSGlobalDomain AppleLocale 2>/dev/null || true/usr/bin/defaults -currentHost delete NSGlobalDomain AppleLocale 2>/dev/null || trueFor …:
/usr/bin/defaults write NSGlobalDomain AppleLocale -string '…' || echo 'nix-plist-manager: failed: /usr/bin/defaults write NSGlobalDomain AppleLocale -string '\''…'\''' >&2/usr/bin/defaults -currentHost delete NSGlobalDomain AppleLocale 2>/dev/null || trueTemperature
Section titled “Temperature”System Settings › General › Language & Region › Temperature
applications.systemSettings.general.languageAndRegion.temperature = "Celsius (°C)"; One of: "Celsius (°C)""Fahrenheit (°F)" "unset" puts back macOS's default.
Where it's stored and what runs
-
NSGlobalDomainAppleTemperatureUnit
For Celsius (°C):
/usr/bin/defaults write NSGlobalDomain AppleTemperatureUnit -string Celsius || echo 'nix-plist-manager: failed: /usr/bin/defaults write NSGlobalDomain AppleTemperatureUnit -string Celsius' >&2/usr/bin/defaults -currentHost delete NSGlobalDomain AppleTemperatureUnit 2>/dev/null || trueFor Fahrenheit (°F):
/usr/bin/defaults write NSGlobalDomain AppleTemperatureUnit -string Fahrenheit || echo 'nix-plist-manager: failed: /usr/bin/defaults write NSGlobalDomain AppleTemperatureUnit -string Fahrenheit' >&2/usr/bin/defaults -currentHost delete NSGlobalDomain AppleTemperatureUnit 2>/dev/null || trueFor unset:
/usr/bin/defaults delete NSGlobalDomain AppleTemperatureUnit 2>/dev/null || true/usr/bin/defaults -currentHost delete NSGlobalDomain AppleTemperatureUnit 2>/dev/null || trueSharing
Section titled “Sharing”Bluetooth Sharing
Section titled “Bluetooth Sharing”System Settings › General › Sharing › Bluetooth Sharing
applications.systemSettings.general.sharing.bluetoothSharing.enable = true; true or false "unset" puts back macOS's default.
Where it's stored and what runs
-
com.apple.BluetoothPrefKeyServicesEnabled(current host)
For false:
/usr/bin/defaults -currentHost write com.apple.Bluetooth PrefKeyServicesEnabled -bool false || echo 'nix-plist-manager: failed: /usr/bin/defaults -currentHost write com.apple.Bluetooth PrefKeyServicesEnabled -bool false' >&2/usr/bin/killall sharingd 2>/dev/null || trueFor true:
/usr/bin/defaults -currentHost write com.apple.Bluetooth PrefKeyServicesEnabled -bool true || echo 'nix-plist-manager: failed: /usr/bin/defaults -currentHost write com.apple.Bluetooth PrefKeyServicesEnabled -bool true' >&2/usr/bin/killall sharingd 2>/dev/null || trueFor unset:
/usr/bin/defaults -currentHost delete com.apple.Bluetooth PrefKeyServicesEnabled 2>/dev/null || true/usr/bin/killall sharingd 2>/dev/null || trueBluetooth Sharing (i) › When other devices browse
Section titled “Bluetooth Sharing (i) › When other devices browse”System Settings › General › Sharing › Bluetooth Sharing (i) › When other devices browse
applications.systemSettings.general.sharing.bluetoothSharing.whenOtherDevicesBrowse = "Accept and Save"; One of: "Accept and Save""Ask What to Do""Never Allow" "unset" puts back macOS's default.
Where it's stored and what runs
-
com.apple.BluetoothOBEXBrowseConnectionHandling(current host)
For Accept and Save:
/usr/bin/defaults -currentHost write com.apple.Bluetooth OBEXBrowseConnectionHandling -int 0 || echo 'nix-plist-manager: failed: /usr/bin/defaults -currentHost write com.apple.Bluetooth OBEXBrowseConnectionHandling -int 0' >&2/usr/bin/killall sharingd 2>/dev/null || trueFor Ask What to Do:
/usr/bin/defaults -currentHost write com.apple.Bluetooth OBEXBrowseConnectionHandling -int 1 || echo 'nix-plist-manager: failed: /usr/bin/defaults -currentHost write com.apple.Bluetooth OBEXBrowseConnectionHandling -int 1' >&2/usr/bin/killall sharingd 2>/dev/null || trueFor Never Allow:
/usr/bin/defaults -currentHost write com.apple.Bluetooth OBEXBrowseConnectionHandling -int 2 || echo 'nix-plist-manager: failed: /usr/bin/defaults -currentHost write com.apple.Bluetooth OBEXBrowseConnectionHandling -int 2' >&2/usr/bin/killall sharingd 2>/dev/null || trueFor unset:
/usr/bin/defaults -currentHost delete com.apple.Bluetooth OBEXBrowseConnectionHandling 2>/dev/null || true/usr/bin/killall sharingd 2>/dev/null || trueBluetooth Sharing (i) › When receiving items
Section titled “Bluetooth Sharing (i) › When receiving items”System Settings › General › Sharing › Bluetooth Sharing (i) › When receiving items
applications.systemSettings.general.sharing.bluetoothSharing.whenReceivingItems = "Accept and Open"; One of: "Accept and Open""Accept and Save""Ask What to Do""Never Allow" "unset" puts back macOS's default.
Where it's stored and what runs
-
com.apple.BluetoothOBEXFileHandling(current host) -
com.apple.BluetoothOBEXOtherDataDisposition(current host)
For Accept and Open:
/usr/bin/defaults -currentHost write com.apple.Bluetooth OBEXFileHandling -int 0 || echo 'nix-plist-manager: failed: /usr/bin/defaults -currentHost write com.apple.Bluetooth OBEXFileHandling -int 0' >&2/usr/bin/defaults -currentHost write com.apple.Bluetooth OBEXOtherDataDisposition -int 1 || echo 'nix-plist-manager: failed: /usr/bin/defaults -currentHost write com.apple.Bluetooth OBEXOtherDataDisposition -int 1' >&2/usr/bin/killall sharingd 2>/dev/null || trueFor Accept and Save:
/usr/bin/defaults -currentHost write com.apple.Bluetooth OBEXFileHandling -int 0 || echo 'nix-plist-manager: failed: /usr/bin/defaults -currentHost write com.apple.Bluetooth OBEXFileHandling -int 0' >&2/usr/bin/defaults -currentHost write com.apple.Bluetooth OBEXOtherDataDisposition -int 0 || echo 'nix-plist-manager: failed: /usr/bin/defaults -currentHost write com.apple.Bluetooth OBEXOtherDataDisposition -int 0' >&2/usr/bin/killall sharingd 2>/dev/null || trueFor Ask What to Do:
/usr/bin/defaults -currentHost write com.apple.Bluetooth OBEXFileHandling -int 1 || echo 'nix-plist-manager: failed: /usr/bin/defaults -currentHost write com.apple.Bluetooth OBEXFileHandling -int 1' >&2/usr/bin/defaults -currentHost write com.apple.Bluetooth OBEXOtherDataDisposition -int 2 || echo 'nix-plist-manager: failed: /usr/bin/defaults -currentHost write com.apple.Bluetooth OBEXOtherDataDisposition -int 2' >&2/usr/bin/killall sharingd 2>/dev/null || trueFor Never Allow:
/usr/bin/defaults -currentHost write com.apple.Bluetooth OBEXFileHandling -int 2 || echo 'nix-plist-manager: failed: /usr/bin/defaults -currentHost write com.apple.Bluetooth OBEXFileHandling -int 2' >&2/usr/bin/killall sharingd 2>/dev/null || trueFor unset:
/usr/bin/defaults -currentHost delete com.apple.Bluetooth OBEXFileHandling 2>/dev/null || true/usr/bin/defaults -currentHost delete com.apple.Bluetooth OBEXOtherDataDisposition 2>/dev/null || true/usr/bin/killall sharingd 2>/dev/null || trueContent Caching
Section titled “Content Caching”System Settings › General › Sharing › Content Caching
applications.systemSettings.general.sharing.contentCaching = true; true or false
Where it's stored and what runs
-
/Library/Preferences/com.apple.AssetCacheActivated
For false:
/usr/bin/AssetCacheManagerUtil deactivate >/dev/null 2>&1 || true; /usr/bin/killall AssetCache 2>/dev/null || trueFor true:
/usr/bin/AssetCacheManagerUtil activate >/dev/null 2>&1 || true; /usr/bin/killall AssetCache 2>/dev/null || trueContent Caching (i) › Cache
Section titled “Content Caching (i) › Cache”System Settings › General › Sharing › Content Caching (i) › Cache
applications.systemSettings.general.sharing.contentCachingOptions.cacheContent = "All Content"; One of: "All Content""Only Shared Content""Only iCloud Content" "unset" puts back macOS's default.
Where it's stored and what runs
-
/Library/Preferences/com.apple.AssetCacheAllowPersonalCaching -
/Library/Preferences/com.apple.AssetCacheAllowSharedCaching
For All Content:
/usr/bin/defaults write /Library/Preferences/com.apple.AssetCache AllowPersonalCaching -bool true || echo 'nix-plist-manager: failed: /usr/bin/defaults write /Library/Preferences/com.apple.AssetCache AllowPersonalCaching -bool true' >&2/usr/bin/defaults write /Library/Preferences/com.apple.AssetCache AllowSharedCaching -bool true || echo 'nix-plist-manager: failed: /usr/bin/defaults write /Library/Preferences/com.apple.AssetCache AllowSharedCaching -bool true' >&2/usr/bin/AssetCacheManagerUtil reloadSettings >/dev/null 2>&1 || trueFor Only Shared Content:
/usr/bin/defaults write /Library/Preferences/com.apple.AssetCache AllowPersonalCaching -bool false || echo 'nix-plist-manager: failed: /usr/bin/defaults write /Library/Preferences/com.apple.AssetCache AllowPersonalCaching -bool false' >&2/usr/bin/defaults write /Library/Preferences/com.apple.AssetCache AllowSharedCaching -bool true || echo 'nix-plist-manager: failed: /usr/bin/defaults write /Library/Preferences/com.apple.AssetCache AllowSharedCaching -bool true' >&2/usr/bin/AssetCacheManagerUtil reloadSettings >/dev/null 2>&1 || trueFor Only iCloud Content:
/usr/bin/defaults write /Library/Preferences/com.apple.AssetCache AllowPersonalCaching -bool true || echo 'nix-plist-manager: failed: /usr/bin/defaults write /Library/Preferences/com.apple.AssetCache AllowPersonalCaching -bool true' >&2/usr/bin/defaults write /Library/Preferences/com.apple.AssetCache AllowSharedCaching -bool false || echo 'nix-plist-manager: failed: /usr/bin/defaults write /Library/Preferences/com.apple.AssetCache AllowSharedCaching -bool false' >&2/usr/bin/AssetCacheManagerUtil reloadSettings >/dev/null 2>&1 || trueFor unset:
/usr/bin/defaults delete /Library/Preferences/com.apple.AssetCache AllowPersonalCaching 2>/dev/null || true/usr/bin/defaults delete /Library/Preferences/com.apple.AssetCache AllowSharedCaching 2>/dev/null || true/usr/bin/AssetCacheManagerUtil reloadSettings >/dev/null 2>&1 || trueContent Caching (i) › Internet Connection
Section titled “Content Caching (i) › Internet Connection”System Settings › General › Sharing › Content Caching (i) › Internet Connection
applications.systemSettings.general.sharing.contentCachingOptions.shareInternetConnection = true; true or false "unset" puts back macOS's default.
Where it's stored and what runs
-
/Library/Preferences/com.apple.AssetCacheAllowTetheredCaching
For false:
/usr/bin/defaults write /Library/Preferences/com.apple.AssetCache AllowTetheredCaching -bool false || echo 'nix-plist-manager: failed: /usr/bin/defaults write /Library/Preferences/com.apple.AssetCache AllowTetheredCaching -bool false' >&2/usr/bin/AssetCacheManagerUtil reloadSettings >/dev/null 2>&1 || trueFor true:
/usr/bin/defaults write /Library/Preferences/com.apple.AssetCache AllowTetheredCaching -bool true || echo 'nix-plist-manager: failed: /usr/bin/defaults write /Library/Preferences/com.apple.AssetCache AllowTetheredCaching -bool true' >&2/usr/bin/AssetCacheManagerUtil reloadSettings >/dev/null 2>&1 || trueFor unset:
/usr/bin/defaults delete /Library/Preferences/com.apple.AssetCache AllowTetheredCaching 2>/dev/null || true/usr/bin/AssetCacheManagerUtil reloadSettings >/dev/null 2>&1 || trueFile Sharing
Section titled “File Sharing”System Settings › General › Sharing › File Sharing
applications.systemSettings.general.sharing.fileSharing = true; true or false
Where it's stored and what runs
For false:
/bin/launchctl bootout system/com.apple.smbd 2>/dev/null || true/bin/launchctl disable system/com.apple.smbdFor true:
/bin/launchctl enable system/com.apple.smbd/bin/launchctl bootstrap system /System/Library/LaunchDaemons/com.apple.smbd.plist 2>/dev/null || trueFile Sharing (i) › Shared Folders
Section titled “File Sharing (i) › Shared Folders”System Settings › General › Sharing › File Sharing (i) › Shared Folders
Folders to share, by path, with the name they're shared under, e.g. { "/Users/me/Public" = "Me’s Public Folder"; }. Folders shared now but not listed stop being shared.
applications.systemSettings.general.sharing.fileSharingOptions.sharedFolders = { "/Users/me/Public" = "Public";};Folders to share: path → name
Where it's stored and what runs
For { /Users/me/Public = "Public"; }:
/usr/sbin/sharing -l | /usr/bin/sed -n 's/^path:[[:space:]]*//p' | while IFS= read -r path; do case "$path" in /Users/me/Public) ;; *) /usr/sbin/sharing -r "$(/usr/sbin/sharing -l | /usr/bin/awk -v p="$path" '/^name:/{sub(/^name:[[:space:]]*/,"");n=$0} /^path:/{sub(/^path:[[:space:]]*/,""); if($0==p) print n}')" ;; esac; done/usr/sbin/sharing -l | /usr/bin/grep -qxF 'path: /Users/me/Public' || /usr/sbin/sharing -a /Users/me/Public -S Public -n PublicMedia Sharing (i) › Share media with guests
Section titled “Media Sharing (i) › Share media with guests”System Settings › General › Sharing › Media Sharing (i) › Share media with guests
applications.systemSettings.general.sharing.mediaSharing.shareMediaWithGuests = true; true or false "unset" puts back macOS's default.
Where it's stored and what runs
-
com.apple.amp.mediasharingdpublic-sharing-enabled
For false:
/usr/bin/defaults write com.apple.amp.mediasharingd public-sharing-enabled -int 0 || echo 'nix-plist-manager: failed: /usr/bin/defaults write com.apple.amp.mediasharingd public-sharing-enabled -int 0' >&2/usr/bin/defaults -currentHost delete com.apple.amp.mediasharingd public-sharing-enabled 2>/dev/null || true/usr/bin/killall mediasharingd 2>/dev/null || trueFor true:
/usr/bin/defaults write com.apple.amp.mediasharingd public-sharing-enabled -int 1 || echo 'nix-plist-manager: failed: /usr/bin/defaults write com.apple.amp.mediasharingd public-sharing-enabled -int 1' >&2/usr/bin/defaults -currentHost delete com.apple.amp.mediasharingd public-sharing-enabled 2>/dev/null || true/usr/bin/killall mediasharingd 2>/dev/null || trueFor unset:
/usr/bin/defaults delete com.apple.amp.mediasharingd public-sharing-enabled 2>/dev/null || true/usr/bin/defaults -currentHost delete com.apple.amp.mediasharingd public-sharing-enabled 2>/dev/null || true/usr/bin/killall mediasharingd 2>/dev/null || truePrinter Sharing
Section titled “Printer Sharing”System Settings › General › Sharing › Printer Sharing
applications.systemSettings.general.sharing.printerSharing = true; true or false
Where it's stored and what runs
For false:
/usr/sbin/cupsctl --no-share-printersFor true:
/usr/sbin/cupsctl --share-printersRemote Application Scripting
Section titled “Remote Application Scripting”System Settings › General › Sharing › Remote Application Scripting
applications.systemSettings.general.sharing.remoteApplicationScripting = true; true or false
Where it's stored and what runs
For false:
/bin/launchctl bootout system/com.apple.AEServer 2>/dev/null || true/bin/launchctl disable system/com.apple.AEServerFor true:
/bin/launchctl enable system/com.apple.AEServer/bin/launchctl bootstrap system /System/Library/LaunchDaemons/com.apple.AEServer.plist 2>/dev/null || trueRemote Application Scripting (i) › Allow access for
Section titled “Remote Application Scripting (i) › Allow access for”System Settings › General › Sharing › Remote Application Scripting (i) › Allow access for
applications.systemSettings.general.sharing.remoteApplicationScriptingOptions.allowAccessFor = "All users"; One of: "All users""Only these users"
Where it's stored and what runs
For All users:
/usr/sbin/dseditgroup -o delete com.apple.access_remote_ae >/dev/null 2>&1 || trueFor Only these users:
/usr/sbin/dseditgroup -o read com.apple.access_remote_ae >/dev/null 2>&1 || { /usr/sbin/dseditgroup -o create -i 400 -r 'Remote Application Scripting' com.apple.access_remote_ae && /usr/sbin/dseditgroup -o edit -a admin -t group com.apple.access_remote_ae; }Remote Management
Section titled “Remote Management”System Settings › General › Sharing › Remote Management
applications.systemSettings.general.sharing.remoteManagement = true; true or false
Where it's stored and what runs
-
/Library/Preferences/com.apple.RemoteManagementallowInsecureDH
For false:
/System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -deactivate -configure -access -off >/dev/nullFor true:
/System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -activate -configure -access -on -privs -all -allowAccessFor -allUsers -restart -agent >/dev/nullRemote Management (i) › Allow access for
Section titled “Remote Management (i) › Allow access for”System Settings › General › Sharing › Remote Management (i) › Allow access for
applications.systemSettings.general.sharing.remoteManagementOptions.allowAccessFor = "All users"; One of: "All users""Only these users" "unset" puts back macOS's default.
Where it's stored and what runs
-
/Library/Preferences/com.apple.RemoteManagementARD_AllLocalUsers
For All users:
/usr/bin/defaults write /Library/Preferences/com.apple.RemoteManagement ARD_AllLocalUsers -bool true || echo 'nix-plist-manager: failed: /usr/bin/defaults write /Library/Preferences/com.apple.RemoteManagement ARD_AllLocalUsers -bool true' >&2For Only these users:
/usr/bin/defaults write /Library/Preferences/com.apple.RemoteManagement ARD_AllLocalUsers -bool false || echo 'nix-plist-manager: failed: /usr/bin/defaults write /Library/Preferences/com.apple.RemoteManagement ARD_AllLocalUsers -bool false' >&2For unset:
/usr/bin/defaults delete /Library/Preferences/com.apple.RemoteManagement ARD_AllLocalUsers 2>/dev/null || trueScreen Sharing
Section titled “Screen Sharing”System Settings › General › Sharing › Screen Sharing
applications.systemSettings.general.sharing.screenSharing = true; true or false
Where it's stored and what runs
For false:
/bin/launchctl bootout system/com.apple.screensharing 2>/dev/null || true/bin/launchctl disable system/com.apple.screensharingFor true:
/bin/launchctl enable system/com.apple.screensharing/bin/launchctl bootstrap system /System/Library/LaunchDaemons/com.apple.screensharing.plist 2>/dev/null || trueScreen Sharing (i) › Allow access for
Section titled “Screen Sharing (i) › Allow access for”System Settings › General › Sharing › Screen Sharing (i) › Allow access for
applications.systemSettings.general.sharing.screenSharingOptions.allowAccessFor = "All users"; One of: "All users""Only these users"
Where it's stored and what runs
For All users:
/usr/sbin/dseditgroup -o delete com.apple.access_screensharing >/dev/null 2>&1 || trueFor Only these users:
/usr/sbin/dseditgroup -o read com.apple.access_screensharing >/dev/null 2>&1 || { /usr/sbin/dseditgroup -o create -i 398 -r 'Screen Sharing' com.apple.access_screensharing && /usr/sbin/dseditgroup -o edit -a admin -t group com.apple.access_screensharing; }Software Update
Section titled “Software Update”Automatic Updates (i) › Download new updates when available
Section titled “Automatic Updates (i) › Download new updates when available”System Settings › General › Software Update › Automatic Updates (i) › Download new updates when available
applications.systemSettings.general.softwareUpdate.automaticallyDownloadNewUpdatesWhenAvailable = true; true or false "unset" puts back macOS's default.
Where it's stored and what runs
-
/Library/Preferences/com.apple.SoftwareUpdateAutomaticDownload
For false:
/usr/bin/defaults write /Library/Preferences/com.apple.SoftwareUpdate AutomaticDownload -bool false || echo 'nix-plist-manager: failed: /usr/bin/defaults write /Library/Preferences/com.apple.SoftwareUpdate AutomaticDownload -bool false' >&2For true:
/usr/bin/defaults write /Library/Preferences/com.apple.SoftwareUpdate AutomaticDownload -bool true || echo 'nix-plist-manager: failed: /usr/bin/defaults write /Library/Preferences/com.apple.SoftwareUpdate AutomaticDownload -bool true' >&2For unset:
/usr/bin/defaults delete /Library/Preferences/com.apple.SoftwareUpdate AutomaticDownload 2>/dev/null || trueAutomatic Updates (i) › Install macOS updates
Section titled “Automatic Updates (i) › Install macOS updates”System Settings › General › Software Update › Automatic Updates (i) › Install macOS updates
applications.systemSettings.general.softwareUpdate.automaticallyInstallMacOSUpdates = true; true or false "unset" puts back macOS's default.
Where it's stored and what runs
-
/Library/Preferences/com.apple.SoftwareUpdateAutomaticallyInstallMacOSUpdates
For false:
/usr/bin/defaults write /Library/Preferences/com.apple.SoftwareUpdate AutomaticallyInstallMacOSUpdates -bool false || echo 'nix-plist-manager: failed: /usr/bin/defaults write /Library/Preferences/com.apple.SoftwareUpdate AutomaticallyInstallMacOSUpdates -bool false' >&2For true:
/usr/bin/defaults write /Library/Preferences/com.apple.SoftwareUpdate AutomaticallyInstallMacOSUpdates -bool true || echo 'nix-plist-manager: failed: /usr/bin/defaults write /Library/Preferences/com.apple.SoftwareUpdate AutomaticallyInstallMacOSUpdates -bool true' >&2For unset:
/usr/bin/defaults delete /Library/Preferences/com.apple.SoftwareUpdate AutomaticallyInstallMacOSUpdates 2>/dev/null || trueAutomatic Updates (i) › Install system data files and security updates
Section titled “Automatic Updates (i) › Install system data files and security updates”System Settings › General › Software Update › Automatic Updates (i) › Install system data files and security updates
applications.systemSettings.general.softwareUpdate.automaticallyInstallSystemDataFilesAndSecurityUpdates = true; true or false "unset" puts back macOS's default.
Where it's stored and what runs
-
/Library/Preferences/com.apple.SoftwareUpdateConfigDataInstall -
/Library/Preferences/com.apple.SoftwareUpdateCriticalUpdateInstall
For false:
/usr/bin/defaults write /Library/Preferences/com.apple.SoftwareUpdate ConfigDataInstall -bool false || echo 'nix-plist-manager: failed: /usr/bin/defaults write /Library/Preferences/com.apple.SoftwareUpdate ConfigDataInstall -bool false' >&2/usr/bin/defaults write /Library/Preferences/com.apple.SoftwareUpdate CriticalUpdateInstall -bool false || echo 'nix-plist-manager: failed: /usr/bin/defaults write /Library/Preferences/com.apple.SoftwareUpdate CriticalUpdateInstall -bool false' >&2For true:
/usr/bin/defaults write /Library/Preferences/com.apple.SoftwareUpdate ConfigDataInstall -bool true || echo 'nix-plist-manager: failed: /usr/bin/defaults write /Library/Preferences/com.apple.SoftwareUpdate ConfigDataInstall -bool true' >&2/usr/bin/defaults write /Library/Preferences/com.apple.SoftwareUpdate CriticalUpdateInstall -bool true || echo 'nix-plist-manager: failed: /usr/bin/defaults write /Library/Preferences/com.apple.SoftwareUpdate CriticalUpdateInstall -bool true' >&2For unset:
/usr/bin/defaults delete /Library/Preferences/com.apple.SoftwareUpdate ConfigDataInstall 2>/dev/null || true/usr/bin/defaults delete /Library/Preferences/com.apple.SoftwareUpdate CriticalUpdateInstall 2>/dev/null || trueNot covered
Section titled “Not covered”What this pane shows that can’t be declared, and why:
14 settings
- About › General Section › Name — use nix-darwin’s networking.computerName
- AirDrop & Continuity › Allow AirPlay for — kept by the AirPlay receiver outside readable preferences; changing it writes no preference file
- Login Items › Extension Items › Actions — app extensions are enabled per installed app (pluginkit), not a preference
- Login Items › Extension Items › Extensions — app extensions are enabled per installed app (pluginkit), not a preference
- Login Items › Extension Items › Finder — app extensions are enabled per installed app (pluginkit), not a preference
- Login Items › Extension Items › Password AutoFill Extensions — app extensions are enabled per installed app (pluginkit), not a preference
- Login Items › Extension Items › Share menu items — app extensions are enabled per installed app (pluginkit), not a preference
- Login Items › Extension Items › Touch Bar — app extensions are enabled per installed app (pluginkit), not a preference
- Login Items › Startup Items Pref › App Background Activity — allowed per app by backgroundtaskmanagementd, not a preference
- Login Items › Startup Items Pref › Open at Login — login items are launchd agents; declare them with nix-darwin or home-manager launchd options
- Sharing › Hostname — use nix-darwin’s networking.hostName and networking.localHostName
- Sharing › Internet › Internet sharing — needs a source and target interfaces configured first; switching it on can take down networking, so it isn’t automated
- Sharing › Remote login — use nix-darwin’s services.openssh.enable
- Sharing › Windows file sharing — stores the account password for SMB; a password doesn’t belong in a Nix configuration