Skip to content

Instantly share code, notes, and snippets.

@iguanajuice
Last active June 28, 2025 11:34
Show Gist options
  • Save iguanajuice/b14fa7f349add568b5035d3103cd06c0 to your computer and use it in GitHub Desktop.
Save iguanajuice/b14fa7f349add568b5035d3103cd06c0 to your computer and use it in GitHub Desktop.
#!/bin/sh -e
APPNAME=$(basename $0)
CON_NAME=$1
DATA_DIR="$HOME/.local/share/distrobox/$CON_NAME"
if ! [ $CON_NAME ]
then
echo "Usage:\n\t$APPNAME <container_name>"
exit 1
fi
echo "\nUpdating data directories for $CON_NAME...\n"
mkdir -p "$DATA_DIR"/applications
mkdir -p "$DATA_DIR"/icons/hicolor
distrobox-enter $CON_NAME -- sh -c "
if ! command -v rsync 1>/dev/null
then
echo \"Command 'rsync' not found in $CON_NAME\"
exit 1
fi
echo \"* Copying desktop files\"
rsync -qr --delete --exclude mimeapps.list /usr/share/applications/ \"$DATA_DIR\"/applications
echo \"* Copying icons
\"
rsync -qru --delete /usr/share/icons/hicolor/ \"$DATA_DIR\"/icons/hicolor
"
sed -i -e "s/^Exec=/Exec=distrobox-enter $CON_NAME -- /g" "$DATA_DIR"/applications/*.desktop
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment