10 ms·
It is not the same level of reproducibility like Nix and Bazel provides. You can pin ruby to exact version you want with https://nixos.wiki/wiki/Overlays https
by rossmohax 5y ago
It is not the same level of reproducibility like Nix and Bazel provides.
You can pin ruby to exact version you want with https://nixos.wiki/wiki/Overlays https://nixos.wiki/wiki/Overlays
- dmitriid 5y ago> It is not the same level of reproducibility like Nix and Bazel provides. What is "the same level"? > You can pin ruby to exact version you want with https://nixos.wiki/wiki/Overlays https://nixos.wiki/wiki/Overlays That page says: "Overlays provide a method to extend and change nixpkgs" I don't want to change something. I want to simply pin a version. This is neither simple, nor scalable, nor maintainable (also here: https://news.ycombinator.com/item?id=28591202 https://news.ycombinator.com/item?id=28591202): Overriding a version self: super: { sl = super.sl.overrideAttrs (old: { src = super.fetchFromGitHub { owner = "mtoyoda"; repo = "sl"; rev = "923e7d7ebc5c1f009755bdeb789ac25658ccce03"; # If you don't know the hash, the first time, set: # sha256 = "0000000000000000000000000000000000000000000000000000"; # then nix will fail the build with such an error message: # hash mismatch in fixed-output derivation '/nix/store/m1ga09c0z1a6n7rj8ky3s31dpgalsn0n-source': # wanted: sha256:0000000000000000000000000000000000000000000000000000 # got: sha256:173gxk0ymiw94glyjzjizp8bv8g72gwkjhacigd1an09jshdrjb4 sha256 = "173gxk0ymiw94glyjzjizp8bv8g72gwkjhacigd1an09jshdrjb4"; }; }); }
- rvanlaar 5y agoReading your linked post, it seems you are wrestling with how Nix works. Nix is hard to learn. The concepts used are almost the same, but different. That's because it's solving slightly different problems than package managers currently do. As the overriding example shows, the versions are pinned by hash and are stored in a file. What about it is not maintainable or scalable?
- dmitriid 5y ago> Reading your linked post, it seems you are wrestling with how Nix works. Not only me. > That's because it's solving slightly different problems than package managers currently do. We keep hearing this claim, and hardly any proof of that. > As the overriding example shows, the versions are pinned by hash and are stored in a file. What about it is not maintainable or scalable? 1. Commit hashes are not versions 2. Hunting down every commit hash of every package to pin down the exact version is neither maintainable nor scalable
- jbboehr 5y ago> Hunting down every commit hash of every package to pin down the exact version is neither maintainable nor scalable I believe flakes will make this a lot easier, but it's not quite here yet.
- clhodapp 5y agoIn terms of version pinning, flakes are essentially just an in-tree equivalent of niv, I will say.
- dmitriid 5y ago> I believe flakes will make this a lot easier Somewhat, I guess? It will apparently let you write this: { inputs = { home-manager.url = "github:nix-community/home-manager"; }; } where you can manually point to a specific commit/branch for a tool. Better than nothing, I guess :)