Skip to content

Voice Control

Everything under System Settings › Accessibility › Voice Control, as Nix options. Each one is named after the control you'd click, and set under programs.nix-plist-manager.options in home-manager.

7 options 4 verified against System Settings

System Settings › Accessibility › Voice Control › Fade overlay after inactivity

home-manager · per user ✓ Verified on macOS 27
applications.systemSettings.accessibility.voiceControl.fadeOverlayAfterInactivity = true;

true or false "unset" puts back macOS's default.

Where it's stored and what runs
  • com.apple.speech.recognition.AppleSpeechRecognition.prefs CACOverlayFadingEnabled

For false:

/usr/bin/defaults write com.apple.speech.recognition.AppleSpeechRecognition.prefs CACOverlayFadingEnabled -bool false || echo 'nix-plist-manager: failed: /usr/bin/defaults write com.apple.speech.recognition.AppleSpeechRecognition.prefs CACOverlayFadingEnabled -bool false' >&2
/usr/bin/defaults -currentHost delete com.apple.speech.recognition.AppleSpeechRecognition.prefs CACOverlayFadingEnabled 2>/dev/null || true

For true:

/usr/bin/defaults write com.apple.speech.recognition.AppleSpeechRecognition.prefs CACOverlayFadingEnabled -bool true || echo 'nix-plist-manager: failed: /usr/bin/defaults write com.apple.speech.recognition.AppleSpeechRecognition.prefs CACOverlayFadingEnabled -bool true' >&2
/usr/bin/defaults -currentHost delete com.apple.speech.recognition.AppleSpeechRecognition.prefs CACOverlayFadingEnabled 2>/dev/null || true

For unset:

/usr/bin/defaults delete com.apple.speech.recognition.AppleSpeechRecognition.prefs CACOverlayFadingEnabled 2>/dev/null || true
/usr/bin/defaults -currentHost delete com.apple.speech.recognition.AppleSpeechRecognition.prefs CACOverlayFadingEnabled 2>/dev/null || true

System Settings › Accessibility › Voice Control › Language

home-manager · per user Not verified

A locale such as "en_US".

applications.systemSettings.accessibility.voiceControl.language = "…";

Text "unset" puts back macOS's default.

Where it's stored and what runs
  • com.apple.speech.recognition.AppleSpeechRecognition.prefs DictationIMLocaleIdentifier

For unset:

/usr/bin/defaults delete com.apple.speech.recognition.AppleSpeechRecognition.prefs DictationIMLocaleIdentifier 2>/dev/null || true
/usr/bin/defaults -currentHost delete com.apple.speech.recognition.AppleSpeechRecognition.prefs DictationIMLocaleIdentifier 2>/dev/null || true

For …:

/usr/bin/defaults write com.apple.speech.recognition.AppleSpeechRecognition.prefs DictationIMLocaleIdentifier -string '…' || echo 'nix-plist-manager: failed: /usr/bin/defaults write com.apple.speech.recognition.AppleSpeechRecognition.prefs DictationIMLocaleIdentifier -string '\''…'\''' >&2
/usr/bin/defaults -currentHost delete com.apple.speech.recognition.AppleSpeechRecognition.prefs DictationIMLocaleIdentifier 2>/dev/null || true

System Settings › Accessibility › Voice Control › Microphone

home-manager · per user Not verified

The microphone's device identifier, as Voice Control stores it.

applications.systemSettings.accessibility.voiceControl.microphone = "…";

Text "unset" puts back macOS's default.

Where it's stored and what runs
  • com.apple.speech.recognition.AppleSpeechRecognition.prefs DictationIMMicrophoneIdentifier

For unset:

/usr/bin/defaults delete com.apple.speech.recognition.AppleSpeechRecognition.prefs DictationIMMicrophoneIdentifier 2>/dev/null || true
/usr/bin/defaults -currentHost delete com.apple.speech.recognition.AppleSpeechRecognition.prefs DictationIMMicrophoneIdentifier 2>/dev/null || true

For …:

/usr/bin/defaults write com.apple.speech.recognition.AppleSpeechRecognition.prefs DictationIMMicrophoneIdentifier -string '…' || echo 'nix-plist-manager: failed: /usr/bin/defaults write com.apple.speech.recognition.AppleSpeechRecognition.prefs DictationIMMicrophoneIdentifier -string '\''…'\''' >&2
/usr/bin/defaults -currentHost delete com.apple.speech.recognition.AppleSpeechRecognition.prefs DictationIMMicrophoneIdentifier 2>/dev/null || true

