Man, there’s a lot of negative comments here. Just to add a different experience: my company loves Nix, it makes it really easy to integrate new tools into the dev/build environment without needing to document which packages, configuration, … a developer needs to apply to their machine manually. There’s nothing like it, really.
Nix: Taming Unix with Functional Programming
81–90 of 205 posts
Re: Nix: Taming Unix with Functional Programming
#82Earlier quoted context omitted.
Oh, this is great info. Thank you. I use optimus-manager and it's 100% not, so I thought I was just SoL.
It'll probably still be a bit of a pain to work out. I hate getting NVIDIA Optimus stuff working on a laptop for the first time, lol You might want to consult the unofficial wiki: https://nixos.wiki/wiki/Nvidia (You probably want PRIME in offload mode rather than Bumblebee, which wasn't available when I set up my old NVIDIA system.)
sync mode actually stopped working for me, but that's not a big deal since the offloading works so well. I always use my GPU when I need it.
Re: Nix: Taming Unix with Functional Programming
#83Earlier quoted context omitted.
> This affects Nix disproportionately because Nix actually integrates all package updates into one channel which nobody else anywhere does Does Arch not do that?
Maybe it would be more correct to say that "Nix integrates all package updates into one channel which is unique to system integrators (like Nix and Arch) but an uncommon workflow for regular application developers".
Re: Nix: Taming Unix with Functional Programming
#84Nix needs a new porcelain interface for it's CLIs. Moreover, this post sums up one of my biggest issues stopping me from trying Nix for real again: https://ianthehenry.com/posts/how-to-learn-nix/ambiguous-pac... Finally, needing to rewrite everything in Nix is nice for poorly written configurations or undocumented packages in general, but seems redundant for well maintained software. Has anyone else come up with a sa…
I have tried Guix (as a package manager), and it seems much better documented. I also really like the fact that Guix uses a well-established, minimalistic, well-implemented, functional-preferred configuration language, which is Guile, the GNU implementation of Scheme, which is very much tailored to be extended with and embedded in other software, for example written in C. In part, my love comes from having had to use…
Re: Nix: Taming Unix with Functional Programming
#85Man, there’s a lot of negative comments here. Just to add a different experience: my company loves Nix, it makes it really easy to integrate new tools into the dev/build environment without needing to document which packages, configuration, … a developer needs to apply to their machine manually. There’s nothing like it, really.
I dont think anyone is being negative at least not the top level comments i read. I like nix but i gave it a test run at my company and no one could figure out how to make any change that wasn’t a copy and paste of what i had done. The docs don’t help much unless you really go diving into them and most people who just want the software to run don’t want to spend the time learning it. I don’t blame them. This is a ver…
these people are not nix's target audience
Re: Nix: Taming Unix with Functional Programming
#86Earlier quoted context omitted.
There are many things like it. For example, managed operating environments where the user doesn't need to do anything (and actually can't do anything). Or disposable environments like VMs and containers. Sure, it's not the same as massaging a special pet operating system over and over, but most people that need to produce software hopped off of that bandwagon years ago. I get that companies that do functional program…
Nix is not an operating system. It can be used to build operating systems easily, though. Also, there isn't anything "functional" about Nix. It's a nice sales pitch, but underneath it's just a thin layer over bash scripts and environment variables.
The metalanguage is indeed purely functional. The object language (bash) isn't.
Re: Nix: Taming Unix with Functional Programming
#87Re: Nix: Taming Unix with Functional Programming
#88Earlier quoted context omitted.
So… over-engineered and expensive to maintain?
Overengineered? Maybe, depending on your use case. NixOS is pretty popular as a desktop OS within the community, for example, and I could see a case that its guarantees and strictures are overkill there. But maintenance is really easy. You're basically never forced to rewrite or throw away tons of config. Doing literally years worth of updates at once is typically pretty painless. (Adding new packages to Nixpkgs or n…
Re: Nix: Taming Unix with Functional Programming
#89Man, there’s a lot of negative comments here. Just to add a different experience: my company loves Nix, it makes it really easy to integrate new tools into the dev/build environment without needing to document which packages, configuration, … a developer needs to apply to their machine manually. There’s nothing like it, really.
Re: Nix: Taming Unix with Functional Programming
#90Earlier quoted context omitted.
I'd describe many of the benefits for developers as like "docker, without containers". e.g. if you want to try out helix, you could run `nix run nixpkgs#helix`, and it would download + run helix without installing it. (Or you could run `nix shell nixpkgs#helix` to add helix to the PATH in the current shell, without installing helix, etc.). One use case I'm excited about for developers is the ability to declare the de…
We use Brewfiles to install binary dependencies needed by various projects. This is only for developer’s machines, but it’s lightweight and fast: `brew bundle` and you’re done.
With Nix, you can "install" many different versions of the same program side by side in the store, and then "activate" the one you need at runtime (or with direnv).