I’m not sure if it’s larger :)
I’m not sure if it’s larger :)
I suspect this is a problem with your particular combination of hardware and kernel. I doubt this has something to do with NixOS itself, so I would try to see if there’s something to be found in the ArchWiki. The solution might be to pick a different kernel and/or using paricular kernel modules/module options. Good luck
I think would just try to compile it from source. Using a different package manager seems very weird. I suspect getting the source to build on nixOS is more or less equivalent in terms of effort than to create a derivation. I have done so in the past and I ended up pushing them to nixpkgs. If compiling is out of the question, I guess docker but I havn’t had to do that, yet.
Who?
Many who don’t see the danger were not here in the 2000’s. There are so many great technical achievements that were killed by microsoft, google or facebook EEE’ing the shit out of it. Remember jabber/xmpp? Yeah, both FB and Google implemented the protocol in their chat apps. Everyone was thrilled; I could use my jabber client to connext to fb and talk to my friends. Then they remembered there’s not any money in that and killed the projects.
Even if it’s good for the fediverse now, as soon as they realize they can make more money by not having to sync with other companies and organizations, they’ll be out of here, leaving nothing behind like a swarm of locusts. The only defense is defederation.
That’s correct. It’s also horrible for the comments section because people hate-downvote comments they disagree with, which in turn leads to people avoiding making possibly unpopular comments. It’s really hurtful to meaningful discussion.
Assume you have two flakes A and B, and A takes nixpkgs
as an input. Thus, A defines something like inputs.nixpkgs.url = nixos-unstable;
. Now, assume B depends on A, so B defines inputs.a.url = "where-to-find-A"
.
When you evaluate B, then you pull in A’s dependencies as it is defined by A. So B now depends on nixos-unstable. However, maybe you don’t want to depend on unstable. You could of course just override the input nixpkgs to a paricular version. Or you say “the nixpkgs dependeny of A is the same as the nixpkgs as defined by B”. So you say, in B: inputs.a.nixpkgs.follows = "nixpkgs";
.
So now, A’s nixpks is the same as B’s inputs.nixpkgs
when you evaluate B and you didn’t need to touch A.
I think most of your concerns have at least one “yes, and…” response.
For example, yes it’s niche; it also has the most number of first class available software packets out all distributions. So it’s not a little unsupported corner with a small community; it’s quite large actually.
The security model is inherently at least as good as for any other major community. If package maintainers read the new upstream code, it’s safer, if they don’t it’s not. I don’t know of any useful security mechanisms in debian or arch that don’t exist for nix. However, packaging software IS less cumbersome with nix, once you know how; which leaves more time for code reviews and testing in theory.
Programmability of software packaging is mostly irrelevant to the normal user. Package maintainers will have to do some special handling for the odd package, and power users might want to put abstractions into their configuration. For normal day-to-day, where you want to package your own project and get a dev shell, it’s mostly straightforward.
Most of the time, for os features, it’s absolutely not 1:1. Many very useful intents are modeled as nixos configuration flags. In most cases no, you don’t need to figure out what you need to install and what file to change to set the theme in gtk; there’s an option and you’re done. Sure, there are packages with less abstraction, but nixos makes it very easy to add. Furthermore, the options are safe between system upgrades which is not always the case for major software releases.
Yes. NixOS is complex, yes Nix is hard to learn, there’s no doubt about that. I assume there’s going to be many projects down the line taking nixos ideas and wrap them into nicer UX.
It’s difficult to say without seeing your nixos config. Are you importing any nixos modules? Would you be able to share your configs?
Also see https://nixos.wiki/wiki/Swap In paricular: