this post was submitted on 20 Apr 2024
737 points (93.0% liked)
linuxmemes
21178 readers
1592 users here now
Hint: :q!
Sister communities:
- LemmyMemes: Memes
- LemmyShitpost: Anything and everything goes.
- RISA: Star Trek memes and shitposts
Community rules (click to expand)
1. Follow the site-wide rules
- Instance-wide TOS: https://legal.lemmy.world/tos/
- Lemmy code of conduct: https://join-lemmy.org/docs/code_of_conduct.html
2. Be civil
- Understand the difference between a joke and an insult.
- Do not harrass or attack members of the community for any reason.
- Leave remarks of "peasantry" to the PCMR community. If you dislike an OS/service/application, attack the thing you dislike, not the individuals who use it. Some people may not have a choice.
- Bigotry will not be tolerated.
- These rules are somewhat loosened when the subject is a public figure. Still, do not attack their person or incite harrassment.
3. Post Linux-related content
- Including Unix and BSD.
- Non-Linux content is acceptable as long as it makes a reference to Linux. For example, the poorly made mockery of
sudo
in Windows. - No porn. Even if you watch it on a Linux machine.
4. No recent reposts
- Everybody uses Arch btw, can't quit Vim, and wants to interject for a moment. You can stop now.
Please report posts and comments that break these rules!
founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
In terms of stability and packages, it's an amazing OS. Gone are the days of being afraid that of updates or system upgrades that might leave your system borked. Unless you're experimenting with filesystems and boot parameters, it's not straightforward to fuck things up.
On the flipside, by Linus is it difficult to get things working as a beginner. Good luck packaging new stuff, good luck creating new options, good luck cross-compiling, good luck configuring stuff with hardcoded config paths in
/var/
or whatever, actually good luck understanding how to configure existing packages, good luck getting any kind of PR merged without the say-so of a chosen few, good luck changing anything in the community without getting past the gatekeepers, and have fun understanding why some random package is being installed and/or compiled when you switch to a new configuration.Anti Commercial-AI license
Packaging is generally hard on any distro.
Compared to a traditional distro, the packaging difficulty distribution is quite skewed with Nix though as packages that follow common conventions are quite a lot easier to package due to the abstractions Nixpkgs has built for said conventions while some packages are near impossible to package due to the unique constraints Nix (rightfully) enforces.
Creating options is really simple actually. Had I known you could do that earlier, I would have done so when I was starting out.
Creating good options APIs is an art to be mastered but you don't need to do that to get something going.
Have you ever tried cross-compiling on a traditional distro? Cross-compiling using Nixpkgs is quite easy in comparison.
Yeah, no way to do so other than to read the source.
It's usually quite understandable without knowing the exact details though; just look at the function arguments.
Also beats having no option to configure packages at all. Good luck slightly modifying an Arch package. It has no abstractions for this whatsoever; you have to copy and edit the source. Oh and you need to keep it up to date yourself too.
Gentoo-like standardised flags would be great and are being worked on.
Hi, one of the "chosen few" here: That's a security feature.
Not a particularly good one, mind you, but a security feature nonetheless.
There's also now a merge bot now running in the wild allowing maintainers of packages to merge automatic updates on their maintained packages though which alleviates this a bit.
It can be mysterious sometimes but once you know the tools, you can directly introspect the dependency tree that is core to the concept of Nix and figure out exactly what's happening.
I'm not aware of the existence of any such tools in traditional distros though. What do you do on i.e. Arch if your hourly shot of
-Syu
goes off and fetches some package you've never seen before due to an update to some other package? Manually look at PKGBUILDs?