Bauh - Manage Snaps, Flatpaks and AppImages from One Interface

One app tp rule them all!
Warp Terminal

One of the biggest problems with universal packages like SnapFlatpak and AppImage is managing them. Most built-in package managers do not support all of these new formats.

Thankfully, I stumbled across an application that supports several universal package formats.

Bauh – a Manager for Your Multi-Package Needs

Originally named fpakman, bauh is designed to handle Flatpak, Snap, AppImage, and AUR packages. Creator vinifmor started the project in June 2019 with the intention of “giving a graphical interface to manage Flatpaks for Manjaro users.” Since then, he has expanded the application to add support for Debian-based systems.

About page of bauh, tool to manage Snaps, Flatpaks, AppImages, etc.
About: bauh

When you first open bauh, it will scan your installed applications and check for updates. If there are any that need to be updated, they will be listed front and center. Once all the packages are updated, you will see a list of packages you have installed. You can deselect a package with updates to prevent it from being updated. You can also choose to install a previous version of the application.

The bauh app listing installed applications on your system.
Listing installed applications
🚧
To manage Debian packages, you should have aptitude package installed. To do that, just run in the terminal: sudo apt install aptitude.

You can also search for applications. Bauh has detailed information for both installed and searched packages. If you are not interested in one (or more) of the packaging types, you can deselect them in the settings.

Installing bauh on your Linux distribution

Let’s see how to install bauh.

Arch-based distributions

If you have a recent installation of Manjaro, you should be all set. Bauh comes installed by default. If you have an older install of Manjaro (like I do) or a different Arch-based distro, you can install it from the AUR by typing this in terminal:

yay -S bauh

Recommended Read

What is Arch User Repository (AUR)? How to Use AUR on Arch and Manjaro Linux?
What is AUR in Arch Linux? How do I use AUR? Is it safe to use? This article explains it all.

Debian/Ubuntu-based distributions

If you have a Debian or Ubuntu-based Linux distribution, you can install bauh with pip. First, make sure to install pip on Ubuntu. Also, install several required dependencies using the command:

sudo apt-get install python3 python3-pip python3-yaml python3-dateutil python3-pyqt5 python3-packaging python3-requests

There are also several optional dependencies, which you can take a look at the official documentation.

And then use pip to install bauh:

sudo pip3 install bauh

However, if you want to install it manually in an isolated setup to avoid messing up your system’s libraries, you can do that as well.

Isolated Installation

For isolated installation of bauh, you have to first download the latest release. Once you download it, you can unzip using a graphical tool or the unzip command. Next, open up the folder in your terminal. You will need to use the following steps to complete the installation.

First, create a virtualenv in a folder called bauh_env:

python3 -m venv bauh_env

Now install the application code inside the env:

bauh_env/bin/pip install bauh

And launch the application:

bauh_env/bin/bauh

Once you finish installing bauh, you can fine-tune it by changing the environment setting and arguments.

💡
You can create a desktop entry for the bauh application by using the method described in their official documentation.

For other distributions

bauh project provides an AppImage packaging for their application. So, you can download the AppImage from their releases page on GitHub.

There are a couple of dependencies you need to properly run the AppImage.

  • fuse : the package name may vary from distribution (libfuse2 in Ubuntu).
  • qt5dxcb-plugin (or equivalent): the package name may vary from distribution (qt5dxcb-plugin in Ubuntu).

Recommended Read
Here is how you can run and manage AppImages in Linux.

How to Use AppImage in Linux [Complete Guide]
What is AppImage? How to run it? How does it work? Here’s the complete guide about using AppImage in Linux.

Open the AppImage file, and the click on the bottom-right settings menu.

Click on the hamburger menu on the bottom-right and select "Install bauh" to install the AppImage
Install bauh App

From the dropdown menu, select Install bauh to create a desktop entry for the application.

Managing applications with bauh

Once you have installed the application, you can use it for most of the usual package management purposes like installing packages, updating them, removing packages etc.

Installing applications

To install an application, first search for it using the search button. Press enter to start a search.

Search for an application by name in bauh search bar.
Search for an Application

You will get a list of packages, that match the name, from all the sources you have configured.

💡
bauh allows you to search either based on categories of application, or by package type.
Install the app as a particular package of your choice.
Install an Application

