I am new into ublue and I have been using bluefin since a couple of days. I have been liking it so far. I did not expect it to be so good( Since I have been a long time(~2 years) archlinux-hyprland+qtile daily driver.
For the sake of reproducibility of my current setup of bluefin linux I am building an image of my own using blue-build on top of bluefin.
I am installing a few packages which are not installable via flathub(due to unavailability or unverified packages) and not available in brew either. The thing is I wanna stay aligned with the vision of ublue. Therefore I wanna ask, âcan somebody review my recipe.yml?â
Not that itâs wrong, but if you donât want to remove anything using that rpm-ostree module, you donât need to specify the remove:
Not wrong, but you could also use a container for android-tools and export adb + fastboot to host, thatâs what Iâm doing currently but I also thought about just including it in the image, since thatâs basically the only thing I export from that container.
Ahh, I see where the other .ymlâs must be placed.
I am putting âem in `recipes/addonsâ folder.
I had left it for references but ig the docs will serve that purpose.
Same here.
Haha, it is really fun to build your own image. I will soon add config files for various applications ig.
Btw do you think ublue will continue providing the freedom to users to build their own images as they will be soon enabling LayeringLock. I know we can disable it later but hey⌠that will not be something default. (Ig when you use custom images you are putting your immutability at risk anyways?)
Small distinction here. The BlueBuild image builder is not âpart ofâ ublue. Its a different org that was previously part of uBlue. uBlue has their own image template in github that you can use to build âublue imagesâ.
As far as I understand, the BlueBuild uses a little bit different kind of building process.
Whatâs the difference between BlueBuild and Universal Blue?
Universal Blue is an open source project started by cloud developers that builds amazing custom images based on atomic Fedora along with related experiments, while BlueBuild only builds tools for custom image creation. The project now known as BlueBuild started out as just a part of Universal Blue, but was eventually split from it due to diverging from the scope and being mostly unrelated to the projectâs main maintainers.
Iâm guessing here, but I think LayeringLock is related to rpm-ostree on a booted system (local layering), I donât think itâll affect image building in any way.
Yeah the layering lock doesnât really affect the ability to build custom images. Its just the booted images layering will be locked in the default images.
Havenât looked into custom images that much but I guess there would be a way to change that default during creation of the image.
You are right. Ig the best way to use it would be to know what you are doing. From ublueâs side it will be functional always. But upon the userâs action the immutability is solely dependent.
Going out of my knowledge zone but the image that gets pulled, doesnât have those âlayered packagesâ in sense as they are built directly to the image being pulled.
The Layering lock will prevent the user from installing a package on top of the image, just like you would do currently for example rpm-ostree install <packagename>
Yeap. So you can stuff your image full of whatever you like and it will not show up as layered packages for the user. It will be just another image (full of stuff).
Of course your image would increase in size and make updates slower.
Check this out. These three are the packages I incorporated in the custom image. (there was fish as well but fish is in bluefin image itself so ig not showing up)
Just a clarification that this change is Bluefin-only and as others have pointed out, it only puts the ability to do a local change behind a config flag.
From a technical perspective it would be impossible for us to ever remove the ability for anyone to make a custom image since thatâs a fundamental part of the tech stack, our project wouldnât be able to exist otherwise, heh. Weâre also a custom image.
As to the amount of packages you can include on an image, thatâs up to the amount of hardware you have to make the thing, you could make one huge fat image if you wanted. During one of the talks at Devconf Dan Walsh mentioned that some of their AI images are north of 200(!) GB so you should be good assuming you have the disk space to do all of that. (For comparison Bluefin is 9GB and Bluefin DX is 12GB)