j0rge

joined 1 year ago
[–] [email protected] 1 points 2 months ago

Yeah checkout ucore, which is derived from CoreOS instead of Silverblue: https://github.com/ublue-os/ucore

[–] [email protected] 0 points 2 months ago (2 children)

Hi! Universal Blue co-maintainer here, here's the TLDR. You've got the basic descriptions right, "Universal Blue" is mostly the parent organization that holds everything in github.

We take Fedora's Atomic OCI images and customize them for different use cases (Aurora, Bazzite, and Bluefin) and then publish base images so people can make their own versions of whatever they want. So if you wanted to take Silverblue, Kinoite, and make your own custom image you can mostly just grab whatever you want and shove it into an OS image. Bluefin started off as a "fix me" script for Silverblue that added all the stuff I wanted and then once I was shown what Fedora wanted to do with it the natural progression was to just make it a custom image. We just released 3.0 a few minutes ago actually!

Basically in Fedora 41 the tech will become more widely available with official OCI base images and better tooling. We just decided to start way earlier in the process so we could get all the automation out of the way, build a community, get familiar with it, etc. Happy to answer any other questions you may have!

[–] [email protected] 1 points 3 months ago* (last edited 3 months ago)

ublue co-maintainer here. I go over a bunch of the reasons here: https://www.ypsidanger.com/homebrew-is-great-on-linux/

Namely we needed a way to complement Flatpak and brew was a natural fit. It's an ecosystem reason not a technical one. It has everything we need and a good deal of Bluefin's target audience are already using it on mac. So for us it's an easier lift to just add homebrew and move on to larger problems.

Plus it's nice that they're working with the openssf to secure the supply chain pipeline, and it's nice that everything is in github where we can inspect it, use the same tooling we use for the OS, etc.

[–] [email protected] 2 points 3 months ago (1 children)

Use the distrobox assemble command, that'll let you have an ini file with all the stuff you want and then when the assemble command runs it'll remake the entire thing. Then just toss the assemble in cron and you'll always have a fresh container with your exact setup.

[–] [email protected] 8 points 3 months ago

Immutable is new to me,

It's best to ignore the whole "immutable" thing as most of the discussion around that is conflating a bunch of other concepts and it just leads to confusion. When it comes to things like host daemons, these systems are designed to deploy daemons the same way as cloud servers, so for mpd it'd be running the service as a container. A quick search of /r/selfhosted shows some options, but I'm on the road so don't have time to recommend a specific image, but generally speaking anything server related is done via containers.

I use the 1password firefox plugin for my password management. There still isn't a flatpak portal that allows flatpaked password managers to talk to flatpaked browsers, that can be a pain point to some people depending on your use case.

As far as how you manage your distroboxes, that's up to you. We differ from fedora here where they default to "just use toolbox" for everything, whereas we default to "just use brew" for everything. I keep an ubuntu and fedora distrobox in case I need to check something from those distros, and arch is a popular choice. If you're happy with your existing distro but want the reliability of atomic updates then this is a good option. For most new users I recommend not caring about distrobox, most of that stuff is for developers or people that know how to linux already and know exactly what they want.

Also, are there any issues with upgrading a distrobox to a new major release over time?

Containers are designed to be ephemeral, so that you can recreate them on the spot when something goes bad. So I never upgrade boxes, I recreate on the spot using my custom configs. That way I have the same experience on all my machines and when something breaks I don't lose any time setting things up again. Distrobox assemble is awesome for this: https://github.com/89luca89/distrobox/blob/main/docs/usage/distrobox-assemble.md

So far my mindset has been make sure I don’t layer anything, but maybe some things like mpd do make sense to layer?

I don't really layer anything, I use everything via containers or brew. Generally speaking some people might have a few things they have no choice to layer - a good example is a VPN provider that doesn't provide a wireguard config for network manager and instead you have to layer some 3rd party app. But it's also not the end of the world, updates will take longer but 99% of the time I'm asleep when that happens or it happens in the background and is transparent to me. The more you layer the more maintenance you'll have to do when you do upgrades, so if you end up adding a bunch of 3rd party repos it'll behave the same way as a traditional distro and likely need to be babysat.

The system will update all your boxes and your brew packages as well, so whichever one you use you'll never be out of date. Hope this helps!

[–] [email protected] 23 points 3 months ago (4 children)

I’m unclear how mature the project is and whether it will be updated in a timely manner long term

ublue and bluefin co-maintainer here, we've been around for a while now (3rd birthday coming up!) and have been around in a more unofficial capacity for longer.

