Quick desktop tour and updates! Homebrew, boxbuddy, and ptyxis!

It’s about time for another update, if you have any questions feel free to ask!!

11 Likes

Love the energy Jorge!!
thanks so much for all the hard work, it’s such a cool os :grinning:
Gonna set up my parents with it! (no more maintenance over teamviewer)
Really appreciate you going over the maximum of features.
Please try to explain the future dx video in great details as well and even more so from a beginner developer perspective (when to use devpod, vscode dev container, distroboxes…) :pray:
Big up to everybody participating to this adventure :+1:

3 Likes

I like it! I’m slowly changing my workflow from distroboxes to the “official” Bluefin-cli experience and I appreciate the work you’ve done with Ptyxis and homebrew.

Hey @stego can you expand on that… explaining your workflow?
Much appreciated :+1: :slightly_smiling_face:

@Bambiraptor Things are still fairly fluid and I’m not sure what the end result will be. But part of me wants to embrace the container-mindset for using Bluefin, which means that I have dedicated distroboxes for specific tasks. I have recently discovered bluefin-cli (yes, I know I’m a bit late to the party), and I’ve started to install software with homebrew. It works great and obviously Jorge has set it up, so that it complements the rest of the system nicely. Which makes me wonder if I should just use bluefin-cli for everything.

3 Likes

Yeah I wish we could just live out of bluefin-cli at all times, but for some people that mental leap of being in a container might be too annoying for them, which is why we ended up putting brew on the host.

After F40 comes out we’ll take a look at where we’re sitting with bluefin-cli, continue gathering feedback from folks, and I’m due for another round of conferences pretty soon so I’ll be taking that opportunity to ask the people working on this stuff deeper questions about where we should be investing effort wise. Plus a lot of this stuff just needs to be baked a bit more.

Compared to when we started I think boxbuddy + ptyxis will be a great combo for new users since it let’s you distrobox without having to know too many commands and it gets them going.

2 Likes

I am following this project last 3 months, and using it . But I still can not get or understand what is “homebrew” or “bluefin-cli” :smiley:

2 Likes

@Marko let me explain:

homebrew is a package manage that is distribution-independent. You might be familiar with apt from Debian/Ubuntu, or dnf from Fedora. The latter two are tightly integrated into their distributions while homebrew can be used with any Linux distribution to install software. It is also a very popular choice for people who want to install software on Mac OS.

bluefin-cli is an operating system in a container that provides various useful command line programs. It is a very nice container for those Bluefin users that prefer to use the terminal for many tasks. Bluefin lets you run the bluefin-cli container inside ptyxis which is a terminal that is optimized for running containers interactively. ptyxis can also be used to run various distroboxes and other containers.

4 Likes

I am waiting for my framework laptop to arrive and I intend to run bluefin.
One thing that is still not clear and I’ve been digging through the build scripts and docker files is from where could be the brew installed binaries called.

More specifically, are they available in:

  1. host shell
  2. distroboxes shell
  3. bluefin-cli shell

It looks like they are available in all of these 3.
A clarification on this would be really good.

@storopoli Hello fellow (future) Framework laptop user :star_struck:

The binaries are installed under /home/linuxbrew/.linuxbrew/bin/ inside the container. Note that “linuxbrew” is not your own user, but a dummy user. When you install software with distroboxes, then the software will also only be available inside that distrobox. For example, when you install a software with apt inside an Ubuntu distrobox, then it will be installed inside the Ubuntu container at the usual location (somewhere under /usr).

Both, bluefin-cli and the distroboxes mount your home directory in read-write mode, so that you have full access to your personal files.

For distroboxes you have the additional option to use distrobox-export which allows you to make an executable from the container available on the host.

No. But if you install a binary inside your home directory at a location that is on your $PATH (for example ~/.local/bin) then it will be available to all your containers and the host, because the containers mount your home directory.

3 Likes

So if I am reading this correct only distroboxes that are created under the linuxbrew dummy user will be able to run homebrew stuff.
Does that contemplates only the bluefin-cli distrobox?

No. The “linuxbrew” dummy user is a workaround to make sure that brew installs software inside the container, because it normally installs the software under /home/your-real-user-on-the-host/.linuxbrew. And because bluefin-cli mounts your home directory, it would otherwise install software directly on the host. Now, you might say: But this is actually what I want! I want to have the software available on the host!. Well, on Bluefin we do things differently. We install software in isolated packages. That means: Additional graphical software is installed via flatpak and additional command-line software is installed in containers. From a purely technical standpoint there is nothing stopping you from installing software for your user directly in your home directory on the host, but this is not the use case that Bluefin is optimized for.

Bluefin wants to make it easy to launch containers with shells directly from the desktop. And one of those containers is bluefin-cli.

To return to the original point:

The linuxbrew dummy user only exists inside the bluefin-cli container. It is completely invisible to the host and all other containers. That means: Software that you install inside the bluefin-cli container with brew is not available to the other containers or the host.

3 Likes

Note that we include brew on the host now also for people who prefer it that way. So if you don’t want to do the distrobox thing you can use it that way.

3 Likes

Note to the newcomers: You can install it on the host via ujust brew

1 Like

very nice @stego! we need a lot of those layman explanations :wink: :raised_hands:

Slight confusion:
I just installed https://download.projectbluefin.io/bluefin-dx-gts.iso
but it seems to be behind what is shown in the video, i.e. ptyxis is not included, containers is not in the logo menu, etc.
Am I holding it wrong?
Maybe it’s because i installed -gts, and there is something later available?
Thanks!

Welcome @JohnAtl! Can you share a screenshot?

Thanks!
I just found https://download.projectbluefin.io/bluefin-dx-latest.iso, which I assume is being discussed in the video. Can I rebase to that, or do I need to reinstall?

Yes, rebasing should do the trick.

I think the command is

sudo rpm-ostree rebase ghcr.io/ublue-os/bluefin-dx:latest

and then reboot.

Hm.

error: Invalid refspec ghcr.io/ublue-os/bluefin-dx:latest

Looks like it might be:

rpm-ostree rebase ostree-image-signed:docker://ghcr.io/ublue-os/bluefin-dx:latest
1 Like