4 ms·
Why would I give up on shell.nix if flakes API isn't stable yet? I've got my own patterns around default.nix and shell.nix that provide better ergonomics than f
by ghostwriter 4y ago
Why would I give up on shell.nix if flakes API isn't stable yet? I've got my own patterns around default.nix and shell.nix that provide better ergonomics than flakes.
- oever 4y agoFlakes have a lock file (flake.lock) which means you get to decide explicitly when to update the software. nixpkgs does not have precise rules on what updates are allowed, so nix-shell can give surprising results unless you make the effort to stick to one version of the whole nixpkgs explicitly. With flakes you can combine packages and versions explicitly.
- ghostwriter 4y ago> you make the effort to stick to one version of the whole nixpkgs explicitly. the "effort" is just pointing to a particular checkout from nixpkgs repo > With flakes you can combine packages and versions explicitly. it's the same thing with default.nix/shell.nix, just having a separate lockfile changes nothing in the underlying `builtins.fetchGit` / `builtins.fetchTarball`
- ParetoOptimal 4y agoFor your personal use, it sounds like it won't make sense. In a team setting, enforcing that everyone has to follow purity best practices because nothing else is allowed is great.