One thing I still can't figure out is if nix (or flakes) allows you to pin packages to a specific version. Does anyone now if that's possible and how?
E.g. (pseudo code below)
services.nginx.version="1.21.4"
services.nginx.enable=true
One thing I still can't figure out is if nix (or flakes) allows you to pin packages to a specific version. Does anyone now if that's possible and how?
E.g. (pseudo code below)
services.nginx.version="1.21.4"
services.nginx.enable=true
What's your thoughts on a NixOS like operating system for FreeBSD? And have you seen any development effort for it (I don't mean the package manager for FreeBSD which already exists).
Frankly, FreeBSD being an entire operating system with userland included seems way more appealing to me than Linux based NixOS - since it seems like reproductability would be even easier/stronger for BSD than Linux.
As far as reproducibility goes, in practice most of the invariants that are not reproducible go down to people embedding way too much metadata into things for no good reason. A BSD base would certainly remove a bunch of variables, but it's not magic reproducibility sauce.
You can supply a particular package version to most services e.g. `services.nginx.package`.
Or if you need to vendor a service, you can copy it into your local repo and use `disabledModules` to prevent the loading of the original.
I haven't used them yet, but I think flakes will make this a lot easier, if my understanding of them is correct.