Bluefin is feature complete and is in maintenance mode, it's just going to get updated in perpetuity to 41, 42, etc. We invested in automation first so most of the maintenance is automatic and it doesn't take much for our team to do it. Right now most of our major ticket items are waiting for things to finish landing in upstream Fedora, most of which are targetted towards F41. A good portion of the team have been around in OSS for a long time and a bunch of us work in the industry and depend on Bluefin for our jobs, so much so that we have a great working relationship with Framework, so we're supporting those laptops as a community option for them.

Aurora is relatively new, coming in just as Plasma 6 landed in fedora. Most reports with issues we get for it are things like it being a new major release, wayland/nvidia issues, etc.

Hopefully that answers some of your questions, if you have more feel free to ask!

[–] [email protected] 2 points 5 months ago (1 children)

being a mutable minimal CentOS. So all the linking and making immutable would need to be done.

No it's designed to be consumed as a base image for ostree enabled OCI containers.

[–] [email protected] 7 points 5 months ago (3 children)

This requires the presence of rpm-ostree and a kernel, which are both missing in the CentOS Stream image.

There are ostree-enabled OCI containers of centos if you know where to look. :D

This should be enough until they start publishing official ones, never used it:

https://quay.io/repository/centos-bootc/centos-bootc-dev?tab=tags

[–] [email protected] 2 points 6 months ago

I'm not a security expert but I do know that the Homebrew is working with openssf on security: https://openssf.org/blog/2023/11/06/alpha-omega-grant-to-help-homebrew-reach-slsa-build-level-2/

Boxkit predates wolfi so it's still alpine, I'll probably replace it at some point but most of the forks of boxkit are because people want the premade github actions and they end up replacing it with whatever distro they want anyway. The wolfi connection is because I know the people who work there (including a ublue maintainer) and we have similar goals/ideas on how linux distros should be put together. My ideal dream is a wolfi userspace systemd-sysext on top of fedora base, then we can have our cake and eat it too!

We're not security experts but lots of us work in the field and that gives us access to peer review from experts when we set things up. We sign every artifact with sigstore so users can verify that the code used in github is what's on their image, that sort of thing. And most of our practices utilize CNCF governance templates that lots of other projects use.

[–] [email protected] 1 points 9 months ago

Here maybe it's easier if I just paste in the differences:

  • Ubuntu-like GNOME layout.

    • Includes the following GNOME Extensions:
      • Dash to Dock - for a more Unity-like dock
      • Appindicator - for tray-like icons in the top right corner
      • GSConnect - Integrate your mobile device with your desktop
      • Blur my Shell - for that bling
  • GNOME Software with Flathub:

    • Use a familiar software center UI to install graphical software
  • Built on top of the the Universal Blue main image

    • Extra udev rules for game controllers and other devices included out of the box
    • All multimedia codecs included
    • System designed for automatic staging of updates
      • If you've never used an image-based Linux before just use your computer normally
      • Don't overthink it, just shut your computer off when you're not using it
  • Starship is enabled by default to give you a nice shell prompt

  • Solaar - included for Logitech mouse management along with libratbagd

  • Tailscale - included for VPN along with wireguard-tools

  • zsh and fish optional

  • Built-in Ubuntu user space

  • Ctrl-Alt-u - will launch an Ubuntu image inside a terminal via Distrobox and your home directory will be transparently mounted for the Ubuntu image to access

  • A BlackBox terminal is used just for this configuration

  • Use this container for your typical CLI needs or to install software that is not available via Flatpak or Fedora

  • Optional ubuntu-toolbox image with Python, and other convenience development tools. just distrobox-bluefin to get started. To configure just follow the guide.

  • Optional universal image with Python, Node.js, JavaScript, TypeScript, C++, Java, C#, F#, .NET Core, PHP, Go, Ruby, and and Conda. just distrobox-universal to get started

  • just assemble shortcut to declaratively build distroboxes defined in /etc/distrobox/distrobox.ini

  • Refer to the Distrobox documentation for more information on using and configuring custom images

  • GNOME Terminal - Ctrl-Alt-t - will launch a host-level GNOME Terminal if you need to do host-level things in Fedora (you shouldn't need to do much).

The difference between silverblue and your image is that silverblue is signed by fedora and yours isn’t.

Of course Fedora only signs Fedora images, we sign our own images.

There’s no reason for anyone but you to use the image. Even if I were to us tailscale and fish, I’d be better off with silverblue.

Then use Silverblue! If you don't understand the features of something then you might not be the target audience!