obsidiansystems / nix-thunk

seamless management of source dependencies with nix
BSD 3-Clause "New" or "Revised" License
38 stars 10 forks source link

Add new Spec #26

Closed romefeller closed 2 years ago

romefeller commented 2 years ago

This PR creates a new Spec (v6) to change the current use of to a pinned nixpkgs.

madeline-os commented 2 years ago

What does that mean?

madeline-os commented 2 years ago

This needs a changelog

plt-amy commented 2 years ago

@madeline-os tested by:

$ nix-thunk create https://github.com/plt-amy/1lab.git 1lab
$ cat 1lab/thunk.nix
# DO NOT HAND-EDIT THIS FILE
let fetch = { private ? false, fetchSubmodules ? false, owner, repo, rev, sha256, ... }:
  if !fetchSubmodules && !private then builtins.fetchTarball {
    url = "https://github.com/${owner}/${repo}/archive/${rev}.tar.gz"; inherit sha256;
  } else (builtins.fetchTarball {
  url = "https://github.com/NixOS/nixpkgs/archive/3aad50c30c826430b0270fcf8264c8c41b005403.tar.gz";
  sha256 = "0xwqsf08sywd23x0xvw4c4ghq0l28w2ki22h0bdn766i16z9q2gr";
}).fetchFromGitHub {
    inherit owner repo rev sha256 fetchSubmodules private;
  };
  json = builtins.fromJSON (builtins.readFile ./github.json);
in fetch json⏎
$ nix-thunk unpack 1lab
Cloning into './1lab-7dbbebbff4b4db50/.'...
HEAD is now at 6d51d2ea defn: start work on synthetic homotopy theory; n-truncations
✔ Fetched thunk 1lab

then poking around the files to make sure everything was in order, which it was.