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.
(image credit: @deeplow, via public domain, original from pixabay)
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)
Just follow the official documentation or see a practical example here.
When software is available as an additional package repository only difficulty: medium Follow it on the official documentation: How to Install Software | Installing software from other sources. Examples include installing signal.
[details="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.
In case this software installs stuff in non-persistent directories you'll need to use bind-dirs those directories persist when starting an app qube based on the template.
Examples of what can be achieved with this
- pip install
in template - https://forum.qubes-os.org/t/external-repositories-pip-snap-appimage-persistent-installations-in-template-appvm/561/4 (Note if using pip, you're probably better off installing it in an app qube with a python virtual environment)
[/details]
App qubes are your regular qubes (e.g. personal
or 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.
When the software is available as a "flatpack package" (search availability here).
Qube Apps - developed by Micah Lee, a trusted community member. > ⚠️ 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.
[details="Other methods (advanced)"] TODO usermode dnf / deb packages. [/details]
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.
.deb
or .rpm
that you download form a website. See how to do this here: https://forum.qubes-os.org/t/2890/1
> ⚠️ Updates are manual and tiresome. It's basically repeating the whole install process! (bad security practice)