System Settings › Accessibility › Voice Control › Overlay

home-manager · per user ✓ Verified on macOS 27
applications.systemSettings.accessibility.voiceControl.overlay = "Item Names";

One of: "Item Names""Item Numbers""None""Numbered Grid" "unset" puts back macOS's default.

Where it's stored and what runs
  • com.apple.speech.recognition.AppleSpeechRecognition.prefs DictationIMAlwaysShowOverlayKey

For Item Names:

/usr/bin/defaults write com.apple.speech.recognition.AppleSpeechRecognition.prefs DictationIMAlwaysShowOverlayKey -string NamedElements || echo 'nix-plist-manager: failed: /usr/bin/defaults write com.apple.speech.recognition.AppleSpeechRecognition.prefs DictationIMAlwaysShowOverlayKey -string NamedElements' >&2
/usr/bin/defaults -currentHost delete com.apple.speech.recognition.AppleSpeechRecognition.prefs DictationIMAlwaysShowOverlayKey 2>/dev/null || true

For Item Numbers:

/usr/bin/defaults write com.apple.speech.recognition.AppleSpeechRecognition.prefs DictationIMAlwaysShowOverlayKey -string NumberedElements || echo 'nix-plist-manager: failed: /usr/bin/defaults write com.apple.speech.recognition.AppleSpeechRecognition.prefs DictationIMAlwaysShowOverlayKey -string NumberedElements' >&2
/usr/bin/defaults -currentHost delete com.apple.speech.recognition.AppleSpeechRecognition.prefs DictationIMAlwaysShowOverlayKey 2>/dev/null || true

For None:

/usr/bin/defaults write com.apple.speech.recognition.AppleSpeechRecognition.prefs DictationIMAlwaysShowOverlayKey -string None || echo 'nix-plist-manager: failed: /usr/bin/defaults write com.apple.speech.recognition.AppleSpeechRecognition.prefs DictationIMAlwaysShowOverlayKey -string None' >&2
/usr/bin/defaults -currentHost delete com.apple.speech.recognition.AppleSpeechRecognition.prefs DictationIMAlwaysShowOverlayKey 2>/dev/null || true

For Numbered Grid:

/usr/bin/defaults write com.apple.speech.recognition.AppleSpeechRecognition.prefs DictationIMAlwaysShowOverlayKey -string NumberedGrid || echo 'nix-plist-manager: failed: /usr/bin/defaults write com.apple.speech.recognition.AppleSpeechRecognition.prefs DictationIMAlwaysShowOverlayKey -string NumberedGrid' >&2
/usr/bin/defaults -currentHost delete com.apple.speech.recognition.AppleSpeechRecognition.prefs DictationIMAlwaysShowOverlayKey 2>/dev/null || true

For unset:

/usr/bin/defaults delete com.apple.speech.recognition.AppleSpeechRecognition.prefs DictationIMAlwaysShowOverlayKey 2>/dev/null || true
/usr/bin/defaults -currentHost delete com.apple.speech.recognition.AppleSpeechRecognition.prefs DictationIMAlwaysShowOverlayKey 2>/dev/null || true

System Settings › Accessibility › Voice Control › Play sound when command is recognized

home-manager · per user ✓ Verified on macOS 27
applications.systemSettings.accessibility.voiceControl.playSoundWhenCommandIsRecognized = true;

true or false "unset" puts back macOS's default.

Where it's stored and what runs
  • com.apple.speech.recognition.AppleSpeechRecognition.prefs DictationIMPlaySoundUponRecognition

For false:

/usr/bin/defaults write com.apple.speech.recognition.AppleSpeechRecognition.prefs DictationIMPlaySoundUponRecognition -bool false || echo 'nix-plist-manager: failed: /usr/bin/defaults write com.apple.speech.recognition.AppleSpeechRecognition.prefs DictationIMPlaySoundUponRecognition -bool false' >&2
/usr/bin/defaults -currentHost delete com.apple.speech.recognition.AppleSpeechRecognition.prefs DictationIMPlaySoundUponRecognition 2>/dev/null || true

For true:

