I would just like to preface this. This is the first blog post I've ever written, so please please please give me feedback if you can. I also didn't intend on it being here on Lemmy, but Hugo is quite a complex tool that'll take some time for me to understand. Webdev is not my cup of tea.

Introduction.

About a month ago, I switched from Endeavour OS to a spin of Fedora called Fedora Onyx (Now Fedora Atomic Budgie, from now on shortened to FAB). Why? I love Arch, it was even my first distro (I am sane I promise) thanks to a friend, but it's infamous for breaking. Which it did. Time and time again.

Whether I was doing something wrong or not is irrelevant now, but on every Arch or Arch-based install I've done; overtime something has caused seemingly random parts of the system to begin to break down or slow down.

After 3 years of this behavior across countless installs, enough was enough. I'd played around with Atomic, otherwise known as Immutable, distros before in VMs but never used one on bare metal. I knew what I was getting into though, sandboxing and containerization left right and center, Flatpak for apps and restriction to the base directories. A routine backup later, and it was distro-shopping time.

What I looked for.

I initially didn't plan on FAB nor an Atomic distro, I was actually going for NixOS (and if I were to switch from Atomic, NixOS would be my new home). But I'm of the mind of I want to use my computer more than building it, at least on the software side of things, and I know that if I had a NixOS system I'd never stop tweaking it. After trying NixOS in a VM a couple times, this constant tweaking ended up in the system breaking both times to the point where it was impossible to edit the .nix config file without chroot (and a lot of GRUB entries, a rather bit messy if you ask me).

I needed a system that:

  • Wouldn't break without my active attempt to do so.
  • Was modern, had the latest versions of software available and the newest kernels (once an Arch user, always an Arch user).
  • Had a large community and buzz in-case I needed support.

After the events of NixOS, I turned to Fedora. I've used Fedora Workstation a couple times on my laptop & desktop, and Fedora Silverblue (technically Fedora Atomic Gnome) I'd tried in a VM. Fedora Workstation fits two of those three requirements, omitting only the reliability I craved. But Fedora's Atomic spins were a perfect fit.

Budgie?

Desktop Environments are incredibly subjective and no one is better than another, I don't like Gnome nor KDE simply due to the scale of them. Large enough to jokingly label those desktops as Gnome/Linux and KDE/Linux rather than GNU/Linux. This is a nightmare if you ask me, the system and the DE should be separate areas of an OS stack.

Gnome's scale can be felt across the entire Linux-verse, more and more apps are being made with Libadwaita; essentially alienating anyone who doesn't use Gnome if they value consistency in the appearance of their system. KDE uses the Qt framework for UI, which causes itself to be alienated from the majority of Linux apps.

So I need a small desktop that uses GTK, but has modern features and animations while being under active development. Out of the 2 remaining Fedora Atomic spins, Sway or Budgie, it has to be Budgie.

I. Love. Budgie. I've used it many times in my old Arch installs and I'm constantly on the lookout for the best Budgie experience. Budgie is everything I want out of a DE, it's small, it's fast, it's modern, it's GTK, and under active development. It was also the first FOSS project I donated to!

With everything backed up, the distro chosen and a USB flashed. It was time to switch.

Week 1 & 2.

FAB started out exactly like most distros, you have to use Flatpak to manage all your apps otherwise going Atomic is almost pointless. FAB shipped with Gnome Software installed but again, I love consistency in the appearance of my system and so opted to use Flatpak and Flathub straight from a terminal. Gnome Software also seems to take a good minute to finish the 'Loading Software Catalogue' step, whereas the CLI faces no such issue.

To install packages onto the base system, known as 'layering', you have to use a specialized package manager that supports layering on Atomic. Fedora Atomic ships with a tool called rpm-ostree that replaces dnf . I layered Xfce-Terminal, Flatseal*, Vim, Neofetch, and packages for virtualization onto my system. Your layered packages can be seen with the command:

rpm-ostree status

*The flatpak version of Flatseal didn't seem to apply any of the overrides.

It started out quite nicely, I usually mount my secondary drives into /mnt/DRIVELABEL but due to the restrictions to the base directories I had to change this to /run/media/USERNAME/DRIVELABEL, not a big deal and should be expected.

Gaming was obviously fine as it was on Arch. Blender did everything perfectly too, after overrides to access my projects folder. It was almost easy to forget I was on an Atomic distro. So far, I'm loving it.

Week 3.

