Bazaar
New App Store for GNOME
Install / Use
/learn @bazaar-org/BazaarREADME
[!NOTE] If you are a distributor/packager who would like to learn how to customize Bazaar, take a look at the docs.
[!NOTE] If you are interested in contributing code to Bazaar (Thank you!), please see the style rules.
[!NOTE] If you are interested in contributing translations to Bazaar (Thank you!), please see the translators introduction.
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 localized 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 Tobias Bernard, Jakub Steiner, and Sam Hewitt for designing Bazaar's market stall icon.
Installing
Pre-built binaries are distributed via Flathub and GitHub actions:
<a href='https://flathub.org/apps/details/io.github.kolunmi.Bazaar'><img width='240' alt='Get it on Flathub' src='https://flathub.org/api/badge?svg&locale=en'/></a>
There also exist packages for Debian and Arch. These are not directly supported but should work fine. If you encounter a bug on any package of Bazaar other than the flatpak, ensure the bug also exists on the flatpak before reporting it here.
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
Thanks to everyone in the GNOME development community for creating such an awesome desktop environment!
Contributing
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 --libdir=/usr/lib64
ninja -C build
sudo ninja -C build install
bazaar
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 | 4.22.1 | GUI |
| libadwaita | libadwaita-1 | 1.8 | GNOME styling |
| libdex | libdex-1 | 1.0 | Async helpers |
| flatpak | flatpak | 1.9 | Flatpak installation management |
| appstream | appstream | 1.0 | Interpret application metadata |
| xmlb | xmlb | 0.3.4 | Handle binary xml appstream bundles/Parse plain xml |
| glycin | glycin-2 | 2.0 | Decode image URIs |
| glycin-gtk4 | glycin-gtk4-2 | 2.0 | Convert glycin frames to texture representations |
| 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 some HTTP replies |
| md4c | md4c | 0.5.1 | Parse markdown (.md) |
| webkitgtk | webkitgtk-6.0 | 2.50.2 | Render web views |
| libsecret | libsecret-1 | 0.20 | Store Flathub account information |
| libproxy | libproxy-1.0 | 0.5 | Parse proxies for networking operations |
| malcontent | malcontent-0 | 0.12.0 | Adhere to system parental controls settings |
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.
