# You can do that on RHEL?

I run RHEL 9 on my laptop, and I have a lot of fun on it.
Because I run Slackware on my desktop, I'm used to stability, and that's what I appreciate in RHEL.
In my early days as a Linux user, it wasn't uncommon for me to install a different distro every month (not coincidentally aligned with the release of a new Linux magazine with an exciting new disc on the front cover).
It was a fun way to learn all the nuances of Linux, potential pitfalls of system migration, and to experience the different ways an OS could be built.
But I'm not a new Linux user any more.
I'm an actual, real live *Linux user*.
I run Linux, I deploy Linux containers, and manage Linux servers.
To put it bluntly, I have stuff to get done.

## When did RHEL get fun?

For a long time, I felt like RHEL was a very specific distribution.
It felt like a lot of effort went into RHEL for servers.
Sure, there was a workstation ISO or install option, but the repositories for that weren't exactly overflowing with desktop applications apart from the obligatory developer and office apps.

The problem was, there was no clear path for "exceptions."
what did you do when you suddenly needed `libfoo.so.22` (presumably unstable because it's new) but all you could find in the RHEL (or even EPEL) repo was good old stable `libfoo.so.19`?
What about when you needed a video editing application, but according to the repo none existed?
And so on.

It seemed that any time I wanted to color outside the lines, I ended up borrowing source RPMs from a Fedora repository from three years ago, do an `rpmbuild --rebuild`, and by the end of the day maybe I'd have a solution in place.
But even that was never easy, because those borrowed RPMs often had dependencies that also weren't in the RHEL or EPEL repositories, and so I'd have to go assemble a meta package of a bunch of SRPMs that needed to each be rebuilt and then installed.

The good news is that I don't do that any more, and you don't have to either.

## You can have it all

New tech is emerging.
Actually, new tech *has emerged*.
It was in RHEL 8 and it's in RHEL 9, and it's resulting in my dream version of RHEL.

Those technologies are: Flatpak for graphical applications, and `os-tree` for the terminal.

### Flatpaks

Flatpaks on RHEL have already changed the way I interact with the OS.
I've produced [music](https://opensource.com/article/21/12/open-source-drum-hydrogen) and [videos](https://opensource.com/article/21/12/kdenlive-linux-creative-app) and [motion](https://opensource.com/article/21/12/synfig-motion-graphics) [graphics](https://opensource.com/article/21/12/open-source-photo-editing-krita) and [lots more](https://opensource.com/article/22/2/open-source-creative-apps) on RHEL becauseregardless of what I'm looking to install, Flatpak makes it trivial to install everything I need.
I've written an article about [installing applications with Flatpaks](https://opensource.com/article/21/11/install-flatpak-linux) in case you're new to them, but suffice it to say that from the user's perspective it feels very much the same as installing an RPM from an official repository.
Better still, it's user-centric, so you can install applications to your home directory even without `sudo` or administrative privileges.

If you're a developer, you can get a headstart in delivering Flatpaks by reading my [Building Flatpaks](https://opensource.com/article/19/10/how-build-flatpak-packaging) article.

Flatpaks are intended for graphical applications, but there's the [Toolbx](https://containertoolbx.org/) project for the terminal commands and development.
With Toolbx, you can create contained environments where you can install development libraries and programming languages and specialized commands independent of what you have installed on your system.
To create a "toolbox" around your current system:

```bash
$ toolbox create
$ toolbox enter
```

It's as easy as that.
If you're a Python programmer or a [Java Maven](https://opensource.com/article/22/3/maven-manage-java-dependencies) user or a [cloud-native developer](https://opensource.com/article/21/8/java-quarkus-ebook), then having a virtual environment for isolated development probably even feels pretty natural.

The important thing is that these technologies enable a safe and flexible "sandbox" for users.
You can install commands and applications, and they run in containers that never affect your base OS.

It's a dream come true.

## Recommend RHEL

I use RHEL.
It's an OS I can recommend to family and friends, whether they're casual users, power users, or developers.
It doesn't matter what you do on your computer.
RHEL readily provides for the everyday stuff, while maintaining a safe environment for the serious stuff.