this post was submitted on 28 Jun 2024
47 points (96.1% liked)

Linux

5511 readers
81 users here now

A community for everything relating to the linux operating system

Also check out !linux_memes@programming.dev

Original icon base courtesy of lewing@isc.tamu.edu and The GIMP

founded 2 years ago
MODERATORS
 

I'm preparing for a new PC build, and I decided to try a new atomic OS after having been with NixOS for about a year.

First I tried Kinoite, then Bazzite, but even though KDE has a lot of features, I found it incredibly buggy, and it even had generally poor performance, especially in Firefox. I don't really have time to diagnose these issues, so I figured I would put in just a little more effort and migrate my Sway config to Fedora Sway Atomic.

I'm glad I did. The vanilla install of Fedora Sway is awesome. No bloat and very usable. I haven't noticed any bugs. Performance is excellent. And it was very straightforward to apply my sway config on top without losing the nice menu bar, since Fedora puts their sway config in /usr/share/sway.

I'm also quite happy with the middle ground of using an OSTree-based Linux plus Nix and Home Manager for my user config. I always thought that configuring the system-level stuff in Nix was the hardest part with the least payoff, but it was most productive to have a declarative config for my dev tools and desktop environment.

I originally tried NixOS because I wanted bleeding edge software without frequent breakage, and I bought into the idea of a declarative OS configuration with versioned updates and rollback. It worked out well, but I would be lying if I said it wasn't a big time investment to learn NixOS. I feel like there's a sweet spot with container images for a base OS layer then Nix and Home Manager for stuff that's closer to your actual workflows.

I might even explore building my own OS image on top of Universal Blue's Nvidia image.

Hope this path forward stays fruitful! I urge anyone who's interested in immutable distros to give this a try.

top 25 comments
sorted by: hot top controversial new old
[–] barsquid@lemmy.world 4 points 6 months ago (1 children)

Hell yeah! I'm on Bazzite, myself. I'm ok with KDE but might swap it out later. Did you rebase to get from Bazzite to Sway?

I think the ostree stuff is really neat. Nix sounds like a great complement to it, I guess you can configure it to install to /var pretty easily? I think I'd prefer that to brew.

I've been interested in ostree so much that I'm moving a few other things over to IoT. Building your own makes too much sense, updating layers is so slow. I'm trying to use rpm-ostree compose to make my own version of IoT but I am struggling to modify the containers it builds or turn them into ISOs. All of their tooling is needlessly complex.

[–] tatterdemalion@programming.dev 4 points 6 months ago (2 children)

I just clean installed Sway. The last time I tried a rebase from Kinoite to Bazzite it left me with a weird set of flatpaks and removed Firefox somehow. Probably wasn't a big deal but it was easy enough to start fresh.

And yeah Nix store can live in /var. That's where it ended up when I used the nix-installer provided by Determinate Systems.

Hmm what you say about the ostree tooling is unfortunate. I was hoping to make my own image at some point. What specifically is overly complex?

[–] barsquid@lemmy.world 3 points 6 months ago (1 children)

The problem I'm running into is attempting to create an image fresh from the yaml "treefile" and building on that. I think I know what they're using but the documentation on how to reproduce the build isn't great.

I'd also like to isolate the build into containers, which makes the whole thing harder because the build process uses containers and loop devices.

You might get up and running faster if you start from an existing atomic distro and layer packages on top. The ublue-os repos have an automated script that you could use as a reference.

[–] tatterdemalion@programming.dev 3 points 6 months ago (3 children)

Gotcha, lack of docs is tough.

Ideally I would use an existing atomic distro with both Sway and Nvidia drivers, since I'm currently failing to install those drivers without getting black screen on boot (the issue).

[–] barsquid@lemmy.world 3 points 6 months ago (1 children)

Hey, I just some someone else post some resources that you'd probably be interested in:

https://blue-build.org/

https://github.com/ublue-os/image-template

[–] tatterdemalion@programming.dev 3 points 6 months ago

Thanks! I had seen the ublue template, but not that blue build tool. Will check it out.

[–] barsquid@lemmy.world 3 points 6 months ago

