Installing software in Qubes OS can be a daunting experience. This guide’s goal is to serve as a crossroad sign to help you navigate this landscape.
A template qube is like a boilerplace for app qubes based on it. When you install a piece of software on it all qubes based on the template will also get that piece of software.
When you install it like this, you get updates via routine updates (normal way of updating).
When software is already available in template’s package manager
difficulty: “easy” recommended way (if possible)
When software is available as an additional package repository only
Follow it on the official documentation: How to Install Software | Installing software from other sources. Examples include installing signal.
other methods (advanced)
This is for advanced users only. Updates are manual.
Using the updates proxy to give software management programs internet access in the template.
Examples of what can be achieved with this
pip installin template - External repositories, pip, snap, appimage persistent installations in template/appVM - #4 by unman (Note if using pip, you’re probably better off installing it in an app qube with a python virtual environment)
App qubes are your regular qubes (e.g.
work qubes). If you install like this the application will only be available in that app qube where you installed it.
When the software is available as a “snap package” (search availability here)
Read more at Installing Snap Packages (official documentation). Updates should be done automatically but you should double-check this.
Updates are manual but just one-click.
Updates are manual and tiresome. It’s basically repeating the whole install process! Plus, you’ll have to figure out a way to know when there are updates. This bad security practice means it will probably be outdated for a long time.
Other methods (advanced)
TODO usermode dnf / deb packages.
Standalone qubes are dedicated qubes. They are good if you want to install random software that you don’t trust to be installed on your main templates and only really need to use in a single qube.
It’s very flexible. The only downside really is it occupies a lot of space (like regular templates) but none of the advantages of splitting that space among app qubes.
Regardless, the security isolation and flexibility may make this a way to go for very particular pieces of software.
.rpmthat you download form a website. See how to do this here: Installing Software in Qubes from .deb / .rpm
Updates are manual and tiresome. It’s basically repeating the whole install process! (bad security practice)
install like a template
You can install stuff as if you were in a template see the first section
install like an app qube
Install as if you were on an app qube with the methods in the section above.