this post was submitted on 23 Jan 2024
105 points (95.7% liked)
Linux
48074 readers
1040 users here now
From Wikipedia, the free encyclopedia
Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).
Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.
Rules
- Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.
- No misinformation
- No NSFW content
- No hate speech, bigotry, etc
Related Communities
Community icon by Alpár-Etele Méder, licensed under CC BY 3.0
founded 5 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
I think Nix is great for installing CLI apps, it's not that complicated, in fact, it can make many things in your life easier.
This.
Also, @[email protected] - you not be aware but you can use Nix in an imperative way (as opposed to declarative), which doesn't require learning the Nix language or editing config files etc.
Eg: say you wanted to install
tealdeer
, all you need to do is run:nix profile install nixpkgs#tealdeer
There are similar one-liners to search, upgrade, rollback etc.
I use Fedora uBlue (Bazzite), and use Nix to install all my CLI apps, and Flatpak for all my GUI apps. Been running this setup for a few months on and it's been great experience (bit of a learning curve doing this way of course, but I'm pretty happy with my setup now).
Thanks, I will try that out. I want to use uBlue as well, but cli program installation has been holding me back.
uBlue also makes nix available via fleek, but the way you describe it it seems easier to just use nix directly
ublue contributor here. We're set up so you can install any cli program from any distro transparently. Should we outline that more in our docs?
hey, I'm a bit overwhelmed by all the options you provide to install cli programs. There's nix, fleek, devbox, devcontainers, distrobox, incus, brew and probably even more options.
I just want one preferred way to install my cli programs globally, like on normal distributions, but it is not clear which option is the default one. After digging through posts on the forum I found out that the ubuntu distrobox with apt is supposed to be this default installation environment. Maybe make that clear when someone opens the host terminal on bluefin, or let the bluefin installer give this info to the user.
Even then, projectbluefin.io in the FAQ section suggests that homebrew is the creator's preferred installation method, not ubuntu. So which one should I use now? On one hand, bluefin's default DE is GNOME which is very simplified and has one correct workflow, on the other hand bluefin provides a multitude of choices all seeming equally viable, which is more in line with KDE's philosophy.
Also, why prefer homebrew over something like nix? AFAIK, homebrew leads to the same dependency issues that the traditional package managers have.
Additionally, what is making ublue hard for me is that all the important info seems to be scattered on the ublue website, blog posts and forum posts. I'd really like it if there would be one website which gives clear guidance for people who are new to bluefin (or bazzite etc.). Not explaining all of the possibilites, but just the most important stuff to get started. Just a really dumbed down, compressed version of the existing ublue guides. The users can figure out more themselves afterwards.
Something like:
These starter instructions may not be perfect, but at least then the users have a daily driver they can learn more about over time instead of having to learn everything before daily-driving ublue.
Thank you for all the hard work you guys are putting into this, I'm excited to see the project mature
We're working on a dynamic motd system that will give you some guidance when you first run the terminal. Here's the issue if you have some feedback! https://github.com/ublue-os/bluefin/issues/609
Yeah the reason it's ubuntu by default is that's what the target audience uses, but we've been working on a wolfi/brew distrobox that ends up being a better experience, so we're mulling shipping that by default.
We picked homebrew because it's overwhelmingly the most popular package manager for cloud people and has everything people need. nix doesn't really fit in a container world, but we don't stop people from using it, and with devbox there's at least a common devcontainer pattern people can use. I haven't really run into dependency issues with homebrew but the new bluefin-cli container maintains state and is destroyed/rebuilt regularly so that hopefully won't be a problem.
Yeah this is annoying and we're in the middle of consolidating docs, I'm hoping to streamline it by Fedora 40. I'm also working on a 10m "how to use this thing" video, it's just been hard to spend time on it when we're still making it. We're almost feature complete at this point so I'll start on this soon.
Your starter steps are exactly what we want the default to be, do you think we should say that more strongly? Thanks for your feedback! I think we can clean up a bunch of this stuff to make it easier.
Thank you for the answers and listening to the feedback.
Yes, I'd definitely try to make it more clear to the user that the ubuntu/wolfi distrobox is the way to go and that all the other installation methods are just bonus for those who need it.
Also, I think it's a bit confusing for newcomers whether to choose bluefin or -dx. It seems like dx is always the better option, even if you end up not using all of the extra features
Yep exactly. I tried Fleek first, but it just added a whole bunch of layers of complexity which I wasn't prepared to get into. In fact, the first time I tried setting it up, I couldn't even get it to work with a basic preset ("bling" level), because some dependency in the chain somewhere was broken and it thru a bunch of errors.. and that to me wasn't a good sign of things to come, so I abandoned the idea.
Nix however has been super easy to use, literally just install/uninstall stuff just like how you'd use a regular package manager, except it installs to your user profile/path, doesn't need sudo, no container/sandbox slowing things down, no Distrobox limitations and bugs, and most impressively it's fast. Like so fast that stuff installs instantly, and you'd think that the command didn't work!