diff options
| author | Michael Hoang <Enzime@users.noreply.github.com> | 2024-05-14 12:22:58 +1000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-05-14 12:22:58 +1000 |
| commit | de8b0d60d6fd34f35abffc46adc94ebaa6996ce2 (patch) | |
| tree | d5754f0f8f13ca8eb483d50069a729a1b786526c | |
| parent | 230a197063de9287128e2c68a7a4b0cd7d0b50a7 (diff) | |
| parent | 457a5d99529818fdbcf3af17b3604a8ab778bc0b (diff) | |
Merge pull request #928 from rmgpinto/persistent-others
Add persistent others to dock
| -rw-r--r-- | modules/system/defaults/dock.nix | 13 | ||||
| -rw-r--r-- | tests/fixtures/system-defaults-write/activate-user.txt | 30 | ||||
| -rw-r--r-- | tests/system-defaults-write.nix | 1 |
3 files changed, 44 insertions, 0 deletions
diff --git a/modules/system/defaults/dock.nix b/modules/system/defaults/dock.nix index 27772ca..b48486e 100644 --- a/modules/system/defaults/dock.nix +++ b/modules/system/defaults/dock.nix @@ -136,6 +136,19 @@ 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 = lib.mdDoc '' + Persistent folders in the dock. + ''; + apply = value: + if !(isList value) + then value + else map (folder: { tile-data = { file-data = { _CFURLString = folder; _CFURLStringType = 15; }; }; }) value; + }; + system.defaults.dock.show-process-indicators = mkOption { type = types.nullOr types.bool; default = null; diff --git a/tests/fixtures/system-defaults-write/activate-user.txt b/tests/fixtures/system-defaults-write/activate-user.txt index 1021ab3..5fa5952 100644 --- a/tests/fixtures/system-defaults-write/activate-user.txt +++ b/tests/fixtures/system-defaults-write/activate-user.txt @@ -255,6 +255,36 @@ defaults write com.apple.dock 'persistent-apps' $'<?xml version="1.0" encoding=" </dict> </array> </plist>' +defaults write com.apple.dock 'persistent-others' $'<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> +<plist version="1.0"> +<array> + <dict> + <key>tile-data</key> + <dict> + <key>file-data</key> + <dict> + <key>_CFURLString</key> + <string>~/Documents</string> + <key>_CFURLStringType</key> + <integer>15</integer> + </dict> + </dict> + </dict> + <dict> + <key>tile-data</key> + <dict> + <key>file-data</key> + <dict> + <key>_CFURLString</key> + <string>~/Downloads</string> + <key>_CFURLStringType</key> + <integer>15</integer> + </dict> + </dict> + </dict> +</array> +</plist>' diff --git a/tests/system-defaults-write.nix b/tests/system-defaults-write.nix index 9840298..e17d950 100644 --- a/tests/system-defaults-write.nix +++ b/tests/system-defaults-write.nix @@ -47,6 +47,7 @@ system.defaults.dock.autohide-delay = 0.24; system.defaults.dock.orientation = "left"; system.defaults.dock.persistent-apps = ["MyApp.app" "Cool.app"]; + system.defaults.dock.persistent-others = ["~/Documents" "~/Downloads"]; system.defaults.screencapture.location = "/tmp"; system.defaults.screensaver.askForPassword = true; system.defaults.screensaver.askForPasswordDelay = 5; |
