My Bluefin OS Journey: A Newcomer's Guide to Setup, Mindset, and Disaster Recovery

Hello Bluefin Community,

First off, a heartfelt thank you to everyone who’s contributed to building and refining this amazing OS. From the elegant wallpapers and color schemes to the core concept of immutability—Bluefin has completely won me over. It genuinely feels like I’ve found a permanent home for my development work.

I’m a developer who recently transitioned from Windows to Bluefin OS, and I wanted to share my experience in case it helps others who are just starting out.

Why I Chose Bluefin

My search began with Fedora Silverblue, which introduced me to the idea of an immutable OS. It was a great learning experience, but Bluefin felt like the natural next step—Silverblue, but tailored for developers.

What stood out immediately was how polished everything felt: the design, performance, pre-installed tools, and especially the curated experience. The ujust commands made setup effortless, and I was productive from day one. Thanks to the excellent documentation, onboarding was smooth and frustration-free.

Making My Setup Bulletproof

I was so impressed with Bluefin that I wanted to make my environment rock-solid. My goal was to create a “portal OS”—a setup I could replicate instantly, even after a hardware failure. Not because I doubted Bluefin’s stability, but because I wanted peace of mind.

So I built a disaster recovery plan that includes:

  • Automated daily backups via systemd timers

  • Scripts to save host OS configurations (layered packages, dconf settings)

  • podman commit snapshots of my containers

  • Deja Dup for backing up my /home directory

Note: Deja Dup doesn’t handle container volumes, so I wrote a custom script to ensure everything—including overlays—is backed up and portable.

Restoring my system is now a simple like a Portable OS.

Learning the Bluefin Way

As a newcomer, I had to rethink how I install and manage software. Here’s what I learned:

:compass: Where to Install What

  • GUI apps (IDEs, browsers, tools): Use Flatpak. It’s the go-to for desktop apps like IntelliJ and VS Code.

  • CLI tools (JDK, Maven, Node, cloud CLIs): Use Toolbox or Distrobox. Create a container (e.g., bfsi-dev) and install everything there. Your IDE can connect via SSH to use these tools, keeping your host clean.

  • Infrastructure (databases, caches, monitoring): Run these via Podman/Docker Compose on the host. Containers like Postgres, Redis, Kafka, and Prometheus should live outside your Toolbox.

  • Apps not available via Flatpak (e.g., Beyond Compare): Use Distrobox to install and export them to your desktop. It works beautifully and keeps your system intact.

My Current Setup

  • OS: Bluefin, pristine and untouched

  • IDE: IntelliJ IDEA via Flatpak

  • Dev Environment: bfsi-dev Toolbox with all my tools, connected via SSH

  • Infrastructure: Host-level docker-compose.yml with profiles for core services, observability, and security

The result? A stable, high-performance, and beautifully organized system. I finally understand the power of an immutable OS.

I’ve documented everything—including scripts and recovery steps—in a detailed guide. If you’re curious or want to build something similar, feel free to check it out:

:blue_book: [Link to Understanding Document about BlueFin OS and Disaster Recovery Script]

Thanks again to the entire Bluefin team and community. You’ve built something truly special.

Warm regards, Mayank

8 Likes

Wow! I love it! Thank you for this detailed description. I hope that many will have something to this approach. Thank you very much!

1 Like

I’m not a dev, but I’ve found that it often feels much cleaner and easier to install many CLI tools via Homebrew than via Distrobox/podman containers, which I believe also conforms with the recommendations from the team/community. I’m sure there are instances where you might need to have something added inside the container in specific, but Homebrew might be something worth checking out if you haven’t yet.

3 Likes

Thanks, Tim—really appreciate your suggestion! Homebrew is definitely a great option for quick CLI installs, and I do use it for utility tools that don’t have versioning concerns.

However, when it comes to running multiple versions of the same software, or setting up distinct environments—like one for a Java tech stack, another for Python, and so on—containerization becomes essential. In fact, most organizations today follow a container-first approach in production, and my goal is to align my local setup with that model to simulate real-world infrastructure.

My approach is shaped by how enterprise environments are typically managed. I’m building an end-to-end dev setup with app servers, web servers, API gateways, monitoring, caching, and cloud connectors—all inside Toolbox containers. This gives me full isolation, lets me run multiple versions side-by-side, and makes it easier to snapshot and reproduce the entire environment across machines or teams.

So while Brew is great for simplicity, containers offer the modularity, control, and reproducibility I need for a scalable, production-grade workflow. Thanks again for the nudge—always great to hear different perspectives.

in general most of the IDEs suck as flatpaks. So recommended to install (if available) through an installer script. But this depends on the IDE.

I use JetBrains IDEs for my development work and have tested them on BlueFin using JetBrains Toolbox and Gateway—connecting via SSH to a Toolbox container. I haven’t gone deep with it yet, just experimenting to understand where each component fits best.

When you mention “installer script,” are you referring to installing directly onto the host OS? I understand that this might bypass BlueFin’s immutability model, which typically favors Flatpak or Brew for host-level apps. That said, I’m genuinely curious to see how your approach works—especially if it solves practical challenges more elegantly.

If you’ve successfully installed any IDEs using an installer script, I’d love to take a look and try it out. Always keen to learn from different workflows, even if they stretch the boundaries a bit.

Setup Guide to use Mermaid CLI : Visualise your thoughts using power of Memerid

Mermaid CLI GitHub Link

We also now have this: GitHub - ublue-os/homebrew-tap

It currently has casks for jetbrains and vscode/vscodium

2 Likes

I installed them now. I already has jetbrains and vscode on my machine part of deafult setup devtool. Is there any difference from previous setup. I understand earlier one was flatpak may be , can’t clearly remember. I didn’t remved anything and just installed jetbrains and vscode/vscodium using Brew. Shall i remove the flatpak one?