simple#
This allows users to import flakes using import <path to flake>,
or import them using a local fork of simple using import <path to flake> <path to local fork>
or import <path to local fork> <path to flake>.
let
nodes = if (builtins.pathExists ./flake.lock) then
(builtins.fromJSON (builtins.readFile ./flake.lock)).nodes
else {
root.inputs.simple = "simple";
simple.locked.rev = "main";
};
inherit (nodes.${nodes.root.inputs.simple}) locked;
url =
locked.url or "https://tangled.org/@syvl.org/simple/archive/${locked.rev}";
simple = if (builtins ? getFlake) then
(builtins.getFlake url)
else
(import (fetchTarball {
inherit url;
${if (locked ? narHash) then "sha256" else null} = locked.narHash;
}));
in (builtins.getFlake or simple) (toString ./.)