diff options
| author | Mike Vink <59492084+ivi-vink@users.noreply.github.com> | 2025-01-16 22:22:34 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-01-16 22:22:34 +0100 |
| commit | 8e7bd91f353caacc0bc4105f573eb3e17f09e03a (patch) | |
| tree | c5059edcbebd9644290cad7c653c49a36d593021 /modules/system/defaults | |
| parent | 6bd39d420578aacf7c0bab7de3e7027b952115ae (diff) | |
| parent | bd921223ba7cdac346477d7ea5204d6f4736fcc6 (diff) | |
Diffstat (limited to 'modules/system/defaults')
21 files changed, 580 insertions, 154 deletions
diff --git a/modules/system/defaults/ActivityMonitor.nix b/modules/system/defaults/ActivityMonitor.nix index 9f4617c..8786375 100644 --- a/modules/system/defaults/ActivityMonitor.nix +++ b/modules/system/defaults/ActivityMonitor.nix @@ -8,7 +8,7 @@ with lib; system.defaults.ActivityMonitor.ShowCategory = mkOption { type = types.nullOr (types.enum [100 101 102 103 104 105 106 107]); default = null; - description = lib.mdDoc '' + description = '' Change which processes to show. * 100: All Processes * 101: All Processes, Hierarchally @@ -25,7 +25,7 @@ with lib; system.defaults.ActivityMonitor.IconType = mkOption { type = types.nullOr types.int; default = null; - description = lib.mdDoc '' + description = '' Change the icon in the dock when running. * 0: Application Icon * 2: Network Usage @@ -39,7 +39,7 @@ with lib; system.defaults.ActivityMonitor.SortColumn = mkOption { type = types.nullOr types.str; default = null; - description = lib.mdDoc '' + description = '' Which column to sort the main activity page (such as "CPUUsage"). Default is null. ''; }; @@ -47,7 +47,7 @@ with lib; system.defaults.ActivityMonitor.SortDirection = mkOption { type = types.nullOr types.int; default = null; - description = lib.mdDoc '' + description = '' The sort direction of the sort column (0 is decending). Default is null. ''; }; @@ -55,7 +55,7 @@ with lib; system.defaults.ActivityMonitor.OpenMainWindow = mkOption { type = types.nullOr types.bool; default = null; - description = lib.mdDoc '' + description = '' Open the main window when opening Activity Monitor. Default is true. ''; }; diff --git a/modules/system/defaults/CustomPreferences.nix b/modules/system/defaults/CustomPreferences.nix index 134c8d0..1b4b99b 100644 --- a/modules/system/defaults/CustomPreferences.nix +++ b/modules/system/defaults/CustomPreferences.nix @@ -14,7 +14,7 @@ with lib; true; }; }; - description = lib.mdDoc '' + description = '' Sets custom user preferences ''; }; @@ -29,7 +29,7 @@ with lib; true; }; }; - description = lib.mdDoc '' + description = '' Sets custom system preferences ''; }; diff --git a/modules/system/defaults/GlobalPreferences.nix b/modules/system/defaults/GlobalPreferences.nix index a975802..9709711 100644 --- a/modules/system/defaults/GlobalPreferences.nix +++ b/modules/system/defaults/GlobalPreferences.nix @@ -11,7 +11,7 @@ in { mkOption { type = types.nullOr (types.path); default = null; - description = lib.mdDoc '' + description = '' Sets the system-wide alert sound. Found under "Sound Effects" in the "Sound" section of "System Preferences". Look in "/System/Library/Sounds" for possible candidates. @@ -23,7 +23,7 @@ in { type = types.nullOr floatWithDeprecationError; default = null; example = -1.0; - description = lib.mdDoc '' + description = '' Sets the mouse tracking speed. Found in the "Mouse" section of "System Preferences". Set to -1.0 to disable mouse acceleration. ''; diff --git a/modules/system/defaults/LaunchServices.nix b/modules/system/defaults/LaunchServices.nix index b76231f..d9ffcda 100644 --- a/modules/system/defaults/LaunchServices.nix +++ b/modules/system/defaults/LaunchServices.nix @@ -8,7 +8,7 @@ with lib; system.defaults.LaunchServices.LSQuarantine = mkOption { type = types.nullOr types.bool; default = null; - description = lib.mdDoc '' + description = '' Whether to enable quarantine for downloaded applications. The default is true. ''; }; diff --git a/modules/system/defaults/NSGlobalDomain.nix b/modules/system/defaults/NSGlobalDomain.nix index 03a7da2..01e7a45 100644 --- a/modules/system/defaults/NSGlobalDomain.nix +++ b/modules/system/defaults/NSGlobalDomain.nix @@ -7,11 +7,10 @@ let inherit (config.lib.defaults.types) floatWithDeprecationError; in { options = { - system.defaults.NSGlobalDomain.AppleShowAllFiles = mkOption { type = types.nullOr types.bool; default = null; - description = lib.mdDoc '' + description = '' Whether to always show hidden files. The default is false. ''; }; @@ -19,7 +18,7 @@ in { system.defaults.NSGlobalDomain.AppleEnableMouseSwipeNavigateWithScrolls = mkOption { type = types.nullOr types.bool; default = null; - description = lib.mdDoc '' + description = '' Enables swiping left or right with two fingers to navigate backward or forward. The default is true. ''; }; @@ -27,7 +26,7 @@ in { system.defaults.NSGlobalDomain.AppleEnableSwipeNavigateWithScrolls = mkOption { type = types.nullOr types.bool; default = null; - description = lib.mdDoc '' + description = '' Enables swiping left or right with two fingers to navigate backward or forward. The default is true. ''; }; @@ -35,7 +34,7 @@ in { system.defaults.NSGlobalDomain.AppleFontSmoothing = mkOption { type = types.nullOr (types.enum [ 0 1 2 ]); default = null; - description = lib.mdDoc '' + description = '' Sets the level of font smoothing (sub-pixel font rendering). ''; }; @@ -43,7 +42,7 @@ in { system.defaults.NSGlobalDomain.AppleInterfaceStyle = mkOption { type = types.nullOr (types.enum [ "Dark" ]); default = null; - description = lib.mdDoc '' + description = '' Set to 'Dark' to enable dark mode, or leave unset for normal mode. ''; }; @@ -51,7 +50,7 @@ in { system.defaults.NSGlobalDomain.AppleInterfaceStyleSwitchesAutomatically = mkOption { type = types.nullOr types.bool; default = null; - description = lib.mdDoc '' + description = '' Whether to automatically switch between light and dark mode. The default is false. ''; }; @@ -59,7 +58,7 @@ in { system.defaults.NSGlobalDomain.AppleKeyboardUIMode = mkOption { type = types.nullOr (types.enum [ 3 ]); default = null; - description = lib.mdDoc '' + description = '' Configures the keyboard control behavior. Mode 3 enables full keyboard control. ''; }; @@ -67,7 +66,7 @@ in { system.defaults.NSGlobalDomain.ApplePressAndHoldEnabled = mkOption { type = types.nullOr types.bool; default = null; - description = lib.mdDoc '' + description = '' Whether to enable the press-and-hold feature. The default is true. ''; }; @@ -75,7 +74,7 @@ in { system.defaults.NSGlobalDomain.AppleShowAllExtensions = mkOption { type = types.nullOr types.bool; default = null; - description = lib.mdDoc '' + description = '' Whether to show all file extensions in Finder. The default is false. ''; }; @@ -83,7 +82,7 @@ in { system.defaults.NSGlobalDomain.AppleShowScrollBars = mkOption { type = types.nullOr (types.enum [ "WhenScrolling" "Automatic" "Always" ]); default = null; - description = lib.mdDoc '' + description = '' When to show the scrollbars. Options are 'WhenScrolling', 'Automatic' and 'Always'. ''; }; @@ -91,23 +90,39 @@ in { system.defaults.NSGlobalDomain.AppleScrollerPagingBehavior = mkOption { type = types.nullOr types.bool; default = null; - description = lib.mdDoc '' + description = '' Jump to the spot that's clicked on the scroll bar. The default is false. ''; }; + system.defaults.NSGlobalDomain.AppleSpacesSwitchOnActivate = mkOption { + type = types.nullOr types.bool; + default = null; + description = '' + Whether or not to switch to a workspace that has a window of the application open, that is switched to. The default is true. + ''; + }; + system.defaults.NSGlobalDomain.NSAutomaticCapitalizationEnabled = mkOption { type = types.nullOr types.bool; default = null; - description = lib.mdDoc '' + description = '' Whether to enable automatic capitalization. The default is true. ''; }; + system.defaults.NSGlobalDomain.NSAutomaticInlinePredictionEnabled = mkOption { + type = types.nullOr types.bool; + default = null; + description = '' + Whether to enable inline predictive text. The default is true. + ''; + }; + system.defaults.NSGlobalDomain.NSAutomaticDashSubstitutionEnabled = mkOption { type = types.nullOr types.bool; default = null; - description = lib.mdDoc '' + description = '' Whether to enable smart dash substitution. The default is true. ''; }; @@ -115,7 +130,7 @@ in { system.defaults.NSGlobalDomain.NSAutomaticPeriodSubstitutionEnabled = mkOption { type = types.nullOr types.bool; default = null; - description = lib.mdDoc '' + description = '' Whether to enable smart period substitution. The default is true. ''; }; @@ -123,7 +138,7 @@ in { system.defaults.NSGlobalDomain.NSAutomaticQuoteSubstitutionEnabled = mkOption { type = types.nullOr types.bool; default = null; - description = lib.mdDoc '' + description = '' Whether to enable smart quote substitution. The default is true. ''; }; @@ -131,7 +146,7 @@ in { system.defaults.NSGlobalDomain.NSAutomaticSpellingCorrectionEnabled = mkOption { type = types.nullOr types.bool; default = null; - description = lib.mdDoc '' + description = '' Whether to enable automatic spelling correction. The default is true. ''; }; @@ -139,7 +154,7 @@ in { system.defaults.NSGlobalDomain.NSAutomaticWindowAnimationsEnabled = mkOption { type = types.nullOr types.bool; default = null; - description = lib.mdDoc '' + description = '' Whether to animate opening and closing of windows and popovers. The default is true. ''; }; @@ -147,7 +162,7 @@ in { system.defaults.NSGlobalDomain.NSDisableAutomaticTermination = mkOption { type = types.nullOr types.bool; default = null; - description = lib.mdDoc '' + description = '' Whether to disable the automatic termination of inactive apps. ''; }; @@ -155,7 +170,7 @@ in { system.defaults.NSGlobalDomain.NSDocumentSaveNewDocumentsToCloud = mkOption { type = types.nullOr types.bool; default = null; - description = lib.mdDoc '' + description = '' Whether to save new documents to iCloud by default. The default is true. ''; }; @@ -163,7 +178,7 @@ in { system.defaults.NSGlobalDomain.AppleWindowTabbingMode = mkOption { type = types.nullOr (types.enum [ "manual" "always" "fullscreen" ]); default = null; - description = lib.mdDoc '' + description = '' Sets the window tabbing when opening a new document: 'manual', 'always', or 'fullscreen'. The default is 'fullscreen'. ''; }; @@ -171,7 +186,7 @@ in { system.defaults.NSGlobalDomain.NSNavPanelExpandedStateForSaveMode = mkOption { type = types.nullOr types.bool; default = null; - description = lib.mdDoc '' + description = '' Whether to use expanded save panel by default. The default is false. ''; }; @@ -179,7 +194,7 @@ in { system.defaults.NSGlobalDomain.NSNavPanelExpandedStateForSaveMode2 = mkOption { type = types.nullOr types.bool; default = null; - description = lib.mdDoc '' + description = '' Whether to use expanded save panel by default. The default is false. ''; }; @@ -187,7 +202,7 @@ in { system.defaults.NSGlobalDomain.NSTableViewDefaultSizeMode = mkOption { type = types.nullOr (types.enum [ 1 2 3 ]); default = null; - description = lib.mdDoc '' + description = '' Sets the size of the finder sidebar icons: 1 (small), 2 (medium) or 3 (large). The default is 3. ''; }; @@ -195,7 +210,7 @@ in { system.defaults.NSGlobalDomain.NSTextShowsControlCharacters = mkOption { type = types.nullOr types.bool; default = null; - description = lib.mdDoc '' + description = '' Whether to display ASCII control characters using caret notation in standard text views. The default is false. ''; }; @@ -203,7 +218,7 @@ in { system.defaults.NSGlobalDomain.NSUseAnimatedFocusRing = mkOption { type = types.nullOr types.bool; default = null; - description = lib.mdDoc '' + description = '' Whether to enable the focus ring animation. The default is true. ''; }; @@ -211,7 +226,7 @@ in { system.defaults.NSGlobalDomain.NSScrollAnimationEnabled = mkOption { type = types.nullOr types.bool; default = null; - description = lib.mdDoc '' + description = '' Whether to enable smooth scrolling. The default is true. ''; }; @@ -220,7 +235,7 @@ in { type = types.nullOr floatWithDeprecationError; default = null; example = 0.20; - description = lib.mdDoc '' + description = '' Sets the speed speed of window resizing. The default is given in the example. ''; }; @@ -228,7 +243,7 @@ in { system.defaults.NSGlobalDomain.NSWindowShouldDragOnGesture = mkOption { type = types.nullOr types.bool; default = null; - description = lib.mdDoc '' + description = '' Whether to enable moving window by holding anywhere on it like on Linux. The default is false. ''; }; @@ -236,7 +251,7 @@ in { system.defaults.NSGlobalDomain.InitialKeyRepeat = mkOption { type = types.nullOr types.int; default = null; - description = lib.mdDoc '' + description = '' Apple menu > System Preferences > Keyboard If you press and hold certain keyboard keys when in a text area, the key’s character begins to repeat. @@ -249,7 +264,7 @@ in { system.defaults.NSGlobalDomain.KeyRepeat = mkOption { type = types.nullOr types.int; default = null; - description = lib.mdDoc '' + description = '' Apple menu > System Preferences > Keyboard If you press and hold certain keyboard keys when in a text area, the key’s character begins to repeat. @@ -262,7 +277,7 @@ in { system.defaults.NSGlobalDomain.PMPrintingExpandedStateForPrint = mkOption { type = types.nullOr types.bool; default = null; - description = lib.mdDoc '' + description = '' Whether to use the expanded print panel by default. The default is false. ''; }; @@ -270,7 +285,7 @@ in { system.defaults.NSGlobalDomain.PMPrintingExpandedStateForPrint2 = mkOption { type = types.nullOr types.bool; default = null; - description = lib.mdDoc '' + description = '' Whether to use the expanded print panel by default. The default is false. ''; }; @@ -278,7 +293,7 @@ in { system.defaults.NSGlobalDomain."com.apple.keyboard.fnState" = mkOption { type = types.nullOr types.bool; default = null; - description = lib.mdDoc '' + description = '' Use F1, F2, etc. keys as standard function keys. ''; }; @@ -286,7 +301,7 @@ in { system.defaults.NSGlobalDomain."com.apple.mouse.tapBehavior" = mkOption { type = types.nullOr (types.enum [ 1 ]); default = null; - description = lib.mdDoc '' + description = '' Configures the trackpad tap behavior. Mode 1 enables tap to click. ''; }; @@ -294,7 +309,7 @@ in { system.defaults.NSGlobalDomain."com.apple.sound.beep.volume" = mkOption { type = types.nullOr floatWithDeprecationError; default = null; - description = lib.mdDoc '' + description = '' Apple menu > System Preferences > Sound Sets the beep/alert volume level from 0.000 (muted) to 1.000 (100% volume). @@ -310,7 +325,7 @@ in { system.defaults.NSGlobalDomain."com.apple.sound.beep.feedback" = mkOption { type = types.nullOr types.int; default = null; - description = lib.mdDoc '' + description = '' Apple menu > System Preferences > Sound Make a feedback sound when the system volume changed. This setting accepts @@ -321,7 +336,7 @@ in { system.defaults.NSGlobalDomain."com.apple.trackpad.enableSecondaryClick" = mkOption { type = types.nullOr types.bool; default = null; - description = lib.mdDoc '' + description = '' Whether to enable trackpad secondary click. The default is true. ''; }; @@ -329,7 +344,7 @@ in { system.defaults.NSGlobalDomain."com.apple.trackpad.trackpadCornerClickBehavior" = mkOption { type = types.nullOr (types.enum [ 1 ]); default = null; - description = lib.mdDoc '' + description = '' Configures the trackpad corner click behavior. Mode 1 enables right click. ''; }; @@ -337,15 +352,23 @@ in { system.defaults.NSGlobalDomain."com.apple.trackpad.scaling" = mkOption { type = types.nullOr floatWithDeprecationError; default = null; - description = lib.mdDoc '' + description = '' Configures the trackpad tracking speed (0 to 3). The default is "1". ''; }; + system.defaults.NSGlobalDomain."com.apple.trackpad.forceClick" = mkOption { + type = types.nullOr types.bool; + default = null; + description = '' + Whether to enable trackpad force click. + ''; + }; + system.defaults.NSGlobalDomain."com.apple.springing.enabled" = mkOption { type = types.nullOr types.bool; default = null; - description = lib.mdDoc '' + description = '' Whether to enable spring loading (expose) for directories. ''; }; @@ -354,7 +377,7 @@ in { type = types.nullOr floatWithDeprecationError; default = null; example = 1.0; - description = lib.mdDoc '' + description = '' Set the spring loading delay for directories. The default is given in the example. ''; }; @@ -362,7 +385,7 @@ in { system.defaults.NSGlobalDomain."com.apple.swipescrolldirection" = mkOption { type = types.nullOr types.bool; default = null; - description = lib.mdDoc '' + description = '' Whether to enable "Natural" scrolling direction. The default is true. ''; }; @@ -370,7 +393,7 @@ in { system.defaults.NSGlobalDomain.AppleMeasurementUnits = mkOption { type = types.nullOr (types.enum [ "Centimeters" "Inches" ]); default = null; - description = lib.mdDoc '' + description = '' Whether to use centimeters (metric) or inches (US, UK) as the measurement unit. The default is based on region settings. ''; }; @@ -378,7 +401,7 @@ in { system.defaults.NSGlobalDomain.AppleMetricUnits = mkOption { type = types.nullOr (types.enum [ 0 1 ]); default = null; - description = lib.mdDoc '' + description = '' Whether to use the metric system. The default is based on region settings. ''; }; @@ -386,7 +409,7 @@ in { system.defaults.NSGlobalDomain.AppleTemperatureUnit = mkOption { type = types.nullOr (types.enum [ "Celsius" "Fahrenheit" ]); default = null; - description = lib.mdDoc '' + description = '' Whether to use Celsius or Fahrenheit. The default is based on region settings. ''; }; @@ -394,7 +417,7 @@ in { system.defaults.NSGlobalDomain.AppleICUForce24HourTime = mkOption { type = types.nullOr types.bool; default = null; - description = lib.mdDoc '' + description = '' Whether to use 24-hour or 12-hour time. The default is based on region settings. ''; }; @@ -402,7 +425,7 @@ in { system.defaults.NSGlobalDomain._HIHideMenuBar = mkOption { type = types.nullOr types.bool; default = null; - description = lib.mdDoc '' + description = '' Whether to autohide the menu bar. The default is false. ''; }; diff --git a/modules/system/defaults/SoftwareUpdate.nix b/modules/system/defaults/SoftwareUpdate.nix index 2882e8c..ec89bce 100644 --- a/modules/system/defaults/SoftwareUpdate.nix +++ b/modules/system/defaults/SoftwareUpdate.nix @@ -7,7 +7,7 @@ with lib; system.defaults.SoftwareUpdate.AutomaticallyInstallMacOSUpdates = mkOption { type = types.nullOr types.bool; default = null; - description = lib.mdDoc '' + description = '' Automatically install Mac OS software updates. Defaults to false. ''; }; diff --git a/modules/system/defaults/WindowManager.nix b/modules/system/defaults/WindowManager.nix new file mode 100644 index 0000000..6a62ebc --- /dev/null +++ b/modules/system/defaults/WindowManager.nix @@ -0,0 +1,83 @@ +{ config, lib, ... }: + +with lib; +{ + options = { + system.defaults.WindowManager.GloballyEnabled = mkOption { + type = types.nullOr types.bool; + default = null; + description = '' + Enable Stage Manager + Stage Manager arranges your recent windows into a single strip for reduced clutter and quick access. Default is false. + ''; + }; + + system.defaults.WindowManager.EnableStandardClickToShowDesktop = mkOption { + type = types.nullOr types.bool; + default = null; + description = '' + Click wallpaper to reveal desktop + Clicking your wallpaper will move all windows out of the way to allow access to your desktop items and widgets. Default is true. + false means "Only in Stage Manager" + true means "Always" + ''; + }; + + system.defaults.WindowManager.AutoHide = mkOption { + type = types.nullOr types.bool; + default = null; + description = '' + Auto hide stage strip showing recent apps. Default is false. + ''; + }; + + system.defaults.WindowManager.AppWindowGroupingBehavior = mkOption { + type = types.nullOr types.bool; + default = null; + description = '' + Grouping strategy when showing windows from an application. + false means "One at a time" + true means "All at once" + ''; + }; + + system.defaults.WindowManager.StandardHideDesktopIcons = mkOption { + type = types.nullOr types.bool; + default = null; + description = '' + Hide items on desktop. + ''; + }; + + system.defaults.WindowManager.HideDesktop = mkOption { + type = types.nullOr types.bool; + default = null; + description = '' + Hide items in Stage Manager. + ''; + }; + system.defaults.WindowManager.EnableTiledWindowMargins = mkOption { + type = types.nullOr types.bool; + default = null; + description = '' + Enable Window Margins. The default is true. + ''; + }; + + system.defaults.WindowManager.StandardHideWidgets = mkOption { + type = types.nullOr types.bool; + default = null; + description = '' + Hide widgets on desktop. + ''; + }; + + system.defaults.WindowManager.StageManagerHideWidgets = mkOption { + type = types.nullOr types.bool; + default = null; + description = '' + Hide widgets in Stage Manager. + ''; + }; + }; +} diff --git a/modules/system/defaults/alf.nix b/modules/system/defaults/alf.nix index 6b82eca..96a9806 100644 --- a/modules/system/defaults/alf.nix +++ b/modules/system/defaults/alf.nix @@ -7,7 +7,7 @@ with lib; system.defaults.alf.globalstate = mkOption { type = types.nullOr types.int; default = null; - description = lib.mdDoc '' + description = '' Apple menu > System Preferences > Security and Privacy > Firewall Enable the internal firewall to prevent unauthorised applications, programs @@ -22,7 +22,7 @@ with lib; system.defaults.alf.allowsignedenabled = mkOption { type = types.nullOr types.int; default = null; - description = lib.mdDoc '' + description = '' Apple menu > System Preferences > Security and Privacy > Firewall Allows any signed Application to accept incoming requests. Default is true. @@ -35,7 +35,7 @@ with lib; system.defaults.alf.allowdownloadsignedenabled = mkOption { type = types.nullOr types.int; default = null; - description = lib.mdDoc '' + description = '' Apple menu > System Preferences > Security and Privacy > Firewall Allows any downloaded Application that has been signed to accept incoming requests. Default is 0. @@ -48,7 +48,7 @@ with lib; system.defaults.alf.loggingenabled = mkOption { type = types.nullOr types.int; default = null; - description = lib.mdDoc '' + description = '' Apple menu > System Preferences > Security and Privacy > Firewall Enable logging of requests made to the firewall. Default is 0. @@ -61,7 +61,7 @@ with lib; system.defaults.alf.stealthenabled = mkOption { type = types.nullOr types.int; default = null; - description = lib.mdDoc '' + description = '' Apple menu > System Preferences > Security and firewall Drops incoming requests via ICMP such as ping requests. Default is 0. diff --git a/modules/system/defaults/clock.nix b/modules/system/defaults/clock.nix index cd5c0e8..50eb517 100644 --- a/modules/system/defaults/clock.nix +++ b/modules/system/defaults/clock.nix @@ -5,10 +5,18 @@ with lib; { options = { + system.defaults.menuExtraClock.FlashDateSeparators = mkOption { + type = types.nullOr types.bool; + default = null; + description = '' + When enabled, the clock indicator (which by default is the colon) will flash on and off each second. Default is null. + ''; + }; + system.defaults.menuExtraClock.IsAnalog = mkOption { type = types.nullOr types.bool; default = null; - description = lib.mdDoc '' + description = '' Show an analog clock instead of a digital one. Default is null. ''; }; @@ -16,7 +24,7 @@ with lib; system.defaults.menuExtraClock.Show24Hour = mkOption { type = types.nullOr types.bool; default = null; - description = lib.mdDoc '' + description = '' Show a 24-hour clock, instead of a 12-hour clock. Default is null. ''; }; @@ -24,7 +32,7 @@ with lib; system.defaults.menuExtraClock.ShowAMPM = mkOption { type = types.nullOr types.bool; default = null; - description = lib.mdDoc '' + description = '' Show the AM/PM label. Useful if Show24Hour is false. Default is null. ''; }; @@ -32,7 +40,7 @@ with lib; system.defaults.menuExtraClock.ShowDayOfMonth = mkOption { type = types.nullOr types.bool; default = null; - description = lib.mdDoc '' + description = '' Show the day of the month. Default is null. ''; }; @@ -40,7 +48,7 @@ with lib; system.defaults.menuExtraClock.ShowDayOfWeek = mkOption { type = types.nullOr types.bool; default = null; - description = lib.mdDoc '' + description = '' Show the day of the week. Default is null. ''; }; @@ -48,21 +56,19 @@ with lib; system.defaults.menuExtraClock.ShowDate = mkOption { type = types.nullOr (types.enum [ 0 1 2 ]); default = null; - description = lib.mdDoc '' + description = '' Show the full date. Default is null. - 0 = Show the date - 1 = Don't show - 2 = Don't show - - TODO: I don't know what the difference is between 1 and 2. + 0 = When space allows + 1 = Always + 2 = Never ''; }; system.defaults.menuExtraClock.ShowSeconds = mkOption { type = types.nullOr types.bool; default = null; - description = lib.mdDoc '' + description = '' Show the clock with second precision, instead of minutes. Default is null. ''; }; diff --git a/modules/system/defaults/controlcenter.nix b/modules/system/defaults/controlcenter.nix new file mode 100644 index 0000000..91532fa --- /dev/null +++ b/modules/system/defaults/controlcenter.nix @@ -0,0 +1,100 @@ +{ config, lib, ... }: + +{ + options = { + + system.defaults.controlcenter.BatteryShowPercentage = lib.mkOption { + type = lib.types.nullOr lib.types.bool; + default = null; + description = '' + Apple menu > System Preferences > Control Center > Battery + + Show a battery percentage in menu bar. Default is null. + ''; + }; + + system.defaults.controlcenter.Sound = lib.mkOption { + type = lib.types.nullOr lib.types.bool; + apply = v: if v == null then null else if v == true then 18 else 24; + default = null; + description = '' + Apple menu > System Preferences > Control Center > Sound + + Show a sound control in menu bar . Default is null. + + 18 = Display icon in menu bar + 24 = Hide icon in menu bar + ''; + }; + + system.defaults.controlcenter.Bluetooth = lib.mkOption { + type = lib.types.nullOr lib.types.bool; + apply = v: if v == null then null else if v == true then 18 else 24; + default = null; + description = '' + Apple menu > System Preferences > Control Center > Bluetooth + + Show a bluetooth control in menu bar. Default is null. + + 18 = Display icon in menu bar + 24 = Hide icon in menu bar + ''; + }; + + system.defaults.controlcenter.AirDrop = lib.mkOption { + type = lib.types.nullOr lib.types.bool; + apply = v: if v == null then null else if v == true then 18 else 24; + default = null; + description = '' + Apple menu > System Preferences > Control Center > AirDrop + + Show a AirDrop control in menu bar. Default is null. + + 18 = Display icon in menu bar + 24 = Hide icon in menu bar + ''; + }; + + system.defaults.controlcenter.Display = lib.mkOption { + type = lib.types.nullOr lib.types.bool; + apply = v: if v == null then null else if v == true then 18 else 24; + default = null; + description = '' + Apple menu > System Preferences > Control Center > Display + + Show a Screen Brightness control in menu bar. Default is null. + + 18 = Display icon in menu bar + 24 = Hide icon in menu bar + ''; + }; + + system.defaults.controlcenter.FocusModes = lib.mkOption { + type = lib.types.nullOr lib.types.bool; + apply = v: if v == null then null else if v == true then 18 else 24; + default = null; + description = '' + Apple menu > System Preferences > Control Center > Focus + + Show a Focus control in menu bar. Default is null. + + 18 = Display icon in menu bar + 24 = Hide icon in menu bar + ''; + }; + + system.defaults.controlcenter.NowPlaying = lib.mkOption { + type = lib.types.nullOr lib.types.bool; + apply = v: if v == null then null else if v == true then 18 else 24; + default = null; + description = '' + Apple menu > System Preferences > Control Center > Now Playing + + Show a Now Playing control in menu bar. Default is null. + + 18 = Display icon in menu bar + 24 = Hide icon in menu bar + ''; + }; + }; +} diff --git a/modules/system/defaults/dock.nix b/modules/system/defaults/dock.nix index 9d54f75..bba0afb 100644 --- a/modules/system/defaults/dock.nix +++ b/modules/system/defaults/dock.nix @@ -6,12 +6,16 @@ let # Should only be used with options that previously used floats defined as strings. inherit (config.lib.defaults.types) floatWithDeprecationError; in { + imports = [ + (mkRenamedOptionModule [ "system" "defaults" "dock" "expose-group-by-app" ] [ "system" "defaults" "dock" "expose-group-apps" ]) + ]; + options = { system.defaults.dock.appswitcher-all-displays = mkOption { type = types.nullOr types.bool; default = null; - description = lib.mdDoc '' + description = '' Whether to display the appswitcher on all displays or only the main one. The default is false. ''; }; @@ -19,8 +23,8 @@ in { system.defaults.dock.autohide = mkOption { type = types.nullOr types.bool; default = null; - description = lib.mdDoc '' - Whether to automatically hide and show the dock. The default is false. + description = '' + Whether to automatically hide and show the dock. The default is false. ''; }; @@ -28,7 +32,7 @@ in { type = types.nullOr floatWithDeprecationError; default = null; example = 0.24; - description = lib.mdDoc '' + description = '' Sets the speed of the autohide delay. The default is given in the example. ''; }; @@ -37,7 +41,7 @@ in { type = types.nullOr floatWithDeprecationError; default = null; example = 1.0; - description = lib.mdDoc '' + description = '' Sets the speed of the animation when hiding/showing the Dock. The default is given in the example. ''; }; @@ -45,7 +49,7 @@ in { system.defaults.dock.dashboard-in-overlay = mkOption { type = types.nullOr types.bool; default = null; - description = lib.mdDoc '' + description = '' Whether to hide Dashboard as a Space. The default is false. ''; }; @@ -53,7 +57,7 @@ in { system.defaults.dock.enable-spring-load-actions-on-all-items = mkOption { type = types.nullOr types.bool; default = null; - description = lib.mdDoc '' + description = '' Enable spring loading for all Dock items. The default is false. ''; }; @@ -62,23 +66,23 @@ in { type = types.nullOr floatWithDeprecationError; default = null; example = 1.0; - description = lib.mdDoc '' + description = '' Sets the speed of the Mission Control animations. The default is given in the example. ''; }; - system.defaults.dock.expose-group-by-app = mkOption { + system.defaults.dock.expose-group-apps = mkOption { type = types.nullOr types.bool; default = null; - description = lib.mdDoc '' - Whether to group windows by application in Mission Control's Exposé. The default is true. + description = '' + Whether to group windows by application in Mission Control's Exposé. The default is false. ''; }; system.defaults.dock.launchanim = mkOption { type = types.nullOr types.bool; default = null; - description = lib.mdDoc '' + description = '' Animate opening applications from the Dock. The default is true. ''; }; @@ -86,7 +90,7 @@ in { system.defaults.dock.mineffect = mkOption { type = types.nullOr (types.enum [ "genie" "suck" "scale" ]); default = null; - description = lib.mdDoc '' + description = '' Set the minimize/maximize window effect. The default is genie. ''; }; @@ -94,7 +98,7 @@ in { system.defaults.dock.minimize-to-application = mkOption { type = types.nullOr types.bool; default = null; - description = lib.mdDoc '' + description = '' Whether to minimize windows into their application icon. The default is false. ''; }; @@ -102,7 +106,7 @@ in { system.defaults.dock.mouse-over-hilite-stack = mkOption { type = types.nullOr types.bool; default = null; - description = lib.mdDoc '' + description = '' Enable highlight hover effect for the grid view of a stack in the Dock. ''; }; @@ -110,7 +114,7 @@ in { system.defaults.dock.mru-spaces = mkOption { type = types.nullOr types.bool; default = null; - description = lib.mdDoc '' + description = '' Whether to automatically rearrange spaces based on most recent use. The default is true. ''; }; @@ -118,7 +122,7 @@ in { system.defaults.dock.orientation = mkOption { type = types.nullOr (types.enum [ "bottom" "left" "right" ]); default = null; - description = lib.mdDoc '' + description = '' Position of the dock on screen. The default is "bottom". ''; }; @@ -127,7 +131,7 @@ in { type = types.nullOr (types.listOf (types.either types.path types.str)); default = null; example = [ "/Applications/Safari.app" "/System/Applications/Utilities/Terminal.app" ]; - description = lib.mdDoc '' + description = '' Persistent applications in the dock. ''; apply = value: @@ -136,10 +140,31 @@ in { else map (app: { tile-data = { file-data = { _CFURLString = app; _CFURLStringType = 0; }; }; }) value; }; + system.defaults.dock.persistent-others = mkOption { + type = types.nullOr (types.listOf (types.either types.path types.str)); + default = null; + example = [ "~/Documents" "~/Downloads" ]; + description = '' + Persistent folders in the dock. + ''; + apply = value: + if !(isList value) + then value + else map (folder: { tile-data = { file-data = { _CFURLString = "file://" + folder; _CFURLStringType = 15; }; }; tile-type = if strings.hasInfix "." (last (splitString "/" folder)) then "file-tile" else "directory-tile"; }) value; + }; + + system.defaults.dock.scroll-to-open = mkOption { + type = types.nullOr types.bool; + default = null; + description = '' + Scroll up on a Dock icon to show all Space's opened windows for an app, or open stack. The default is false. + ''; + }; + system.defaults.dock.show-process-indicators = mkOption { type = types.nullOr types.bool; default = null; - description = lib.mdDoc '' + description = '' Show indicator lights for open applications in the Dock. The default is true. ''; }; @@ -147,7 +172,7 @@ in { system.defaults.dock.showhidden = mkOption { type = types.nullOr types.bool; default = null; - description = lib.mdDoc '' + description = '' Whether to make icons of hidden applications tranclucent. The default is false. ''; }; @@ -155,15 +180,23 @@ in { system.defaults.dock.show-recents = mkOption { type = types.nullOr types.bool; default = null; - description = lib.mdDoc '' + description = '' Show recent applications in the dock. The default is true. ''; }; + system.defaults.dock.slow-motion-allowed = mkOption { + type = types.nullOr types.bool; + default = null; + description = '' + Allow for slow-motion minimize effect while holding Shift key. The default is false. + ''; + }; + system.defaults.dock.static-only = mkOption { type = types.nullOr types.bool; default = null; - description = lib.mdDoc '' + description = '' Show only open applications in the Dock. The default is false. ''; }; @@ -171,7 +204,7 @@ in { system.defaults.dock.tilesize = mkOption { type = types.nullOr types.int; default = null; - description = lib.mdDoc '' + description = '' Size of the icons in the dock. The default is 64. ''; }; @@ -179,7 +212,7 @@ in { system.defaults.dock.magnification = mkOption { type = types.nullOr types.bool; default = null; - description = lib.mdDoc '' + description = '' Magnify icon on hover. The default is false. ''; }; @@ -187,16 +220,15 @@ in { system.defaults.dock.largesize = mkOption { type = types.nullOr (types.ints.between 16 128); default = null; - description = lib.mdDoc '' + description = '' Magnified icon size on hover. The default is 16. ''; }; - system.defaults.dock.wvous-tl-corner = mkOption { type = types.nullOr types.ints.positive; default = null; - description = lib.mdDoc '' + description = '' Hot corner action for top left corner. Valid values include: * `1`: Disabled @@ -217,7 +249,7 @@ in { system.defaults.dock.wvous-bl-corner = mkOption { type = types.nullOr types.ints.positive; default = null; - description = lib.mdDoc '' + description = '' Hot corner action for bottom left corner. Valid values include: * `1`: Disabled @@ -238,7 +270,7 @@ in { system.defaults.dock.wvous-tr-corner = mkOption { type = types.nullOr types.ints.positive; default = null; - description = lib.mdDoc '' + description = '' Hot corner action for top right corner. Valid values include: * `1`: Disabled @@ -259,7 +291,7 @@ in { system.defaults.dock.wvous-br-corner = mkOption { type = types.nullOr types.ints.positive; default = null; - description = lib.mdDoc '' + description = '' Hot corner action for bottom right corner. Valid values include: * `1`: Disabled diff --git a/modules/system/defaults/finder.nix b/modules/system/defaults/finder.nix index 1137e6c..5004b2c 100644 --- a/modules/system/defaults/finder.nix +++ b/modules/system/defaults/finder.nix @@ -1,14 +1,17 @@ { config, lib, ... }: -with lib; +let + inherit (lib) mkOption types; + cfg = config.system.defaults.finder; +in { options = { system.defaults.finder.AppleShowAllFiles = mkOption { type = types.nullOr types.bool; default = null; - description = lib.mdDoc '' + description = '' Whether to always show hidden files. The default is false. ''; }; @@ -16,7 +19,7 @@ with lib; system.defaults.finder.ShowStatusBar = mkOption { type = types.nullOr types.bool; default = null; - description = lib.mdDoc '' + description = '' Show status bar at bottom of finder windows with item/disk space stats. The default is false. ''; }; @@ -24,7 +27,7 @@ with lib; system.defaults.finder.ShowPathbar = mkOption { type = types.nullOr types.bool; default = null; - description = lib.mdDoc '' + description = '' Show path breadcrumbs in finder windows. The default is false. ''; }; @@ -32,16 +35,25 @@ with lib; system.defaults.finder.FXDefaultSearchScope = mkOption { type = types.nullOr types.str; default = null; - description = lib.mdDoc '' + description = '' Change the default search scope. Use "SCcf" to default to current folder. The default is unset ("This Mac"). ''; }; + system.defaults.finder.FXRemoveOldTrashItems = mkOption { + type = types.nullOr types.bool; + default = null; + description = '' + Remove items in the trash after 30 days. + The default is false. + ''; + }; + system.defaults.finder.FXPreferredViewStyle = mkOption { type = types.nullOr types.str; default = null; - description = lib.mdDoc '' + description = '' Change the default finder view. "icnv" = Icon view, "Nlsv" = List view, "clmv" = Column View, "Flwv" = Gallery View The default is icnv. @@ -51,15 +63,15 @@ with lib; system.defaults.finder.AppleShowAllExtensions = mkOption { type = types.nullOr types.bool; default = null; - description = lib.mdDoc '' - Whether to always show file extensions. The default is false. + description = '' + Whether to always show file extensions. The default is false. ''; }; system.defaults.finder.CreateDesktop = mkOption { type = types.nullOr types.bool; default = null; - description = lib.mdDoc '' + description = '' Whether to show icons on the desktop or not. The default is true. ''; }; @@ -67,26 +79,123 @@ with lib; system.defaults.finder.QuitMenuItem = mkOption { type = types.nullOr types.bool; default = null; - description = lib.mdDoc '' - Whether to allow quitting of the Finder. The default is false. + description = '' + Whether to allow quitting of the Finder. The default is false. + ''; + }; + + system.defaults.finder.ShowExternalHardDrivesOnDesktop = mkOption { + type = types.nullOr types.bool; + default = null; + description = '' + Whether to show external disks on desktop. The default is true. + ''; + }; + + system.defaults.finder.ShowHardDrivesOnDesktop = mkOption { + type = types.nullOr types.bool; + default = null; + description = '' + Whether to show hard disks on desktop. The default is false. + ''; + }; + + system.defaults.finder.ShowMountedServersOnDesktop = mkOption { + type = types.nullOr types.bool; + default = null; + description = '' + Whether to show connected servers on desktop. The default is false. + ''; + }; + + system.defaults.finder.ShowRemovableMediaOnDesktop = mkOption { + type = types.nullOr types.bool; + default = null; + description = '' + Whether to show removable media (CDs, DVDs and iPods) on desktop. The default is true. ''; }; system.defaults.finder._FXShowPosixPathInTitle = mkOption { type = types.nullOr types.bool; default = null; - description = lib.mdDoc '' - Whether to show the full POSIX filepath in the window title. The default is false. + description = '' + Whether to show the full POSIX filepath in the window title. The default is false. + ''; + }; + + system.defaults.finder._FXSortFoldersFirst = mkOption { + type = types.nullOr types.bool; + default = null; + description = '' + Keep folders on top when sorting by name. The default is false. + ''; + }; + + system.defaults.finder._FXSortFoldersFirstOnDesktop = mkOption { + type = types.nullOr types.bool; + default = null; + description = '' + Keep folders on top when sorting by name on the desktop. The default is false. ''; }; system.defaults.finder.FXEnableExtensionChangeWarning = mkOption { type = types.nullOr types.bool; default = null; - description = lib.mdDoc '' - Whether to show warnings when change the file extension of files. The default is true. + description = '' + Whether to show warnings when change the file extension of files. The default is true. + ''; + }; + + system.defaults.finder.NewWindowTarget = mkOption { + type = types.nullOr (types.enum [ + "Computer" + "OS volume" + "Home" + "Desktop" + "Documents" + "Recents" + "iCloud Drive" + "Other" + ]); + apply = key: if key == null then null else { + "Computer" = "PfCm"; + "OS volume" = "PfVo"; + "Home" = "PfHm"; + "Desktop" = "PfDe"; + "Documents" = "PfDo"; + "Recents" = "PfAF"; + "iCloud Drive" = "PfID"; + "Other" = "PfLo"; + }.${key}; + default = null; + description = '' + Change the default folder shown in Finder windows. "Other" corresponds to the value of + NewWindowTargetPath. The default is unset ("Recents"). ''; }; + system.defaults.finder.NewWindowTargetPath = mkOption { + type = types.nullOr types.str; + default = null; + description = '' + Sets the URI to open when NewWindowTarget is "Other". Spaces and similar characters must be + escaped. If the value is invalid, Finder will open your home directory. + Example: "file:///Users/foo/long%20cat%20pics". + The default is unset. + ''; + }; + }; + + config = { + assertions = [{ + assertion = cfg.NewWindowTargetPath != null -> cfg.NewWindowTarget == "PfLo"; + message = "`system.defaults.finder.NewWindowTarget` should be set to `Other` when `NewWindowTargetPath` is non-null."; + } + { + assertion = cfg.NewWindowTarget == "PfLo" -> cfg.NewWindowTargetPath != null; + message = "`system.defaults.finder.NewWindowTargetPath` should be non-null when `NewWindowTarget` is set to `Other`."; + }]; }; } diff --git a/modules/system/defaults/hitoolbox.nix b/modules/system/defaults/hitoolbox.nix new file mode 100644 index 0000000..c2e336b --- /dev/null +++ b/modules/system/defaults/hitoolbox.nix @@ -0,0 +1,29 @@ +{ lib, ... }: + +{ + options = { + + system.defaults.hitoolbox.AppleFnUsageType = lib.mkOption { + type = lib.types.nullOr (lib.types.enum [ + "Do Nothing" + "Change Input Source" + "Show Emoji & Symbols" + "Start Dictation" + ]); + apply = key: if key == null then null else { + "Do Nothing" = 0; + "Change Input Source" = 1; + "Show Emoji & Symbols" = 2; + "Start Dictation" = 3; + }.${key}; + default = null; + description = '' + Chooses what happens when you press the Fn key on the keyboard. A restart is required for + this setting to take effect. + + The default is unset ("Show Emoji & Symbols"). + ''; + }; + + }; +} diff --git a/modules/system/defaults/loginwindow.nix b/modules/system/defaults/loginwindow.nix index 81f7dfa..a8a06eb 100644 --- a/modules/system/defaults/loginwindow.nix +++ b/modules/system/defaults/loginwindow.nix @@ -7,7 +7,7 @@ with lib; system.defaults.loginwindow.SHOWFULLNAME = mkOption { type = types.nullOr types.bool; default = null; - description = lib.mdDoc '' + description = '' Apple menu > System Preferences > Users and Groups > Login Options Displays login window as a name and password field instead of a list of users. @@ -18,7 +18,7 @@ with lib; system.defaults.loginwindow.autoLoginUser = mkOption { type = types.nullOr types.str; default = null; - description = lib.mdDoc '' + description = '' Apple menu > System Preferences > Users and Groups > Login Options Auto login the supplied user on boot. Default is Off. @@ -28,7 +28,7 @@ with lib; system.defaults.loginwindow.GuestEnabled = mkOption { type = types.nullOr types.bool; default = null; - description = lib.mdDoc '' + description = '' Apple menu > System Preferences > Users and Groups > Login Options Allow users to login to the machine as guests using the Guest account. Default is true. @@ -38,7 +38,7 @@ with lib; system.defaults.loginwindow.LoginwindowText = mkOption { type = types.nullOr types.str; default = null; - description = lib.mdDoc '' + description = '' Text to be shown on the login window. Default is "\\\\U03bb". ''; }; @@ -46,7 +46,7 @@ with lib; system.defaults.loginwindow.ShutDownDisabled = mkOption { type = types.nullOr types.bool; default = null; - description = lib.mdDoc '' + description = '' Apple menu > System Preferences > Users and Groups > Login Options Hides the Shut Down button on the login screen. Default is false. @@ -56,7 +56,7 @@ with lib; system.defaults.loginwindow.SleepDisabled = mkOption { type = types.nullOr types.bool; default = null; - description = lib.mdDoc '' + description = '' Apple menu > System Preferences > Users and Groups > Login Options Hides the Sleep button on the login screen. Default is false. @@ -66,7 +66,7 @@ with lib; system.defaults.loginwindow.RestartDisabled = mkOption { type = types.nullOr types.bool; default = null; - description = lib.mdDoc '' + description = '' Apple menu > System Preferences > Users and Groups > Login Options Hides the Restart button on the login screen. Default is false. @@ -76,7 +76,7 @@ with lib; system.defaults.loginwindow.ShutDownDisabledWhileLoggedIn = mkOption { type = types.nullOr types.bool; default = null; - description = lib.mdDoc '' + description = '' Apple menu > System Preferences > Users and Groups > Login Options Disables the "Shutdown" option when users are logged in. Default is false. @@ -86,7 +86,7 @@ with lib; system.defaults.loginwindow.PowerOffDisabledWhileLoggedIn = mkOption { type = types.nullOr types.bool; default = null; - description = lib.mdDoc '' + description = '' Apple menu > System Preferences > Users and Groups > Login Options If set to true, the Power Off menu item will be disabled when the user is logged in. Default is false. @@ -96,7 +96,7 @@ with lib; system.defaults.loginwindow.RestartDisabledWhileLoggedIn = mkOption { type = types.nullOr types.bool; default = null; - description = lib.mdDoc '' + description = '' Apple menu > System Preferences > Users and Groups > Login Options Disables the “Restart” option when users are logged in. Default is false. @@ -106,7 +106,7 @@ with lib; system.defaults.loginwindow.DisableConsoleAccess = mkOption { type = types.nullOr types.bool; default = null; - description = lib.mdDoc '' + description = '' Disables the ability for a user to access the console by typing “>console” for a username at the login window. Default is false. ''; diff --git a/modules/system/defaults/magicmouse.nix b/modules/system/defaults/magicmouse.nix index 56d7f71..9344ffe 100644 --- a/modules/system/defaults/magicmouse.nix +++ b/modules/system/defaults/magicmouse.nix @@ -11,7 +11,7 @@ with lib; "TwoButton" ]); default = null; - description = lib.mdDoc '' + description = '' "OneButton": any tap is a left click. "TwoButton": allow left- and right-clicking. ''; diff --git a/modules/system/defaults/screencapture.nix b/modules/system/defaults/screencapture.nix index 4483fd6..351ca5f 100644 --- a/modules/system/defaults/screencapture.nix +++ b/modules/system/defaults/screencapture.nix @@ -1,4 +1,4 @@ -{ config, lib, ... }: +{ lib, ... }: with lib; @@ -8,7 +8,7 @@ with lib; system.defaults.screencapture.location = mkOption { type = types.nullOr types.str; default = null; - description = lib.mdDoc '' + description = '' The filesystem path to which screencaptures should be written. ''; }; @@ -16,7 +16,7 @@ with lib; system.defaults.screencapture.type = mkOption { type = types.nullOr types.str; default = null; - description = lib.mdDoc '' + description = '' The image format to use, such as "jpg". ''; }; @@ -24,9 +24,44 @@ with lib; system.defaults.screencapture.disable-shadow = mkOption { type = types.nullOr types.bool; default = null; - description = lib.mdDoc '' + description = '' Disable drop shadow border around screencaptures. The default is false. ''; }; + + system.defaults.screencapture.include-date = mkOption { + type = types.nullOr types.bool; + default = null; + description = '' + Include date and time in screenshot filenames. The default is true. + Screenshot 2024-01-09 at 13.27.20.png would be an example for true. + + Screenshot.png + Screenshot 1.png would be an example for false. + ''; + }; + + system.defaults.screencapture.show-thumbnail = mkOption { + type = types.nullOr types.bool; + default = null; + description = '' + Show thumbnail after screencapture before writing to file. The default is true. + ''; + }; + + system.defaults.screencapture.target = mkOption { + type = types.nullOr (types.enum [ "file" "clipboard" "preview" "mail" "messages" ]); + default = null; + description = '' + Target to which screencapture should save screenshot to. The default is "file". + Valid values include: + + * `file`: Saves as a file in location specified by `system.defaults.screencapture.location` + * `clipboard`: Saves screenshot to clipboard + * `preview`: Opens screenshot in Preview app + * `mail` + * `messages` + ''; + }; }; } diff --git a/modules/system/defaults/screensaver.nix b/modules/system/defaults/screensaver.nix index 68bd1e0..3e5032b 100644 --- a/modules/system/defaults/screensaver.nix +++ b/modules/system/defaults/screensaver.nix @@ -8,7 +8,7 @@ with lib; system.defaults.screensaver.askForPassword = mkOption { type = types.nullOr types.bool; default = null; - description = lib.mdDoc '' + description = '' If true, the user is prompted for a password when the screen saver is unlocked or stopped. The default is false. ''; }; @@ -16,7 +16,7 @@ with lib; system.defaults.screensaver.askForPasswordDelay = mkOption { type = types.nullOr types.int; default = null; - description = lib.mdDoc '' + description = '' The number of seconds to delay before the password will be required to unlock or stop the screen saver (the grace period). ''; }; diff --git a/modules/system/defaults/smb.nix b/modules/system/defaults/smb.nix index b694059..0bc8be5 100644 --- a/modules/system/defaults/smb.nix +++ b/modules/system/defaults/smb.nix @@ -7,13 +7,13 @@ with lib; system.defaults.smb.NetBIOSName = mkOption { type = types.nullOr types.str; default = null; - description = lib.mdDoc "Hostname to use for NetBIOS."; + description = "Hostname to use for NetBIOS."; }; system.defaults.smb.ServerDescription = mkOption { type = types.nullOr types.str; default = null; - description = lib.mdDoc "Hostname to use for sharing services."; + description = "Hostname to use for sharing services."; }; }; } diff --git a/modules/system/defaults/spaces.nix b/modules/system/defaults/spaces.nix index 4b535d1..ac2355b 100644 --- a/modules/system/defaults/spaces.nix +++ b/modules/system/defaults/spaces.nix @@ -7,7 +7,7 @@ with lib; system.defaults.spaces.spans-displays = mkOption { type = types.nullOr types.bool; default = null; - description = lib.mdDoc '' + description = '' Apple menu > System Preferences > Mission Control Displays have separate Spaces (note a logout is required before diff --git a/modules/system/defaults/trackpad.nix b/modules/system/defaults/trackpad.nix index ff5e2bb..354cfc6 100644 --- a/modules/system/defaults/trackpad.nix +++ b/modules/system/defaults/trackpad.nix @@ -8,7 +8,7 @@ with lib; system.defaults.trackpad.Clicking = mkOption { type = types.nullOr types.bool; default = null; - description = lib.mdDoc '' + description = '' Whether to enable trackpad tap to click. The default is false. ''; }; @@ -16,7 +16,7 @@ with lib; system.defaults.trackpad.Dragging = mkOption { type = types.nullOr types.bool; default = null; - description = lib.mdDoc '' + description = '' Whether to enable tap-to-drag. The default is false. ''; }; @@ -24,7 +24,7 @@ with lib; system.defaults.trackpad.TrackpadRightClick = mkOption { type = types.nullOr types.bool; default = null; - description = lib.mdDoc '' + description = '' Whether to enable trackpad right click. The default is false. ''; }; @@ -32,7 +32,7 @@ with lib; system.defaults.trackpad.TrackpadThreeFingerDrag = mkOption { type = types.nullOr types.bool; default = null; - description = lib.mdDoc '' + description = '' Whether to enable three finger drag. The default is false. ''; }; @@ -40,7 +40,7 @@ with lib; system.defaults.trackpad.ActuationStrength = mkOption { type = types.nullOr (types.enum [ 0 1 ]); default = null; - description = lib.mdDoc '' + description = '' 0 to enable Silent Clicking, 1 to disable. The default is 1. ''; }; @@ -48,7 +48,7 @@ with lib; system.defaults.trackpad.FirstClickThreshold = mkOption { type = types.nullOr (types.enum [ 0 1 2 ]); default = null; - description = lib.mdDoc '' + description = '' For normal click: 0 for light clicking, 1 for medium, 2 for firm. The default is 1. ''; @@ -57,11 +57,20 @@ with lib; system.defaults.trackpad.SecondClickThreshold = mkOption { type = types.nullOr (types.enum [ 0 1 2 ]); default = null; - description = lib.mdDoc '' + description = '' For force touch: 0 for light clicking, 1 for medium, 2 for firm. The default is 1. ''; }; + system.defaults.trackpad.TrackpadThreeFingerTapGesture = mkOption { + type = types.nullOr (types.enum [ 0 2 ]); + default = null; + description = '' + 0 to disable three finger tap, 2 to trigger Look up & data detectors. + The default is 2. + ''; + }; + }; } diff --git a/modules/system/defaults/universalaccess.nix b/modules/system/defaults/universalaccess.nix index 8d012e6..8a2de90 100644 --- a/modules/system/defaults/universalaccess.nix +++ b/modules/system/defaults/universalaccess.nix @@ -9,7 +9,7 @@ with lib; type = types.nullOr types.float; default = null; example = 1.5; - description = lib.mdDoc '' + description = '' Set the size of cursor. 1 for normal, 4 for maximum. The default is 1. ''; @@ -18,7 +18,7 @@ with lib; system.defaults.universalaccess.reduceMotion = mkOption { type = types.nullOr types.bool; default = null; - description = lib.mdDoc '' + description = '' Disable animation when switching screens or opening apps ''; }; @@ -26,7 +26,7 @@ with lib; system.defaults.universalaccess.reduceTransparency = mkOption { type = types.nullOr types.bool; default = null; - description = lib.mdDoc '' + description = '' Disable transparency in the menu bar and elsewhere. Requires macOS Yosemite or later. The default is false. @@ -36,7 +36,7 @@ with lib; system.defaults.universalaccess.closeViewScrollWheelToggle = mkOption { type = types.nullOr types.bool; default = null; - description = lib.mdDoc '' + description = '' Use scroll gesture with the Ctrl (^) modifier key to zoom. The default is false. ''; @@ -45,7 +45,7 @@ with lib; system.defaults.universalaccess.closeViewZoomFollowsFocus = mkOption { type = types.nullOr types.bool; default = null; - description = lib.mdDoc '' + description = '' Follow the keyboard focus while zoomed in. Without setting `closeViewScrollWheelToggle` this has no effect. The default is false. |