Oh dang that seems like a nightmare. It does seem like it is going through some growing pains particularly with kernel mods.

[–] poki 2 points 6 months ago* (last edited 6 months ago) (2 children)

Ideally I would use an existing atomic distro with both Sway and Nvidia drivers

Consider taking a look at uBlue's base image with Sway and built-in Nvidia drivers or wayblue's image with Sway and built-in Nvidia drivers.

[–] tatterdemalion@programming.dev 2 points 6 months ago (1 children)

Oh I didn't realize they had one with Sway. That helps!

[–] poki 2 points 6 months ago (2 children)

Consider reporting back on how it goes 😉.

[–] tatterdemalion@programming.dev 2 points 6 months ago (1 children)

So right off the bat I tried rebasing from Fedora Sway Atomic to the Wayblue sway-nvidia image, but I got the error:

Package 'rpmfusion-nonfree-release-40-1.noarch' is already in the base

I think because I had previously tried installing nvidia drivers from RPM Fusion. So I reset back to the base image with:

rpm-ostree reset --overlays

After that everything went smoothly and I'm apparently booted with a functional Nvidia driver. Thanks for the help! I'm off to try running some graphics.

[–] poki 2 points 6 months ago

Glad to be of help!

And thank you for reporting back!

Enjoy 😊!

[–] tatterdemalion@programming.dev 2 points 6 months ago (2 children)

After a little more time with it, I've noticed that nvidia + sway is causing a lot of flickering on updating rectangles of any window, presumably from a compositing issue. I expected the "explicit sync" fix in the 555 Nvidia driver to fix this, but I'm currently running 555.85. I hope it's not some other issue.

[–] poki 2 points 6 months ago (1 children)
[–] tatterdemalion@programming.dev 2 points 6 months ago (1 children)

Interesting. I am not having any issues with Firefox. Maybe I'm already running in XWayland somehow?

[–] poki 2 points 6 months ago (2 children)

Maybe I’m already running in XWayland somehow?

That's definitely possible. Within Firefox, what does about:support reveal on this matter?

[–] tatterdemalion@programming.dev 2 points 6 months ago (1 children)

So I'm seeing "Window Protocol: wayland" in about:support. Seems like somehow I'm just not affected by this issue.

[–] poki 2 points 5 months ago

We'd rather like to see that anyways 😜.

[–] tatterdemalion@programming.dev 2 points 6 months ago

Away from PC for a while but I'll check when I'm back.

[–] poki 1 points 6 months ago* (last edited 6 months ago)

Unfortunately, I don't own any device with Nvidia. Hence, I don't think I'll be able to help out. However, wayblue's maintainers are pretty active. Therefore, consider opening an issue on its GitHub page and perhaps they'll be able to help out.

I apologize for not being of much help here. Wish ya good luck, though!

Happy cake day btw!

[–] tatterdemalion@programming.dev 2 points 6 months ago* (last edited 6 months ago) (1 children)

Wait. Where are you finding the sway image? I'm browsing the images but I don't see it.

EDIT: Maybe it's only Way blue that has sway?

[–] poki 2 points 6 months ago (1 children)

It's found here. It's called sericea-nvidia. For this image, please refer to the installation guide found here if you're interested.

[–] tatterdemalion@programming.dev 2 points 6 months ago (1 children)

Oh thanks! I didn't notice "Sericea" was the name of this image when I installed it. Wish that had been more obvious.

[–] poki 2 points 6 months ago

It has been my pleasure!

It used to be called Sericea. However, the obscure names started to become very unwieldy. Therefore, they chose to preserve the naming for earlier established and recognized names (i.e. Silverblue and Kinoite) while Sericea became Sway Atomic instead.

[–] vividspecter@lemm.ee 3 points 6 months ago* (last edited 6 months ago)

The last time I tried a rebase from Kinoite to Bazzite it left me with a weird set of flatpaks and removed Firefox somehow

There's a warning against this in the Bazzite FAQ, so that's not too surprising. It's referring to DEs, but different "distributions" also applies I presume. I hope that becomes solved in the long run, as it is one of the current downsides with Silverblue etc