Click on the “Install” button corresponding to a particular packaging format of your choice.

💡
If you are installing a Flatpak application, bauh will ask to install it for single user or all the users of the system.

If it is either a snap or native deb package, you will be asked to enter the password. Enter it when prompted.

🚧
On Ubuntu, when I tried to install a Flatpak application, it showed me a warning, mentioning the App is not verified by a trusted source. This is the case even if the app is verified by its developer in the Flathub store.

Install an AppImage File

If you have an AppImage file in hand, you can install it using bauh. First, open bauh and click on the hamburger menu on the bottom-right. From that, select “Install AppImage File”.

Select install appimage file from bauh
Select install AppImage file from bauh

In the next window, select the AppImage file on your system by clicking on the field near “File”.

Select the AppImage file you want to install and click on proceed
Select the File and install

From the file chooser, select the AppImage file. It will automatically fill the other fields. You can select a category from the dropdown list. Now click on “Proceed”.

The app will be installed, and you can open it from the system menu.

Install a Web Application

Apps, like Facebook, ChatGPT, etc. are available to install on your system. Search for an app, and then install it as usual using the “Install” button.

On the next screen, it will show the installation details. You can set the permissions for the app here.

Review the application information and permissions
Application information and permissions

Verify the permissions and options and click on Continue. This will ask you to install the required dependencies. Check those and click on Continue.

🚧
Before installing anything on your system, you should be careful. Especially when sudo privilege is required.
Listing the required dependencies for the selected web application
Listing the required dependencies

It will download and install the selections.

ChatGPT, running on Linux, as a web application
ChatGPT, running on Linux

Removing applications

On the home page of bauh app, all the installed apps will be listed. You can uninstall an app by clicking on the “Uninstall” button.

Click on Uninstall to uninstall an installed application
Click on Uninstall

Downgrade an application

Applications installed as Snap or Flatpak format can be downgraded to a previous release using bauh.

First, you need to click on the menu button corresponding to the app that you want to downgrade and select “History”.

Select Application history to view the version history of that application
Select Application history

This will show a history of commit for that application, along with the available versions listed neatly.

Commit history of a particular application
History of a particular application

Close this window, and from the same menu button, select “Downgrade”.

Select Downgrade from the menu to downgrade an application
Select Downgrade

It will ask for a confirmation, and accept it. The app will be downgraded, and you will be prompted that there is an available update.

After you downgrade an application, bauh will notify you of an update available
Update available notification

You can pause the auto-update to this app along with the system update, by using the “Ignore Updates” button.

Ignore updates for an application
Ignore updates for an application

You can revert this status anytime.

🚧
The app can block a system package also, from getting updated along with the system update. But this is not recommended, unless you are sure of your intentions.

Bonus: Access Settings and theme the App

In order to manage the bauh app settings, click on the settings gear on the bottom-right of the app.

Click on bauh settings
Click on bauh settings

It provides a comprehensive tweaking of both apps, update policies and per source settings.

bauh app settings window with various settings as separate tabs.
bauh app settings window

Similarly, you can change the appearance of bauh using the preinstalled themes. Click on the themes button and select the required appearance style.

Apply a theme for bauh app, from the list of preinstalled themes.
Apply a theme for bauh app

The road ahead for bauh

Bauh has grown quite a bit in a few short months. It plans to continue to grow. The current road map includes:

  • Support for other packaging technologies
  • Separate modules for each packaging technology
  • Memory and performance improvements
  • Improve user experience

Final thoughts

Have you ever used bauh? What is your favorite tool to manage different package formats if there is one? Let us know in the comments below.

If you found this article interesting, please take a minute to share it on social media, Hacker News or Reddit.

About the author
John Paul Wohlscheid

John Paul Wohlscheid

My name is John Paul Wohlscheid. I'm an aspiring mystery writer who loves to play with technology, especially Linux. You can catch up with me at: http://johnpaulwohlscheid.work/

Become a Better Linux User

With the FOSS Weekly Newsletter, you learn useful Linux tips, discover applications, explore new distros and stay updated with the latest from Linux world

It's FOSS

Great! You’ve successfully signed up.

Welcome back! You've successfully signed in.

You've successfully subscribed to It's FOSS.

Success! Check your email for magic link to sign-in.

Success! Your billing info has been updated.

Your billing was not updated.