/usr/bin/defaults write com.apple.speech.recognition.AppleSpeechRecognition.prefs DictationIMPlaySoundUponRecognition -bool true || echo 'nix-plist-manager: failed: /usr/bin/defaults write com.apple.speech.recognition.AppleSpeechRecognition.prefs DictationIMPlaySoundUponRecognition -bool true' >&2
/usr/bin/defaults -currentHost delete com.apple.speech.recognition.AppleSpeechRecognition.prefs DictationIMPlaySoundUponRecognition 2>/dev/null || true

For unset:

/usr/bin/defaults delete com.apple.speech.recognition.AppleSpeechRecognition.prefs DictationIMPlaySoundUponRecognition 2>/dev/null || true
/usr/bin/defaults -currentHost delete com.apple.speech.recognition.AppleSpeechRecognition.prefs DictationIMPlaySoundUponRecognition 2>/dev/null || true

System Settings › Accessibility › Voice Control › Show hints

home-manager · per user ✓ Verified on macOS 27
applications.systemSettings.accessibility.voiceControl.showHints = true;

true or false "unset" puts back macOS's default.

Where it's stored and what runs
  • com.apple.speech.recognition.AppleSpeechRecognition.prefs CACUserHintsFeatures

For false:

/usr/bin/defaults write com.apple.speech.recognition.AppleSpeechRecognition.prefs CACUserHintsFeatures -int 0 || echo 'nix-plist-manager: failed: /usr/bin/defaults write com.apple.speech.recognition.AppleSpeechRecognition.prefs CACUserHintsFeatures -int 0' >&2
/usr/bin/defaults -currentHost delete com.apple.speech.recognition.AppleSpeechRecognition.prefs CACUserHintsFeatures 2>/dev/null || true

For true:

/usr/bin/defaults write com.apple.speech.recognition.AppleSpeechRecognition.prefs CACUserHintsFeatures -int 3 || echo 'nix-plist-manager: failed: /usr/bin/defaults write com.apple.speech.recognition.AppleSpeechRecognition.prefs CACUserHintsFeatures -int 3' >&2
/usr/bin/defaults -currentHost delete com.apple.speech.recognition.AppleSpeechRecognition.prefs CACUserHintsFeatures 2>/dev/null || true

For unset:

/usr/bin/defaults delete com.apple.speech.recognition.AppleSpeechRecognition.prefs CACUserHintsFeatures 2>/dev/null || true
/usr/bin/defaults -currentHost delete com.apple.speech.recognition.AppleSpeechRecognition.prefs CACUserHintsFeatures 2>/dev/null || true

System Settings › Accessibility › Voice Control › Voice Control

home-manager · per user Not verified
applications.systemSettings.accessibility.voiceControl.voiceControl = true;

true or false "unset" puts back macOS's default.

Where it's stored and what runs
  • com.apple.speech.recognition.AppleSpeechRecognition.prefs DictationIMMasterDictationEnabled

For false:

/usr/bin/defaults write com.apple.speech.recognition.AppleSpeechRecognition.prefs DictationIMMasterDictationEnabled -bool false || echo 'nix-plist-manager: failed: /usr/bin/defaults write com.apple.speech.recognition.AppleSpeechRecognition.prefs DictationIMMasterDictationEnabled -bool false' >&2
/usr/bin/defaults -currentHost delete com.apple.speech.recognition.AppleSpeechRecognition.prefs DictationIMMasterDictationEnabled 2>/dev/null || true

For true:

/usr/bin/defaults write com.apple.speech.recognition.AppleSpeechRecognition.prefs DictationIMMasterDictationEnabled -bool true || echo 'nix-plist-manager: failed: /usr/bin/defaults write com.apple.speech.recognition.AppleSpeechRecognition.prefs DictationIMMasterDictationEnabled -bool true' >&2
/usr/bin/defaults -currentHost delete com.apple.speech.recognition.AppleSpeechRecognition.prefs DictationIMMasterDictationEnabled 2>/dev/null || true

For unset:

/usr/bin/defaults delete com.apple.speech.recognition.AppleSpeechRecognition.prefs DictationIMMasterDictationEnabled 2>/dev/null || true
/usr/bin/defaults -currentHost delete com.apple.speech.recognition.AppleSpeechRecognition.prefs DictationIMMasterDictationEnabled 2>/dev/null || true