diff --git a/home.md b/home.md index 0b978be..0abbba0 100644 --- a/home.md +++ b/home.md @@ -8,7 +8,7 @@ I have gone through a lot of effort of making my configuration something that is ### What Is A Flake? -For detailed information about flakes in general I will refer you to [here](https://nixos.wiki/wiki/Flakes). Now you can find this great excerpt from a reddit post that explains a lot. +For detailed information about flakes in general I will refer you to [here](https://nixos.wiki/wiki/Flakes). Now you can find this great excerpt from a [reddit](https://www.reddit.com/r/NixOS/comments/131fvqs/can_someone_explain_to_me_what_a_flake_is_like_im/) post that explains a lot. "A flake.nix file is an attribute set with two attributes called inputs and outputs. The inputs attribute describes the other flakes that you would like to use; things like nixpkgs or home-manager. You have to give it the url where the code for that other flake is, and usually people use GitHub. The outputs attribute is a function, which is where we really start getting into the nix programming language. Nix will go and fetch all the inputs, load up their flake.nix files, and it will call your outputs function with all of their outputs as arguments. The outputs of a flake are just whatever its outputs function returns, which can be basically anything the flake wants it to be. Finally, nix records exactly which revision was fetched from GitHub in flake.lock so that the versions of all your inputs are pinned to the same thing until you manually update the lock file."