this post was submitted on 23 Jan 2024
109 points (95.8% liked)

Linux

47940 readers
1622 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

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

founded 5 years ago
MODERATORS
 

I love Flatpaks, the programs are nicely separated so they don't interfere with each other. They also don't have flaws like Snap's low performance or Nix's complexity.

But being limited to only graphical apps seems like a real drawback. If one wants to use Flatpaks as their primary package manager there have to be some awkward workarounds for cli programs.

E.g., the prime Flatpak experiene is supposed to be on immutable distros like Silverblue. But to install regular cli programs you are expected to spin up a distrobox (or toolbox) and install those programs there.

Having one arch distrobox where I get my cli programs from will not work, as the package entropy over time will get me the very dependency issues that Flatpak wants to solve.

So what is the solution here? Have multiple distroboxes and install packages in those in alternation and hope the boxes don't break? Use Nix alongside Flatpak? Use Snaps?

you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 18 points 9 months ago (7 children)

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.

[–] [email protected] 8 points 9 months ago (6 children)

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).

[–] [email protected] 3 points 9 months ago* (last edited 9 months ago) (5 children)

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

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

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!

load more comments (4 replies)
load more comments (4 replies)
load more comments (4 replies)