summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRicardo Pinto <hessian_loom_0u@icloud.com>2024-05-15 07:49:00 +0100
committerRicardo Pinto <hessian_loom_0u@icloud.com>2024-05-15 07:49:00 +0100
commit93913d14a310efc40fc84d58d278b96c73c37c65 (patch)
treed6c4265c778b4fbd393e9f1141fc10a91375c082
parente1cacc63e6e324ae95e65e8aaea62dec74686208 (diff)
Add file or directory tile to Dock persistent others
-rw-r--r--modules/system/defaults/dock.nix2
-rw-r--r--tests/fixtures/system-defaults-write/activate-user.txt8
-rw-r--r--tests/system-defaults-write.nix2
3 files changed, 8 insertions, 4 deletions
diff --git a/modules/system/defaults/dock.nix b/modules/system/defaults/dock.nix
index 8c9741c..1e8797f 100644
--- a/modules/system/defaults/dock.nix
+++ b/modules/system/defaults/dock.nix
@@ -146,7 +146,7 @@ in {
apply = value:
if !(isList value)
then value
- else map (folder: { tile-data = { file-data = { _CFURLString = folder; _CFURLStringType = 15; }; }; }) 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.show-process-indicators = mkOption {
diff --git a/tests/fixtures/system-defaults-write/activate-user.txt b/tests/fixtures/system-defaults-write/activate-user.txt
index 5fa5952..1650e21 100644
--- a/tests/fixtures/system-defaults-write/activate-user.txt
+++ b/tests/fixtures/system-defaults-write/activate-user.txt
@@ -265,11 +265,13 @@ defaults write com.apple.dock 'persistent-others' $'<?xml version="1.0" encoding
<key>file-data</key>
<dict>
<key>_CFURLString</key>
- <string>~/Documents</string>
+ <string>file://~/Documents</string>
<key>_CFURLStringType</key>
<integer>15</integer>
</dict>
</dict>
+ <key>tile-type</key>
+ <string>directory-tile</string>
</dict>
<dict>
<key>tile-data</key>
@@ -277,11 +279,13 @@ defaults write com.apple.dock 'persistent-others' $'<?xml version="1.0" encoding
<key>file-data</key>
<dict>
<key>_CFURLString</key>
- <string>~/Downloads</string>
+ <string>file://~/Downloads/file.txt</string>
<key>_CFURLStringType</key>
<integer>15</integer>
</dict>
</dict>
+ <key>tile-type</key>
+ <string>file-tile</string>
</dict>
</array>
</plist>'
diff --git a/tests/system-defaults-write.nix b/tests/system-defaults-write.nix
index e17d950..7624bba 100644
--- a/tests/system-defaults-write.nix
+++ b/tests/system-defaults-write.nix
@@ -47,7 +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.dock.persistent-others = ["~/Documents" "~/Downloads/file.txt"];
system.defaults.screencapture.location = "/tmp";
system.defaults.screensaver.askForPassword = true;
system.defaults.screensaver.askForPasswordDelay = 5;