nickel-lang / organist

Control all your tooling from a single console
MIT License
421 stars 21 forks source link

Dogfood devshells #139

Closed YorikSar closed 1 year ago

YorikSar commented 1 year ago

Add project.ncl and nickel.lock.ncl, use them for this very flake. For now use only devshells.

Update cachix/install-nix-action to install Nix 2.17 that doesn't evaluate packages for all systems on nix flake check.

Preparation for dogfooding future improvements from https://github.com/nickel-lang/organist/issues/58

YorikSar commented 1 year ago

I've added foldl' to be able to use things that are not available via self without causing infinite recursion like outputsFromNickel and apps that we need to override to add flake-specific apps. I'm working on a way to define apps in Nickel, so for now we need to keep them in flake.nix. The scope of this PR is to bootstrap dogfooding so that we can migrate more and more bits to Nickel later.

Since foldl' approach is confusing to people and doesn't really help on the very next step, I'll remove it and just fall back to bunch of lets.