Skip to content

kolunmi/bazaar

Repository files navigation


Bazaar

Discover and install applications

Image
Image

Bazaar is a new app store for GNOME with a focus on discovering and installing applications and add-ons from Flatpak remotes, particularly Flathub. It emphasizes supporting the developers who make the Linux desktop possible. Bazaar features a "curated" tab that can be configured by distributors to allow for a more locallized experience.

Bazaar is fast and highly multi-threaded, guaranteeing a smooth experience in the user interface. You can queue as many downloads as you wish and run them while perusing Flathub's latest releases. This is due to the UI being completely decoupled from all backend operations.

It runs as a service, meaning state will be maintained even if you close all windows, and implements the gnome-shell search provider dbus interface. A krunner plugin is available for use on the KDE Plasma desktop.

Thanks to Jakub Steiner for designing Bazaar's icon.

The screenshot above showing the curated tab features Aurora's config.

Installing

Pre-built binaries are distributed via Flathub and GitHub actions:

Download on Flathub

Build Flatpak and Upload Artifact

Supporting

If you would like to support me and the development of this application (Thank you!), I have a ko-fi here! https://ko-fi.com/kolunmi

Ko-Fi

Thanks to everyone in the GNOME development community for creating such an awesome desktop environment!

Contributing

Note

If you are a distributor/packager who would like to learn how to customize Bazaar, take a look at the docs.

If you would like to try this project on your local machine, clone it on the cli and type these commands inside the project root:

meson setup build --prefix=/usr/local
ninja -C build
sudo ninja -C build install
bazaar window --auto-service

You will need the following dependencies installed, along with a C compiler, meson, and ninja:

Dep Name pkg-config Name Min Version Justification
gtk4 gtk4 enforced by libadwaita GUI
libadwaita libadwaita-1 1.7 GNOME styling
libdex libdex-1 0.11.1 Async helpers
flatpak flatpak 1.9 Flatpak installation management
appstream appstream 1.0 Download application metadata
xmlb xmlb 0.3.4 Handle binary xml appstream bundles/Parse plain xml
glycin glycin-1 1.0 Retrieve and decode image uris
glycin-gtk4 glycin-gtk4-1 1.0 Convert glycin frames to GdkTextures
libyaml yaml-0.1 0.2.5 Parse YAML configs
libsoup libsoup-3.0 3.6.0 HTTP operations
json-glib json-glib-1.0 1.10.0 Parse HTTP replies from Flathub

Code of Conduct

This project adheres to the GNOME Code of Conduct. By participating through any means, including PRs, Issues or Discussions, you are expected to uphold this code.