These can be used to manage starting and stopping processes that spawn children that otherwise would not be terminated when the moonlight session ends
80 lines
2.4 KiB
Bash
Executable File
80 lines
2.4 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
echo "**** Installing/upgrading Sunshine via flatpak ****"
|
|
|
|
# Install Sunshine
|
|
flatpak --user remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
|
|
flatpak --user install --assumeyes --or-update flathub dev.lizardbyte.app.Sunshine
|
|
# Configure any required overrides
|
|
flatpak --user override --talk-name=org.freedesktop.Flatpak dev.lizardbyte.app.Sunshine
|
|
|
|
# Configure Sunshine as the default browser
|
|
echo "Configure Sunshine..."
|
|
sunshine_autostart_desktop="$(cat <<EOF
|
|
[Desktop Entry]
|
|
Encoding=UTF-8
|
|
Type=Application
|
|
Name=Sunshine
|
|
Comment=Launch sunshine on login
|
|
Exec=/usr/bin/flatpak run --branch=stable --arch=x86_64 --command=dev.lizardbyte.app.Sunshine.sh dev.lizardbyte.app.Sunshine
|
|
Icon=sunshine
|
|
OnlyShowIn=XFCE;
|
|
RunHook=0
|
|
StartupNotify=false
|
|
Terminal=false
|
|
Hidden=false
|
|
EOF
|
|
)"
|
|
mkdir -p "${USER_HOME:?}/.config/autostart"
|
|
if [[ ! -f "${USER_HOME:?}/.config/autostart/Sunshine.desktop" ]]; then
|
|
echo "${sunshine_autostart_desktop:?}" > "${USER_HOME:?}/.config/autostart/Sunshine.desktop"
|
|
fi
|
|
# Generate default launchers template:
|
|
sunshine_apps_data="$(cat <<EOF
|
|
{
|
|
"env": {
|
|
"PATH": "\$(PATH):\$(HOME)\/.local\/bin"
|
|
},
|
|
"apps": [
|
|
{
|
|
"name": "Desktop",
|
|
"image-path": "desktop.png"
|
|
},
|
|
{
|
|
"name": "Low Res Desktop",
|
|
"image-path": "desktop.png",
|
|
"prep-cmd": [
|
|
{
|
|
"do": "xrandr --output HDMI-1 --mode 1920x1080",
|
|
"undo": "xrandr --output HDMI-1 --mode 1920x1200"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"name": "Steam Big Picture",
|
|
"image-path": "steam.png",
|
|
"exclude-global-prep-cmd": "false",
|
|
"detached": [
|
|
"flatpak-spawn --host \/usr\/games\/steam steam:\/\/open\/bigpicture"
|
|
]
|
|
}
|
|
]
|
|
}
|
|
EOF
|
|
)"
|
|
# Generate default sunshine configuration template:
|
|
sunshine_config_data="$(cat <<EOF
|
|
global_prep_cmd = [{"do":"","undo":"flatpak-spawn --host /usr/bin/sunshine-stop"}]
|
|
EOF
|
|
)"
|
|
|
|
mkdir -p "${USER_HOME:?}/.config/sunshine"
|
|
if [[ ! -f "${USER_HOME:?}/.config/sunshine/apps.json" ]]; then
|
|
echo "${sunshine_apps_data:?}" > "${USER_HOME:?}/.config/sunshine/apps.json"
|
|
fi
|
|
if [[ ! -f "${USER_HOME:?}/.config/sunshine/sunshine.conf " ]]; then
|
|
echo "${sunshine_config_data:?}" > "${USER_HOME:?}/.config/sunshine/sunshine.conf "
|
|
fi
|
|
|
|
echo "DONE"
|