use std::path::Path;
const GITHUB_LOCKED_NIXPKGS: &str = std::include_str!("exprs/github_locked_nixpkgs.nix");
pub fn nixpkgs_from_flake(lockfile: impl AsRef<Path>, nixpkgs_name: Option<&str>) -> String {
let path = lockfile.as_ref().display();
let nixpkgs = nixpkgs_name.unwrap_or("nixpkgs");
format!(
r##"
let
lock = builtins.fromJSON (builtins.readFile {path});
nixpkgs_node = lock.nodes.{nixpkgs}.locked;
nixpkgs = ({GITHUB_LOCKED_NIXPKGS}) {{ rev = nixpkgs_node.rev; sha256 = nixpkgs_node.narHash; }};
in
import nixpkgs {{}}
"##
)
}