this post was submitted on 05 Apr 2024
22 points (82.4% liked)

Linux

48390 readers
791 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
 

Usually, I prefer manually installing the packages needed for getting started with a new language or technlogy.

I avoid using distro package managers since they tend to be a bit outdated in this regard, and specialised package managers like SDKMAN! seem overkill for one or more packages. Exceptions being languages with excellent tooling and version management like Rust or Ocaml.

I've been doing this for a while and was wondering what the general consensus is

Edit: Thanks for your replies everyone! I've decided to stick with my distro package manager.

you are viewing a single comment's thread
view the rest of the comments
[–] Shareni 3 points 7 months ago (2 children)

It's actually pretty easy if you start with those files, getting to them was a hellish process that took multiple failed attempts though. I'm actually planning on writing a short guide, but didn't find the time yet.

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

I'll try asap!

Good luck on your guide, I think it can be handy

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

Finally got to it and I AM SO GIDDY RIGHT NOW!!!
I looked at your files to know what I should have expected, then, since I'm on Silverblue, I followed this guide https://julianhofer.eu/blog/01-silverblue-nix/ coupled with with Home Manager's Flake manual and finished off with installing Devbox (through Home Manager, which isn't listed as one of the official installation options for some reason), made a Python environment with it and... it's all looking good!
Declarative workflow, here I come 🤩 (and I can soon shelve all those rusty distroboxes that don't start anymore because Podman/Distrobox weirdnesses which have been all to frequent in my usage, yikes)

Thanks again! I probably wouldn't have taken the plunge so soon without your comment

[–] Shareni 2 points 6 months ago (1 children)

Niiice, I'm glad you made it and that I was able to help! It's really funny that your comment came in right after some other dude wrote to me that nix is dying because of drama articles.

I haven't heard of devbox before. Why choose it over nix develop?

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

Actually I hadn't heard about nix develop, I came across Devbox pretty randomly

useless backstoryI remembered that I once saw a website Zero to Nix (on which I made a silly joke in the past on Reddit, but for the life of me can't seem to find so it's probably deleted) that said it would help learn the concepts of Nix, so I opened it just in case, then i saw that there was this FlakeHub banner on top that piqued my curiosity, I was like, is this a nod to Flathub: zero to nix landing page Then I saw this Fleek thing that sounded like Home Manager but more user friendly (?) fleek in the wild Then I saw that it was deprecated so I was back to Home Manager(which in the end was easy enough anyway), but first I checked out their website that mentioned this Devbox thing devbox in the wilder wild

Between that and the rest, for the whole journey (that took surprisingly little time) I constantly jumped around from one website to another to piece together information and verify that it was accurate and up to date, to avoid messing up at least this one thing 😵‍💫

So, after I saw it, I went to look into it more and found that it's like a sort of nix shell for who is used to NPM and the like and I immediately wanted to try it out, because it just sounded like less mental burden then learning yet another thing, which was devenv as far as I got, which I found through these Reddit and Hacker News discussions.
So for now I feel right at ~~~~~ home with it.
In your experience, do you think using nix develop would slim things down without sacrificing too much comfort?

[–] Shareni 2 points 6 months ago (1 children)

Damn, that's a wild ride.

I'm honestly not sure how useful that flakehub is, and I feel the same dislike as I do for like AUR. First time I'm seeing it though.

In your experience, do you think using nix develop would slim things down without sacrificing too much comfort?

Honestly, I've only ever used it a few times when I see that a repo has it. I checked out some of them, and with barely no nix language knowledge I was able to roughly understand what's going on, but I doubt I'd be able to make it without a template or LLM.

I'll keep devbox in mind if I ever need that functionality.

[–] [email protected] 2 points 6 months ago* (last edited 6 months ago) (1 children)

I'm honestly not sure how useful that flakehub

Me neither, I completely skipped over it, but it sounds interesting, maybe it wouldn't be as wonky as the AUR since it's Nix at least, idk

with barely no nix language knowledge I was able to roughly understand what’s going on

That's actually great! Maybe I'll try those as well, since sooner or later I'll have to learn the Nix language anyways and keeping a purer system is always a good thing if possible.

Good luck with devbox btw

edited: how tf did I end up ordering the text like that?

[–] Shareni 2 points 6 months ago (1 children)

maybe it wouldn't be as wonky as the AUR since it's Nix at least

That's for sure, since nix handles dependencies a lot better than pacman. But I meant that due to the sheer size of nixpkgs, and the way you can add a repo to your flakes, there's no real need for it. But that's just pure speculation.

I think a sensible progression is: nix + home-manager -> flakes -> develop -> nixOS

You build on previous knowledge without getting overwhelmed. I tried using guixos without ever using guix or nix, and it's really not nice when you have to spend a week trying to figure out how to do something that takes you 5 mins in a regular distro. It even took me a few attempts to get started with nix simply because the docs are abysmal, almost all info is on nixos, and home-manager is rarely mentioned.

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

It sounds like it makes sense, but I'm not knowledgeable enough yet, I just found this as a maybe explanation https://flakehub.com/docs/faq#flake-versions I'd have to dig more in the rest of the ecosystem

I think a sensible progression is: nix + home-manager -> flakes -> develop -> nixOS

I can already see a good meme shaping up here, and I'm all for it XD
I really agree it might be the easiest way in, I'm already standing on the shoulders of giants having waited so long to start, so I guess I was lucky enough to skip the official docs

[–] Shareni 2 points 6 months ago (1 children)

That's pretty interesting, I'll need to give it a try.