:placard: Navigating the Waters: Installing Software in Qubes

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.

[details="Note for users coming from Windows or MacOS"] If you're used proprietary tool like Microsoft office or Photoshop, you won't be able to run them on your regular app qubes (though you can run Windows on Qubes, but it's a subpar experience).

Fortunately, there are easy ways to find alternatives: * AlternativeTo AlternativeTo.net is a website that lets you find alternatives to software. Make use of the filters to look for software compatible on Linux (and preferably with open source license).

 *example: [Photoshop open source alternatives on Linux](https://alternativeto.net/software/adobe-photoshop/?license=opensource&platform=linux)*

> â„šī¸ Note > Because Qubes and Linux are diverse, you'll have various methods to install the same thing. > Some are easier and some harder.

Which installation ways do you see on the official website?

  1. Visit the official website for the software Check the listed methods for installing it. if you don't find, look on a search engine for how to install _______ on Fedora.

  2. Install according to table bellow Based on the instalation instructions you'll have a different method of installing and a different place where to install (app qube, template, standalone qube).

    > 💡 It is possible many apply > Generally you should choose the first on the list bellow.

    If you find something like... The you install in... Instructions
    install on Fedora fedora template jump to guide
    sudo dnf install _____ fedora template jump to guide
    install on Debian debian template jump to guide
    sudo apt install debian template jump to guide
    flatpak app qube jump to guide
    snap app qube jump to guide
    .deb debian standalone jump to guide
    .rpm fedora standalone jump to guide

    > 😱 The official instructions are too complicated? > Instead search on your favorite search engine for the following and repeat: > - how to install _______ on Fedora > - how to install _______ on Debian > > And pick whichever is easier -- with a suspicious mind, of course


> 🛑 Stop reading here > What follows are the reference material that is linked to in the above table


Installing in Template qube

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).

[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]

Installing in App qube

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.

Snap

Read more at Installing Snap Packages (official documentation). Updates should be done automatically but you should double-check this.

Flatpack

Qube Apps - developed by Micah Lee, a trusted community member. > âš ī¸ Updates are manual but just one-click.

Installing in a dedicated qube (standalone qube)

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.