this post was submitted on 01 Aug 2023
4 points (100.0% liked)

NixOS

232 readers
1 users here now

NixOS is a Linux distribution built on top of the Nix package manager. Its declarative configuration allows reliable system upgrades via several official channels of stability and size.

This community discusses NixOS, Nix, and everything related.

founded 1 year ago
MODERATORS
 

What do you as a fail safe when there isnt a flake or nix package for what you need, and you don't have the time or ability to create it?

Here's my particular example. I need the beta version of OpenSCAD, which is only delivered as a flatpak in the beta flatpak channel, which I have tried but have been unsuccessful in doing. I havent even attempted building from source. Only the stable version is in nixpkgs. In this case, what would you do?

And in general, what do you do? Install things using a different package manager, like pip, npm, cargo, etc and manage at the user level? Do you run a VM? Docker? Let me know what your backup plan is on NixOS.

top 6 comments
sorted by: hot top controversial new old
[–] [email protected] 5 points 1 year ago

Docker for cli stuff, flatpaks for gui stuff.

[–] [email protected] 2 points 1 year ago

You build a derivation yourself... which I never do. I am on mac so I brew install and orchestrate brew from home manager. I find it works good as a compromise.

[–] [email protected] 2 points 1 year ago

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.

[–] [email protected] 2 points 1 year ago

I went a different route, but I might be an idiot. Had problems getting mongodb to work It's not open source, so it's not in the cache. My install wouldn't compile, and it seems I'm no alone in this. I setup kvm (libvirt), installed a debian 12, and installed mongodb. It works. I don't particularly like it this way, but it works. I'll probably move away from Mongo eventually. Until then, I'll just leave it as is.

[–] [email protected] 2 points 1 year ago

I'll mention some things others haven't;

Usually, like if a python package isn't available, you can do half-nix by using something like python venv, and install everything like normal in venv. Or for rust, you get rustup through nix, but then let rustup do its mutable work, instead of literally managing crates through nix. It's also possible to patch a lot of stuff into a nix shell for inter-op.

When that fails, which it does, then its

  • docker
  • Tea (author of homebrew wrote it)
  • brew/apt
[–] [email protected] 1 points 1 year ago

Docker containers