buoy is a music client for a subsonic server written with rust and GTK4 designed for elementary OS.
You need access to a subsonic server. The recommended option is Navidrome. If you don't have access, you may install it locally.
Install git
sudo apt install gitand clone the repository with
git clone https://github.com/eppixx/buoy
cd buoyInstall the dependencies with
sudo apt install libgtk-4-dev libgranite-7-dev libgstreamer1.0-dev meson gettext desktop-file-utilsRust is assumed to be installed.
Buoy can now be installed with the following commands
meson setup build-release --buildtype=release
ninja -C build-release install # installing will ask for the superuser passwordBouy can now be run from the desktop launcher or from the terminal with
buoy
These instructions don't need elevated priviliges because they use --user.
This also means, that it installs everything for the local user.
If you don't want that, remove --user from the instructions.
Fetch the flatpak dependencies
sudo apt install flatpak-builder
# you may need to add elementary and flathub as remote
flatpak --user remote-add --if-not-exists elementary https://flatpak.elementary.io/repo.flatpakrepo
flatpak --user remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo
# install actual dependencies
flatpak --user install -y io.elementary.Platform/x86_64/8.1 io.elementary.Sdk/x86_64/8.1
flatpak --user install -y org.freedesktop.Sdk.Extension.rust-stable/x86_64/24.08When initailizing for the first time or changing Cargo.toml, cargo-sources.json needs to be updated for the flatpak version with
wget https://raw.githubusercontent.com/flatpak/flatpak-builder-tools/master/cargo/flatpak-cargo-generator.py
python3 ./flatpak-cargo-generator.py Cargo.lock -o cargo-sources.jsonYou might need to install some dependencies
sudo apt install python3-aiohttp python3-tomlBuilding the project
flatpak-builder --user flatpak_app com.github.eppixx.buoy.yml --force-cleanRun the build version without installing with
flatpak-builder --run flatpak_app com.github.eppixx.buoy.yml buoyInstall with
flatpak-builder --user --install flatpak_app com.github.eppixx.buoy.yml --force-clean
It should now be able to run with a program launcher or from command line with
flatpak run com.github.eppixx.buoyBuild with the following commands
meson setup build
ninja -C buildRun with
./build/src/debug/buoy