this post was submitted on 25 Jun 2023
5 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
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
I see what the other is doing by definiting types/values as flakes. Im unsure what the input.x.follows means though. Im not seen follows before.
Assume you have two flakes A and B, and A takes
nixpkgs
as an input. Thus, A defines something likeinputs.nixpkgs.url = nixos-unstable;
. Now, assume B depends on A, so B definesinputs.a.url = "where-to-find-A"
.When you evaluate B, then you pull in A's dependencies as it is defined by A. So B now depends on nixos-unstable. However, maybe you don't want to depend on unstable. You could of course just override the input nixpkgs to a paricular version. Or you say "the nixpkgs dependeny of A is the same as the nixpkgs as defined by B". So you say, in B:
inputs.a.nixpkgs.follows = "nixpkgs";
.So now, A's nixpks is the same as B's
inputs.nixpkgs
when you evaluate B and you didn't need to touch A.