I'm able to get a DockUtil script to add dock items as I like, but it seems to be adding the default items as well. Is there a way to also have the script remove these I guess "persistent items'?
This is the error I'm getting when I try to remove Launchpad:
DOCKUTIL --remove 'Launchpad' --no-restart $LoggedInUserHome
Traceback (most recent call last):
File "/usr/local/bin/DOCKUTIL", line 660, in <module>
main()
File "/usr/local/bin/DOCKUTIL", line 270, in main
if removeItem(pl, remove_label):
File "/usr/local/bin/DOCKUTIL", line 617, in removeItem
for dock_item in pl['persistent-apps']:
KeyError: 'persistent-apps'
Here is the script I've created and it is working fine as far as adding the apps:
#!/bin/sh
LoggedInUser=$3
LoggedInUserHome="/Users/$3"
checkSetupDone() {
if [ -f $LoggedInUserHome/Library/Preferences/com.company.docksetup.plist ] ; then
echo "Dock has been created already for this user, skipping..."
exit 0
fi
}
configureDefaultDock() {
plist=$LoggedInUserHome/Library/Preferences/com.apple.dock.plist
echo "Logged in user is $LoggedInUser"
echo "Logged in user's home $LoggedInUserHome"
if [ -e /usr/local/bin/dockutil ] ; then
dockutilVersion=`/usr/local/bin/dockutil --version`
echo "dockutil version: $dockutilVersion"
echo "Clearing Dock..."
DOCKUTIL=/usr/local/bin/dockutil
sudo $DOCKUTIL --remove all --no-restart $LoggedInUserHome
echo "Adding Safari..."
$DOCKUTIL --add '/Applications/Safari.app' --no-restart $LoggedInUserHome
echo "Adding Activ Inspire..."
$DOCKUTIL --add '/Applications/Promethean/Activsoftware Inspire/Inspire.app' --no-restart $LoggedInUserHome
echo "Adding Adobe Photoshop CS5..."
$DOCKUTIL --add '/Applications/Adobe Photoshop CS5/Adobe Photoshop CS5.app' --no-restart $LoggedInUserHome
echo "Adding Google Chrome..."
$DOCKUTIL --add '/Applications/Google Chrome.app' --no-restart $LoggedInUserHome
echo "Adding Maps..."
$DOCKUTIL --add '/Applications/Maps.app' --no-restart $LoggedInUserHome
echo "Adding Dictionary..."
$DOCKUTIL --add '/Applications/Dictionary.app' --no-restart $LoggedInUserHome
echo "Adding Word..."
$DOCKUTIL --add '/Applications/Microsoft Word.app' --no-restart $LoggedInUserHome
echo "Adding Excel..."
$DOCKUTIL --add '/Applications/Microsoft Excel.app' --no-restart $LoggedInUserHome
echo "Adding PowerPoint..."
$DOCKUTIL --add '/Applications/Microsoft PowerPoint.app' --no-restart $LoggedInUserHome
echo "Adding Self Service..."
$DOCKUTIL --add '/Applications/Self Service.app' --no-restart $LoggedInUserHome
touch $LoggedInUserHome/Library/Preferences/com.company.docksetup.plist
else
echo "dockutil not installed, skipping initial dock setup..."
fi
}
checkSetupDone
configureDefaultDock
exit 0