summaryrefslogtreecommitdiff
path: root/modules
diff options
context:
space:
mode:
authorMichael Hoang <Enzime@users.noreply.github.com>2024-11-12 15:13:14 +0000
committerGitHub <noreply@github.com>2024-11-12 15:13:14 +0000
commite30d226a24e4079d068321f935dbf30626f08dc8 (patch)
treef1af62024c94c96474dfbb74db3c06f23b701ec0 /modules
parent5c74ab862c8070cbf6400128a1b56abb213656da (diff)
parent32df51bf2b82dab724b845f4ad2d45bc1a0d0b9e (diff)
Merge pull request #1163 from LucasMendesl/feature/controlcenter
defaults: add `controlcenter` and other options
Diffstat (limited to 'modules')
-rw-r--r--modules/module-list.nix1
-rw-r--r--modules/system/defaults-write.nix4
-rw-r--r--modules/system/defaults/clock.nix8
-rw-r--r--modules/system/defaults/controlcenter.nix100
-rw-r--r--modules/system/defaults/dock.nix8
-rw-r--r--modules/system/defaults/finder.nix57
-rw-r--r--modules/system/defaults/screencapture.nix12
7 files changed, 186 insertions, 4 deletions
diff --git a/modules/module-list.nix b/modules/module-list.nix
index 3725c7e..aa190c7 100644
--- a/modules/module-list.nix
+++ b/modules/module-list.nix
@@ -14,6 +14,7 @@
./system/activation-scripts.nix
./system/applications.nix
./system/defaults-write.nix
+ ./system/defaults/controlcenter.nix
./system/defaults/LaunchServices.nix
./system/defaults/NSGlobalDomain.nix
./system/defaults/GlobalPreferences.nix
diff --git a/modules/system/defaults-write.nix b/modules/system/defaults-write.nix
index 7af972d..87b179b 100644
--- a/modules/system/defaults-write.nix
+++ b/modules/system/defaults-write.nix
@@ -34,9 +34,11 @@ let
universalaccess = defaultsToList "com.apple.universalaccess" cfg.universalaccess;
ActivityMonitor = defaultsToList "com.apple.ActivityMonitor" cfg.ActivityMonitor;
WindowManager = defaultsToList "com.apple.WindowManager" cfg.WindowManager;
+ controlcenter = defaultsToList "~/Library/Preferences/ByHost/com.apple.controlcenter" cfg.controlcenter;
CustomUserPreferences = flatten (mapAttrsToList (name: value: defaultsToList name value) cfg.CustomUserPreferences);
CustomSystemPreferences = flatten (mapAttrsToList (name: value: defaultsToList name value) cfg.CustomSystemPreferences);
+
mkIfAttrs = list: mkIf (any (attrs: attrs != { }) list);
in
@@ -89,6 +91,7 @@ in
ActivityMonitor
CustomUserPreferences
WindowManager
+ controlcenter
]
''
# Set defaults
@@ -113,6 +116,7 @@ in
${concatStringsSep "\n" ActivityMonitor}
${concatStringsSep "\n" CustomUserPreferences}
${concatStringsSep "\n" WindowManager}
+ ${concatStringsSep "\n" controlcenter}
${optionalString (length dock > 0) ''
# Only restart Dock if current user is logged in
diff --git a/modules/system/defaults/clock.nix b/modules/system/defaults/clock.nix
index 3fae464..50eb517 100644
--- a/modules/system/defaults/clock.nix
+++ b/modules/system/defaults/clock.nix
@@ -5,6 +5,14 @@ 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;
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 5c4a470..2d5c161 100644
--- a/modules/system/defaults/dock.nix
+++ b/modules/system/defaults/dock.nix
@@ -149,6 +149,14 @@ in {
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;
diff --git a/modules/system/defaults/finder.nix b/modules/system/defaults/finder.nix
index 51fff74..5004b2c 100644
--- a/modules/system/defaults/finder.nix
+++ b/modules/system/defaults/finder.nix
@@ -41,6 +41,15 @@ in
'';
};
+ 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;
@@ -55,7 +64,7 @@ in
type = types.nullOr types.bool;
default = null;
description = ''
- Whether to always show file extensions. The default is false.
+ Whether to always show file extensions. The default is false.
'';
};
@@ -71,7 +80,39 @@ in
type = types.nullOr types.bool;
default = null;
description = ''
- Whether to allow quitting of the Finder. The default is false.
+ 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.
'';
};
@@ -79,7 +120,7 @@ in
type = types.nullOr types.bool;
default = null;
description = ''
- Whether to show the full POSIX filepath in the window title. The default is false.
+ Whether to show the full POSIX filepath in the window title. The default is false.
'';
};
@@ -91,11 +132,19 @@ in
'';
};
+ 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 = ''
- Whether to show warnings when change the file extension of files. The default is true.
+ Whether to show warnings when change the file extension of files. The default is true.
'';
};
diff --git a/modules/system/defaults/screencapture.nix b/modules/system/defaults/screencapture.nix
index b5efc22..80dcaab 100644
--- a/modules/system/defaults/screencapture.nix
+++ b/modules/system/defaults/screencapture.nix
@@ -29,6 +29,18 @@ with lib;
'';
};
+ 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;