-
Notifications
You must be signed in to change notification settings - Fork 6
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
General improvements #39
Comments
Then the user can delete them. I use
This problem should be solved by caching
Like this? pkgs = import nixpkgs {
inherit system;
overlays = [lean4-nix.default];
};
The problem is
This is pretty standard. Vide craneLib = crane.mkLib pkgs;
src = craneLib.cleanCargoSource ./.; I should've written it in two lines instead of one. |
It is a poor default sticking something in a template
So every time I update my flake.lock I need to wait an hour? Or a possible cachix in the future? Why not just download a stable version? Time to first compile is important and it is currently quite bad.
I understand that. But is leads to poor UX
This makes sense if the entire API was instantiated from pkgs. Instead only the lake attribute is which is strange. I don't even like the crane solution anyways when there are better alternatives (overlays). |
People stick flake-utils in templates all the time and there doesn't seem to be much issue about it
This is the goal. We can also do what rust-overlay does which fetches a pre-built binary via some hash, but this introduces another problem. We can't provide Meanwhile you can also host your own cache via attic
Better UX comes at the expense of more reverse engineering and testing of this repo. I disagreed with how Lean's dev team moved its Nix support out of the Lean repo since thats the most logical place to have it, and it would be much easier to convert the output of
I didn't make |
Hello! Thank you for volunteering to take over the Lean4 nix utilities!
I have some general suggestions for improving the user experience with this library.
They are a bit niche and just add to the closure that must be downloaded.
This seems to be a goal(?), but building Lean takes about an hour so the current experience sucks.
The default should probably just be the latest release.
Currently
lake
,lean
, andbuildLeanPackage
are all tangled together. I think I know why, but it make the API hard to understand. They should probably be three independent things that are accessible after the overlay is applied.lean4-nix/templates/dependency/flake.nix
Lines 35 to 39 in 7a6faed
This is a very strange API. Should probably just be overlaid on pkgs.
The
buildLeanPacakge
function should probably just return a derivation like all other builders.Ideally one would be able to write something like:
flake.nix
default.nix
Or alternatively, similar to the
rustPlatform
APIdefault.nix
Perhaps a
rustPlatform
-like API could work with the strange lake API.The text was updated successfully, but these errors were encountered: