Last active
March 20, 2025 13:13
-
-
Save sqwxl/6a695e1a59e54eddd7740cc908b593aa to your computer and use it in GitHub Desktop.
Setup Playdate SDK (v2.6.2) on Fedora atomic OS (ostree, silverblue, sericea, kinoite)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
set -e | |
case $(uname -m) in | |
x86_64) | |
#supported | |
;; | |
*) | |
echo -e "System not supported.\nAn x86_64 OS is required. Please request support for your platform." | |
exit 1 | |
;; | |
esac | |
if [ $(id -u) -ne 0 ]; then | |
echo "Please run this script with sudo." | |
exit 1 | |
fi | |
YELLOW='\033[33;1m' | |
BLUE='\033[0;34m' | |
BBLUE="\033[1;34m" | |
NC='\033[0m' #No Color | |
SDKRoot=$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" &>/dev/null && pwd) | |
#delete old desktop file in /var/usrlocal/local/share/applications/ | |
if test -f "/var/usrlocal/share/applications/date.play.simulator.desktop"; then | |
rm -f /var/usrlocal/share/applications/date.play.simulator.desktop | |
fi | |
echo "Creating desktop files..." | |
mkdir -p /var/usrlocal/share/icons/hicolor/scalable/apps/ && cp "$SDKRoot/Resources/date.play.simulator.svg" /var/usrlocal/share/icons/hicolor/scalable/apps/ | |
SDKEscaped=$(printf %q "$SDKRoot") | |
cat <<-EOF >/tmp/date.play.simulator.desktop | |
[Desktop Entry] | |
Name=Playdate Simulator | |
Exec=$SDKEscaped/bin/PlaydateSimulator %u | |
Icon=/var/usrlocal/share/icons/hicolor/scalable/apps/date.play.simulator.svg | |
Terminal=false | |
Type=Application | |
MimeType=application/x-playdate-game;x-scheme-handler/playdate-simulator | |
StartupWMClass=PlaydateSimulator | |
Categories=Development; | |
StartupNotify=true | |
EOF | |
desktop-file-install --dir /var/usrlocal/share/applications /tmp/date.play.simulator.desktop --delete-original | |
echo "Creating mime info..." | |
#install mime info in /var/usrlocal/share/mime/packages | |
xdg-mime install --mode user "$SDKRoot/Resources/playdate-types.xml" | |
#install icons into /var/usrlocal/share/icons/hicolor/ | |
IconRoot=$SDKRoot/Resources/file-icon | |
xdg-icon-resource install --mode user --context mimetypes --size 16 "$IconRoot/data-16.png" application-x-playdate | |
xdg-icon-resource install --mode user --context mimetypes --size 32 "$IconRoot/data-32.png" application-x-playdate | |
xdg-icon-resource install --mode user --context mimetypes --size 48 "$IconRoot/data-48.png" application-x-playdate | |
xdg-icon-resource install --mode user --context mimetypes --size 512 "$IconRoot/data-512.png" application-x-playdate | |
update-desktop-database | |
echo "Setting udev rule..." | |
cp "$SDKRoot/Resources/50-playdate.rules" /etc/udev/rules.d/ | |
udevadm control --reload-rules | |
udevadm trigger | |
mkdir --p /var/usrlocal/share/mime/packages/ && cp "$SDKRoot/Resources/playdate-types.xml" /var/usrlocal/share/mime/packages/ | |
update-mime-database /var/usrlocal/share/mime | |
echo -e "\n${YELLOW}Tip:${BLUE}\nMake sure ${BBLUE}\`PLAYDATE_SDK_PATH\`${BLUE} env value is set to the SDK path for development." | |
echo -e "See the \e]8;;https://sdk.play.date\\aInside Playdate documentation\e]8;;\a for more details.${NC}" | |
echo -e "\nDone." |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment