Comments on Aurora Developer Experience (DX)

I’m giving Aurora DX a test drive (being a distro and desktop environment hopper, I have a laptop dedicated to these experiments :grinning_face_with_smiling_eyes:) and I must say I’m favorably impressed.

I’ve been working with cloud-native technologies for a couple of years (big fan of containers and Kubernetes), and of course Universal Blue caught my eye.

Aurora DX is very near my ideal workstation. The one I would like to have at work rather than the Windows 11 with WSL2 box I’m forced to use. (My Kingdom for BYOPC!)

I must say I was skeptical on brew. I’ve tried it years before in Linux, and I didn’t like it, because some packages had to compile, and many were missing. Since then, obviously a lot more software has been bottled for Linux. Only two packages seem to be missing for my DevOps toolbox: git-credential-manager and Session Manager plugin for AWS CLI. (The first, I got from the project’s GitHub page as a tarball and extracted it in my local bin folder; the second, I don’t need at home.)

What I like is the simplicity of software installation. Flatpak (was already a fan, even on Ubuntu/Kubuntu) for GUI apps, brew for the rest. And it works. (I did use AppImage for an app that isn’t packaged as a flatpak, that’s another welcome option.)

Managing software has been a hassle in Ubuntu LTS (which I also use at work in Windows Subsystem for Linux 2). Or rather, managing DevOps tools.

  • Not every tool is the distribution’s repos
  • I have to add repos for some
  • for others, I must install from GitHub releases
    • I use eget for those distributed as tarballs
    • for the packages distributed as debs, I have to use bash scripts
    • often, man pages aren’t included with the tarballs, while the debs usually do

I’ve been considering managing all this with Ansible scripts (it’s a pretty good configuration management tool in the DevOps space for that use case), but frankly it’s a lot of work. So much easier and simpler with brew.

I’d consider adding a few tools in the DX list, chezmoi being first. I may be looking at doing pull requests.

Cheers!

6 Likes

Thanks for your thorough feedback, love this! I agree on chezmoi, it’s time:

A pattern I’d like to move us to would be to have more focused brewfiles. We can ship as many as we want, right now it’s bluefin-cli and the kubernetes tools. We could have additional ones so we don’t end up making bluefin-cli itself too heavy.

Though chezmoi is a great tool - I have multiple machines, so I think that makes a great case to just have it in bluefin-cli.

Also these are command line tools for command line junkies. This would make a great ujust using the charm tools to make a nice tui. Because then we could put an update button in there and that would fix a major problem we have with this. Right now I have to tell you to disable and then re-enable bluefin-cli to “refresh” the thing, and that part still sucks.

Chezmoi is actually already part of the aurora-cli which you can enable with ujust aurora-cli

1 Like

I could swear it wasn’t part of it when I first installed aurora-cli. I disabled it and re-enabled it, and indeed chezmoi was included in the brew install command. I got the ISO last week and installed the stable channel. I changed to the daily channel yesterday.

I didn’t know the concept of brewfiles. I like it. I didn’t even know Linux supported the casks (seen in aurora-fonts.Brewfile).

This is so much simpler than managing my config with Ansible. Had I been told earlier about this, I’d have migrated to brew a long time ago. :grin:

The cherry on the cake: ujust update or the System Update entry in the application menu. I get the feeling you people are as much into automation as I am. :rofl:

I agree with focused brewfiles. I wouldn’t have put stress-ng in bluefin-cli/aurora-cli, it looks out of place. Maybe a “devops” brewfile? With tools such as stress-ng, sops, age, whatever.

One thing’s missing from Aurora DX: chsh. A developer may want to change the shell for zsh or fish. I had to edit /etc/passwd directly.

I’m going to do a PR for k8s tools to add kubecolor (by a CNCF ambassador in my town) and k3d (which I prefer to kind and minikube). I’d also add gdu in [aurora|bluefin]-cli. Didn’t know about dysk, I like it, it’s better than duf.

After trying out Aurora on my ThinkPad, I installed Aurora on my desktop PC (a custom gaming rig) last night. It fixed problems with suspension(?) (going to sleep) that have plagued me with Ubuntu 24.04 LTS for months. Must be due to the more up-to-date kernel and NVIDIA drivers. You have no idea (actually you probably do :wink:) how many hours I lost trying to find a solution.

THIS really sold me on an “immutable”, near-rolling “distro”. I’m probably going to rebase to Bazzite though.

This is purposely removed on our images, we do it this way: Don’t change your login shell, use a modern terminal emulator - Siosm’s blog

THIS really sold me on an “immutable”, near-rolling “distro”.

All of these features have nothing to do with immutability, which is why we don’t describe it that way. :smiley:

1 Like

Never thought of that! :rofl: I’d wondered if there was a reason chsh was missing.

All of these features have nothing to do with immutability, which is why we don’t describe it that way. :smiley:

That’s why I put it in double-quotes. :wink: I really like the idea of “atomic” updates and the possibility of rolling back, that’s what I was thinking about.

Aurora stable is still on Fedora 41 until the kernel 6.14 is stable. Not sure what Fedora version daily is on right now. Fedora 42 images probably have it included.

Stable/stable_daily both have the gated coreOS kernel. So currently 6.13.8.

1 Like

Dumb question, but, what is the difference between gated and ungated in kernel context?

The gated kernel has a slower release cadence than the ungated.

From the docs:

Gated Kernel

The gts and stable tags feature a gated kernel. This kernel follows the same version as the Fedora CoreOS stable stream, which is a slower cadence than default Fedora Silverblue. The Universal Blue team may temporarily pin to a specific kernel in order to avoid regressions that may affect users.

1 Like

There is even native support in Aurora for U2F PAM authentication (I’m using my FIDO2 key for sudo operations and unlocking my session). The udev rules are already there. There’s a tool to manage PAM authentication which I never heard about, authselect. In Ubuntu and EndeavourOS, I had to manually modify /etc/pam.d/ files.

And as I wrote elsewhere, both my PCs got upgraded from 41 to 42 and I wasn’t even aware of it. This is… really great.

I just can’t believe it. This is the most turnkey OS I’ve ever seen.

Wow. :heart_eyes:

4 Likes