According to https://github.com/NixOS/nix/issues/3121#issuecomment-1050510805, flake-compat should be that issue's workaround.
However, it tries to move src to the nix store always. That is a sane default, as it imitates closer what flakes do. However, it does not let this tool to be used comfortably as a workaround for that issue.
With this change, the default behaviour is preserved. However, the user can pass `moveSrcToStore = false` to avoid it.
@moduon MT-83
Some explanation is in order:
I have tried to contact Zanculmarktum three times in the last
25 days, but I have not received any response.
Meanwhile, others are waiting to be able to use flake-compat, so
I have decided that it is best to move forward with the licensing
effort, considering that everyone else except Eelco has already
agreed, and quickly as well.
I have no hard feelings towards Zanculmarktum and I really do not
like having to make this commit.
This reverts commit e363cffac2 and
subsequent improvements.
I should note that it could be argued that their contribution was
not a creative work in the sense of most copyright law, but I'd
prefer to avoid any confusion by choosing to reimplement their
contribution in a "clean room" manner.
* `url` got renamed to `host` in Nix[1], so we have to use this key here
as well.
* It was suggested previously[2] to use the same URL to download from a
GitLab-server as Nix does.
[1] 56f1e0df05
[2] 0e29814f1e (commitcomment-42619895)
If no inputs but "self" are specified, Nix will not generate a
flake.lock at all. In this case, Flakes are mostly just used to
provide a more pure Nix experience, while sources are locked through
some other means (niv, ob thunk, manually, etc.). Supporting this is a
little weird, but it ends up working for my
repo (https://github.com/matthewbauer/nixiosk).
The goal is to filter the provided src tree based on Git tracked files
to avoid unexpected rebuild. If the provided src tree is a not valid Git
repository, no filtering is applied.