summaryrefslogtreecommitdiff
path: root/modules/system/defaults
diff options
context:
space:
mode:
authorMaxime Daffis <maxime.daffis@gmail.com>2024-07-11 14:56:29 +0200
committerMaxime Daffis <maxime.daffis@gmail.com>2024-08-02 01:17:45 +0200
commit3dd14e466c78e1a5e90ffeff5cf37b40c3a82a53 (patch)
tree48595c3b5c05e89c9578892660caa29c344f9062 /modules/system/defaults
parentb47af8628624856ad6853168298f1f96364d92d6 (diff)
(feature) Add Stage Manager (com.apple.WindowManager) settings as system.defaults.windowmanager
All credits go to @AlexOwl. Their [PR](https://github.com/LnL7/nix-darwin/pull/505) looked abandonned so I reported their changes and addressed the change requests.
Diffstat (limited to 'modules/system/defaults')
-rw-r--r--modules/system/defaults/WindowManager.nix76
1 files changed, 76 insertions, 0 deletions
diff --git a/modules/system/defaults/WindowManager.nix b/modules/system/defaults/WindowManager.nix
new file mode 100644
index 0000000..38fbaa3
--- /dev/null
+++ b/modules/system/defaults/WindowManager.nix
@@ -0,0 +1,76 @@
+{ 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.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.
+ '';
+ };
+ };
+}