Spotlight
Everything under System Settings › Spotlight, as Nix options. Each one is named after the control
you'd click, and set under programs.nix-plist-manager.options in home-manager.
Help Apple Improve Search
Section titled “Help Apple Improve Search”System Settings › Spotlight › Help Apple Improve Search
applications.systemSettings.spotlight.helpAppleImproveSearch = true; true or false "unset" puts back macOS's default.
Where it's stored and what runs
-
com.apple.assistant.supportSearch Queries Data Sharing Status
For false:
/usr/bin/defaults write com.apple.assistant.support 'Search Queries Data Sharing Status' -int 2 || echo 'nix-plist-manager: failed: /usr/bin/defaults write com.apple.assistant.support '\''Search Queries Data Sharing Status'\'' -int 2' >&2/usr/bin/defaults -currentHost delete com.apple.assistant.support 'Search Queries Data Sharing Status' 2>/dev/null || trueFor true:
/usr/bin/defaults write com.apple.assistant.support 'Search Queries Data Sharing Status' -int 1 || echo 'nix-plist-manager: failed: /usr/bin/defaults write com.apple.assistant.support '\''Search Queries Data Sharing Status'\'' -int 1' >&2/usr/bin/defaults -currentHost delete com.apple.assistant.support 'Search Queries Data Sharing Status' 2>/dev/null || trueFor unset:
/usr/bin/defaults delete com.apple.assistant.support 'Search Queries Data Sharing Status' 2>/dev/null || true/usr/bin/defaults -currentHost delete com.apple.assistant.support 'Search Queries Data Sharing Status' 2>/dev/null || trueResults from Clipboard
Section titled “Results from Clipboard”System Settings › Spotlight › Results from Clipboard
applications.systemSettings.spotlight.resultsFromClipboard = true; true or false "unset" puts back macOS's default.
Where it's stored and what runs
-
com.apple.SpotlightPasteboardHistoryEnabled
For false:
/usr/bin/defaults write com.apple.Spotlight PasteboardHistoryEnabled -bool false || echo 'nix-plist-manager: failed: /usr/bin/defaults write com.apple.Spotlight PasteboardHistoryEnabled -bool false' >&2/usr/bin/defaults -currentHost delete com.apple.Spotlight PasteboardHistoryEnabled 2>/dev/null || trueFor true:
/usr/bin/defaults write com.apple.Spotlight PasteboardHistoryEnabled -bool true || echo 'nix-plist-manager: failed: /usr/bin/defaults write com.apple.Spotlight PasteboardHistoryEnabled -bool true' >&2/usr/bin/defaults -currentHost delete com.apple.Spotlight PasteboardHistoryEnabled 2>/dev/null || trueFor unset:
/usr/bin/defaults delete com.apple.Spotlight PasteboardHistoryEnabled 2>/dev/null || true/usr/bin/defaults -currentHost delete com.apple.Spotlight PasteboardHistoryEnabled 2>/dev/null || trueSearch results
Section titled “Search results”System Settings › Spotlight › Search results
applications.systemSettings.spotlight.searchResults = { appStore = true; apps = true; books = true; calculator = true; calendar = true; contacts = true; dictionary = true; files = true; folders = true; games = true; iPhoneApps = true; mail = true; menuItems = true; messages = true; music = true; notes = true; phone = true; photos = true; podcasts = true; reminders = true; safari = true; shortcuts = true; systemSettings = true; tips = true; voiceMemos = true;}; An attribute set of switches, each true, false or left out: "appStore""apps""books""calculator""calendar""contacts""dictionary""files""folders""games""iPhoneApps""mail""menuItems""messages""music""notes""phone""photos""podcasts""reminders""safari""shortcuts""systemSettings""tips""voiceMemos" "unset" puts back macOS's default.
Where it's stored and what runs
-
com.apple.SpotlightEnabledPreferenceRules
For unset:
/usr/bin/defaults delete com.apple.Spotlight EnabledPreferenceRules 2>/dev/null || true/usr/bin/defaults -currentHost delete com.apple.Spotlight EnabledPreferenceRules 2>/dev/null || trueFor { appStore = true; apps = true; books = true; calculator = true; calendar = true; contacts = true; dictionary = true; files = true; folders = true; games = true; iPhoneApps = true; mail = true; menuItems = true; messages = true; music = true; notes = true; phone = true; photos = true; podcasts = true; reminders = true; safari = true; shortcuts = true; systemSettings = true; tips = true; voiceMemos = true; }:
/usr/bin/osascript -l JavaScript -e 'ObjC.import('\''Foundation'\'');var d = $.NSUserDefaults.alloc.initWithSuiteName("com.apple.Spotlight");var items = ObjC.deepUnwrap(d.arrayForKey("EnabledPreferenceRules")) || [];var members = {"System.applications":false,"System.files":false,"System.folders":false,"System.iphoneApps":false,"System.menuItems":false,"com.apple.AddressBook":false,"com.apple.AppStore":false,"com.apple.Dictionary":false,"com.apple.MobileSMS":false,"com.apple.Music":false,"com.apple.Notes":false,"com.apple.Photos":false,"com.apple.Safari":false,"com.apple.VoiceMemos":false,"com.apple.calculator":false,"com.apple.games":false,"com.apple.iBooksX":false,"com.apple.iCal":false,"com.apple.mail":false,"com.apple.mobilephone":false,"com.apple.podcasts":false,"com.apple.reminders":false,"com.apple.shortcuts":false,"com.apple.systempreferences":false,"com.apple.tips":false};Object.keys(members).forEach(function (item) { var at = items.indexOf(item); if (members[item] && at < 0) items.push(item); if (!members[item] && at >= 0) items.splice(at, 1);});d.setObjectForKey($(items), "EnabledPreferenceRules");d.synchronize;' >/dev/null || echo 'nix-plist-manager: failed: /usr/bin/osascript -l JavaScript -e '\''ObjC.import('\''\'\'''\''Foundation'\''\'\'''\'');var d = $.NSUserDefaults.alloc.initWithSuiteName("com.apple.Spotlight");var items = ObjC.deepUnwrap(d.arrayForKey("EnabledPreferenceRules")) || [];var members = {"System.applications":false,"System.files":false,"System.folders":false,"System.iphoneApps":false,"System.menuItems":false,"com.apple.AddressBook":false,"com.apple.AppStore":false,"com.apple.Dictionary":false,"com.apple.MobileSMS":false,"com.apple.Music":false,"com.apple.Notes":false,"com.apple.Photos":false,"com.apple.Safari":false,"com.apple.VoiceMemos":false,"com.apple.calculator":false,"com.apple.games":false,"com.apple.iBooksX":false,"com.apple.iCal":false,"com.apple.mail":false,"com.apple.mobilephone":false,"com.apple.podcasts":false,"com.apple.reminders":false,"com.apple.shortcuts":false,"com.apple.systempreferences":false,"com.apple.tips":false};Object.keys(members).forEach(function (item) { var at = items.indexOf(item); if (members[item] && at < 0) items.push(item); if (!members[item] && at >= 0) items.splice(at, 1);});d.setObjectForKey($(items), "EnabledPreferenceRules");d.synchronize;'\'' >/dev/null' >&2/usr/bin/defaults -currentHost delete com.apple.Spotlight EnabledPreferenceRules 2>/dev/null || trueShow Related Content
Section titled “Show Related Content”System Settings › Spotlight › Show Related Content
applications.systemSettings.spotlight.showRelatedContent = true; true or false "unset" puts back macOS's default.
Where it's stored and what runs
-
com.apple.SpotlightEnabledPreferenceRules
For false:
/usr/bin/osascript -l JavaScript -e 'ObjC.import('\''Foundation'\'');var d = $.NSUserDefaults.alloc.initWithSuiteName("com.apple.Spotlight");var items = ObjC.deepUnwrap(d.arrayForKey("EnabledPreferenceRules")) || [];var members = {"Custom.relatedContents":true};Object.keys(members).forEach(function (item) { var at = items.indexOf(item); if (members[item] && at < 0) items.push(item); if (!members[item] && at >= 0) items.splice(at, 1);});d.setObjectForKey($(items), "EnabledPreferenceRules");d.synchronize;' >/dev/null || echo 'nix-plist-manager: failed: /usr/bin/osascript -l JavaScript -e '\''ObjC.import('\''\'\'''\''Foundation'\''\'\'''\'');var d = $.NSUserDefaults.alloc.initWithSuiteName("com.apple.Spotlight");var items = ObjC.deepUnwrap(d.arrayForKey("EnabledPreferenceRules")) || [];var members = {"Custom.relatedContents":true};Object.keys(members).forEach(function (item) { var at = items.indexOf(item); if (members[item] && at < 0) items.push(item); if (!members[item] && at >= 0) items.splice(at, 1);});d.setObjectForKey($(items), "EnabledPreferenceRules");d.synchronize;'\'' >/dev/null' >&2/usr/bin/defaults -currentHost delete com.apple.Spotlight EnabledPreferenceRules 2>/dev/null || trueFor true:
/usr/bin/osascript -l JavaScript -e 'ObjC.import('\''Foundation'\'');var d = $.NSUserDefaults.alloc.initWithSuiteName("com.apple.Spotlight");var items = ObjC.deepUnwrap(d.arrayForKey("EnabledPreferenceRules")) || [];var members = {"Custom.relatedContents":false};Object.keys(members).forEach(function (item) { var at = items.indexOf(item); if (members[item] && at < 0) items.push(item); if (!members[item] && at >= 0) items.splice(at, 1);});d.setObjectForKey($(items), "EnabledPreferenceRules");d.synchronize;' >/dev/null || echo 'nix-plist-manager: failed: /usr/bin/osascript -l JavaScript -e '\''ObjC.import('\''\'\'''\''Foundation'\''\'\'''\'');var d = $.NSUserDefaults.alloc.initWithSuiteName("com.apple.Spotlight");var items = ObjC.deepUnwrap(d.arrayForKey("EnabledPreferenceRules")) || [];var members = {"Custom.relatedContents":false};Object.keys(members).forEach(function (item) { var at = items.indexOf(item); if (members[item] && at < 0) items.push(item); if (!members[item] && at >= 0) items.splice(at, 1);});d.setObjectForKey($(items), "EnabledPreferenceRules");d.synchronize;'\'' >/dev/null' >&2/usr/bin/defaults -currentHost delete com.apple.Spotlight EnabledPreferenceRules 2>/dev/null || trueFor unset:
/usr/bin/defaults delete com.apple.Spotlight EnabledPreferenceRules 2>/dev/null || true/usr/bin/defaults -currentHost delete com.apple.Spotlight EnabledPreferenceRules 2>/dev/null || trueResults from Clipboard
Section titled “Results from Clipboard”Keep for
Section titled “Keep for”System Settings › Spotlight › Results from Clipboard › Keep for
applications.systemSettings.spotlight.clipboardHistoryIsAvailableInSpotlight = "30 minutes"; One of: "30 minutes""7 days""8 hours" "unset" puts back macOS's default.
Where it's stored and what runs
-
com.apple.SpotlightPasteboardHistoryTimeout
For 30 minutes:
/usr/bin/defaults write com.apple.Spotlight PasteboardHistoryTimeout -int 1800 || echo 'nix-plist-manager: failed: /usr/bin/defaults write com.apple.Spotlight PasteboardHistoryTimeout -int 1800' >&2/usr/bin/defaults -currentHost delete com.apple.Spotlight PasteboardHistoryTimeout 2>/dev/null || trueFor 7 days:
/usr/bin/defaults write com.apple.Spotlight PasteboardHistoryTimeout -int 604800 || echo 'nix-plist-manager: failed: /usr/bin/defaults write com.apple.Spotlight PasteboardHistoryTimeout -int 604800' >&2/usr/bin/defaults -currentHost delete com.apple.Spotlight PasteboardHistoryTimeout 2>/dev/null || trueFor 8 hours:
/usr/bin/defaults write com.apple.Spotlight PasteboardHistoryTimeout -int 28800 || echo 'nix-plist-manager: failed: /usr/bin/defaults write com.apple.Spotlight PasteboardHistoryTimeout -int 28800' >&2/usr/bin/defaults -currentHost delete com.apple.Spotlight PasteboardHistoryTimeout 2>/dev/null || trueFor unset:
/usr/bin/defaults delete com.apple.Spotlight PasteboardHistoryTimeout 2>/dev/null || true/usr/bin/defaults -currentHost delete com.apple.Spotlight PasteboardHistoryTimeout 2>/dev/null || trueNot covered
Section titled “Not covered”What this pane shows that can’t be declared, and why:
1 setting
- Privacy › Block search of private files — kept by mds in /System/Volumes/Data/.Spotlight-V100, which only root can read