/* Version string functions. */ { lib }: let splitVersion = builtins.splitVersion or (lib.splitString "."); in rec { /* Get the major version string from a string. Example: major "1.2.3" => "1" */ major = v: builtins.elemAt (splitVersion v) 0; /* Get the minor version string from a string. Example: minor "1.2.3" => "2" */ minor = v: builtins.elemAt (splitVersion v) 1; /* Get the patch version string from a string. Example: patch "1.2.3" => "3" */ patch = v: builtins.elemAt (splitVersion v) 2; /* Get string of the first two parts (major and minor) of a version string. Example: majorMinor "1.2.3" => "1.2" */ majorMinor = v: builtins.concatStringsSep "." (lib.take 2 (splitVersion v)); }