DrSensor / modern-nix-templates

Modern nix flake templates that only use both fastest and leanest toolchains
BSD Zero Clause License
0 stars 0 forks source link

lib: support .tool-versions #19

Open DrSensor opened 3 years ago

DrSensor commented 3 years ago

Add nix function to load .tool-versions which map to derivation/package in <nixpkgs>.

Example:

pkgs.mkShell {
  packages = importToolVersions ./.tool-versions;
}

Note that importToolVersions should be overridable to support different <nixpkgs>. Think about using it in flake.nix. Maybe something like:

let importToolVersions = importToolVersions.override {
  pkgs = import <nixpkgs-unstable>;
};
in importToolVersions ./.tool-versions

or

importToolVersions { inherit pkgs; } ./.tool-versions
# or
importToolVersions pkgs ./.tool-versions