{ lib, ... }: lib.makeExtensible (self: rec { mkDate = longDate: lib.concatStringsSep "-" [ (builtins.substring 0 4 longDate) (builtins.substring 4 2 longDate) (builtins.substring 6 2 longDate) ]; mkVersionSrc = src: "unstable-" + builtins.substring 0 7 src.rev; mkVersionInput = input: let date = mkDate (input.lastModifiedDate or "19700101"); rev = input.shortRev or "dirty"; in "unstable-${date}_${rev}}"; })