Week 3 is when things start to get interesting, Atomic distros such as VanillaOS advertise themselves as perfect for developers. I'm a hobbyist developer, I make odd projects here and there for my personal use and other automations. Week 3 is when I wanted to start a new project.

Week 3 is also when I almost gave up on 'Immutable' distros.

I introduced myself to Toolbox , a program that's used to create containerized images of non-Atomic distros right under your host system; like a Docker container (It actually uses Podman as the backend so it is a Docker container of sorts). Running:

toolbox create

Defaults to creating a Fedora container (I'm guessing it's Fedora server), so you have access to dnf and the total mutability of non-Atomic distros on your Atomic distro. I then proceeded to installing my editor of choice and packages for Python & Rust.

I learnt a lot about how to manage development on an Atomic distro in Week 3, Toolbox advertises that it enables 'seamless' integration of software from the container and host system. In my experience, it's not quite that simple.

I won't divulge into what went wrong because it's completely my fault and nothing wrong with Fedora, Atomicity or Toolbox. But to summarize the containerization was almost too much, causing me to flash a NixOS USB and plan to switch. VSCodium wouldn't see that I've installed the languages I did, nor find my font (Geist Mono Nerd Font). This put a very sour taste for Toolbox in my mouth.

But the weekend came and I left my computer for a good day.

I came back and wiped everything from my dev environment, even the Toolbox container. Toolbox allows you to specify what distro you want to install, so I came up with the brilliant idea of Arch. After that I proceeded to install Yay, VSCodium, Python and a couple other languages. Finally, peace at last. The trick was to install VSCodium from the Toolbox, I knew that prior to the wipe but VSCodium isn't in the Fedora repos. So now, with everything all under the Toolbox container, programming is quite a nice experience.

Week 4 & Beyond.

So this is it, one month after installing and I can't see myself ever going back to a non-Atomic distro. Even using NixOS doesn't seem quite as likely now. I've grown to enjoy and embrace the sandboxing & containerization now that I've figured out what to do in order to achieve a task. The best part, my system is (mostly) identical to what it was at the start. So in theory, it'll be the same even as the years go by. Not that I'm likely to keep this exact install for years, on my desktop at least I like to try new things and ultimately end up getting bored of an install after an amount of time.

So to answer the popular question right now, is Atomicity the future of the Linux desktop? I say yes, if we can make them easier for first-timers. Right now, I'd recommend everyone to use a normal distro for a while before trying Atomic distros. During setup, the two are quite distinct from each other, and doing the setup on a normal distro is required foundation for an Atomic setup. However...

Do I believe anyone who has some experience using Linux should try an Atomic distro? Absolutely! Even if you never encounter breakages on a normal distro, using something Atomic if you don't have specific use-cases brings no downsides. Going Atomic definitely teaches you a lot about Sandboxing, Containerization, Linux and miscellaneous Security concepts. Plus, doesn't it just sound cool? "Yeah, I use an Atomic system."

It even has a psychological benefit, I feel a stronger sense of solidarity and security from this system. Maintenance is easier, as I know where and how each app has installed itself and what it can access or do. I've layered on all the packages I could want so my base system should almost never change now beyond updates. I could even re-base to a different Fedora Atomic spin if I wanted to.

So, if you've used Linux for some amount of time, I highly recommend giving Atomic a try. It's quite a unique & interesting way to use your system. If you've never used Linux, I don't recommend going straight to Atomic as there are certain new and developing concepts that are used heavily throughout the system. Do I think Atomicity is the future? Yes, I can definitely see them gaining a larger share of the Linux desktop given time. To make a reliable Linux desktop, I see almost no other solution than Atomicity that doesn't require extensive Linux experience.

  • hackerwacker@lemmy.ml
    ·
    9 months ago

    After trying NixOS in a VM a couple times, this constant tweaking ended up in the system breaking both times to the point where it was impossible to edit the .nix config file without chroot (and a lot of GRUB entries, a rather bit messy if you ask me).

    I don't get it, doesn't NixOS let you go to a previous configuration in the boot menu?

    To make a reliable Linux desktop, I see almost no other solution than Atomicity that doesn’t require extensive Linux experience.

    You have a very skewed perspective coming from your constantly broken Arch install.

    You don't need immutability and containers to have a reliable Linux install. My Ubuntu installs are extremely reliable, both on desktops and servers.

    I have to say though that I ran Arch for a few years and it only broke once or twice. This is either astroturfing or PEBCAK.

    • Spectranox@lemmy.dbzer0.com
      hexagon
      ·
      9 months ago

      NixOS does let you do that, but somehow I goofed it so hard I couldn't even do that. Most of the time my issues arrived when tinkering with the bootloader, so outcomes like that are to be expected.

      100% I'm biased, you chuck a person who can't swim into the deep end and they'll be terrified of water for life. With Arch being my first distro, this sorta thing happened to me. I just skipped the usual debian-based stepping stones new Linux users traverse. You're totally right though, you can have a reliable system with almost anything debian-based. But again, for me I can't use debian due to the old packages. I have tried it, didn't like it. I like Fedora, it's not reliable enough for me. Fedora Atomic fixes that.

      This is not astroturfing though. Just me and my views based on past experiences.

      • Chewy@discuss.tchncs.de
        ·
        9 months ago

        Just wanted to note that tinkering with the bootloader on Fedora Atomic is as error-prone as on any other distro.

        • Spectranox@lemmy.dbzer0.com
          hexagon
          ·
          9 months ago

          Yeah of course, bootloaders are bootloaders. However I don't need to tinker with it on Fedora Atomic as it ships with GRUB as the default, not systemd-boot. Additionally, it's easier to tinker with it on NixOS as it's just a couple lines in the config.

          I'm not saying NixOS is bad, I wish I had the time to use it. For my workload, Fedora Atomic is more appropriate.

    • j0rge@lemmy.ml
      ·
      9 months ago

      My Ubuntu installs are extremely reliable, both on desktops and servers.

      Probably because you're an experienced user, not everyone has the same skillset.

  • winety@lemmy.zip
    ·
    9 months ago

    So, I've tried using Toolbox on my Debian machine. It works and it's nice to have access to newer versions of the programming languages I use. But much like OP, I encountered a problem with VS Code in that the IDE cannot work with the compilers from my toolboxes. For example, Debian has Go 1.19 and Fedora (in a toolbox) has Go 1.21. In-between the versions a small change of the go.mod configuration file has happened, so VS Code which uses Go 1.19 cannot parse it.

    Is there a way to solve this? OP's way of solving this, i.e. installing the IDE in the container seems like a hack. I don't want to manage 20 different instances of VS Code.

  • harsh3466@lemmy.ml
    ·
    9 months ago

    Good stuff!! Thank you for sharing. I’ve been running Ubuntu on my server for 4 years or so now and it’s been great for me.

    I don’t actually have a Linux machine for day to day computing at the moment. I do a lot of work from my iPad (using Blink to ssh into my server), and I have an M1 Mac mini that I’d love to install Asahi on, but I share the m1 with my wife and she prefers macOS.

    As far as atomic distros go, one of these days I’ll give one a try, but I’ll need a machine I can tinker around with to do it.

  • geoma@lemmy.ml
    ·
    edit-2
    9 months ago

    This is cool. I am trying KDE and sway variants now. I work installing Linux on people coming from windows. Always looking for the best and most stable distro. Fedora atomic might be my next favorite.

  • sic_semper_tyrannis@feddit.ch
    ·
    9 months ago

    Can you elaborate on why new Linux users shouldn't use an Atomic system? I've been looking to try one so I have no experience as of yet. My Dad wants to try Linux with his upcoming new computer. I was thinking Fedora Kinoite as from what I understand, they just work and have a very low chance of breaking. He doesn't do anything beyond the basic computing tasks like web browsing, writing documents and spreadsheets, and archiving photos. Do you think it wouldn't be good for him?

    • Spectranox@lemmy.dbzer0.com
      hexagon
      ·
      9 months ago

      My view on that is more as a precaution on general Linux adoption. If your dad is going to use a distro that employs Flatpak, such as Fedora, then I would coach him a bit on that as he wouldn't know that Flatpaks are sandboxed. For example if I gave a friend of mine that uses Windows a Flatpak system, they might be confused why Steam can't see their games drive.

      I get specific with Atomic because Atomic systems are very new, they use a lot of in-development technology and are subject to massive changes. New users may take this as a trope across Linux and be rocked off the boat. Obviously not saying a new user strictly cannot use Atomic, but again I highly recommend coaching.

    • lemmyvore@feddit.nl
      ·
      9 months ago

      Flatpaks need a bit of getting used to since they're not normal apps, they're sandboxed so they don't see each other and also don't see parts of the underlying filesystem if not given explicit access. They also don't offer lots of apps.

      I would consider a system that relied exclusively on Flatpaks quite limited. I use them occasionally for various reasons, mainly as binary alternatives for something that I'd need to compile from source if I installed it from AUR. But lots of things in AUR aren't in Flathub.

      That being said it might work for a casual user like your dad but he might run into apps that aren't available. Which is why an immutable distro may not be ideal.

  • SimplyTadpole@lemmy.dbzer0.com
    ·
    9 months ago

    I've also switched to Fedora Kinoite a little over a year ago after lots of issue-driven frantic distrohopping followed by me having temporarily given up on Linux, and it really stuck for me as well. Fedora Atomic is honestly really cool, and it's been more reliable than most other distros I tried (even Workstation itself!), and I'm glad I'm not the only one who feels this way ^^'

  • morrowind@lemmy.ml
    ·
    9 months ago

    I also didn’t intend on it being here on Lemmy, but Hugo is quite a complex tool that’ll take some time for me to understand.

    after mucking around with jekyll with two months I realized that:

    1. All these ssgs are too complex and fragile
    2. all template languages suck
    3. you end up writing your blog in a code editor, which sucks
    4. I was just using it as a form of procrastination to not write

    I ended up just using a dedicated and minimal blogging site (bloggi.co). It works fine, it looks nice, it's nice to write it and I don't have to muck around with a dev environment, git, hosting and all this rot. I've written a couple of posts there

    • Spectranox@lemmy.dbzer0.com
      hexagon
      ·
      9 months ago

      Damn, that Bloggi looks awesome. You've also taken exactly the same path as me. When I wanted to start a blog, I first looked at Jekyll, then Hugo, now I'm writing my own thing with just HTML & CSS. I'm probably gonna sign up for Bloggi, thanks :P. If they have any referral program I'm more than happy to use your link.

      • morrowind@lemmy.ml
        ·
        edit-2
        9 months ago

        They don't have any referral system that I know of. If you're gonna join now, keep in mind it seems to be in a sort of maintenance mode; the dev is working on pagy.co and I don't know what his plan is with bloggi, whether he'll just leave it, try to move it to the new project or what. Checking his updates has become impossible since twitter became X.

        Alternatively, you could look at write.as, which I've had my eye on, however they don't have as generous of a free plan. Not as polished either, but they are federated

        edit: actually I don't think they have a free plan at all any more. I got in during the beta

        • Spectranox@lemmy.dbzer0.com
          hexagon
          ·
          edit-2
          9 months ago

          Pagy looks alright however I see no free tier, but to be honest I'm thinking of sticking with Lemmy. Why?

          • Decent Userbase.
          • No need to direct people to another platform.
          • Markdown.
          • Posts can be searched, dated, edited.
          • Posts support comments.
          • Posts can be voted & rated.
          • FOSS.
          • Already use it.

          I mean really, what would a separate platform give me? Looking more professional on a CV? I value practicalities over abstract concepts like that, so that shows I'm resourceful. I guess the only thing is would people be bothered by seeing infrequent posts in their feeds? But then a good chunk of the global population use platforms such as TikTok so I guess there's acceptance for feed pollution...

          Oh, and Lemmy is free. Of course though if I do continue this hobby I'll donate to dbzer0 as much as I can.

          • morrowind@lemmy.ml
            ·
            9 months ago

            Mainly an identity, customizability and usually some nice tools like analytics or something. You can partially get this if you make a dedicated community your "blog", more if you run your own server.

            But yeah, blogging is explicitly mentioned by lemmy devs as a use case, so if that's what gets you writing go ahead

  • lemmyvore@feddit.nl
    ·
    9 months ago

    I'm not sure what advantages an immutable distro offers the user compared to simply mounting / read-only. Which you can do an any distro, it's just not usually done because you'd have to mount some dirs like /var, /home separately.

    Speaking of dirs, does an immutable distro not allow access to /mnt? What about /opt or /srv?

    Budgie

    What are your thoughts on XFCE?

    • Spectranox@lemmy.dbzer0.com
      hexagon
      ·
      9 months ago

      It's not as simple as mounting the system read-only, as the system can change. However a reboot is required to switch to the new system, a lot like NixOS. I guess the biggest advantage for going Atomic vs read-only mounting is support, as the number of people using Silverblue is a lot more than the people using your suggestion.

      I like XFCE, I've daily driven it before. But I like a modern feel to my desktop, such as animations, semi-frequent updates and the like. XFCE doesn't really do any of that, unless you switch out the WM but then you lose a lot of the minimalism as to why you'd go for XFCE. Budgie isn't quite as lightweight but it isn't far off to be honest. On a fresh Arch install (That used the archinstall method) I measured 640MB of memory usage when sat on the desktop. Therefore after weighing things up Budgie won me over from XFCE.