feat: allow optional moving to nix store

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
This commit is contained in:
Yajo 2022-03-31 10:59:19 +00:00
parent 64a525ee38
commit 05974cda2a

View file

@ -5,7 +5,7 @@
# containing 'defaultNix' (to be used in 'default.nix'), 'shellNix'
# (to be used in 'shell.nix').
{ src, system ? builtins.currentSystem or "unknown-system" }:
{ src, system ? builtins.currentSystem or "unknown-system", moveSrcToStore ? true }:
let
@ -91,7 +91,7 @@ let
# Try to clean the source tree by using fetchGit, if this source
# tree is a valid git repository.
tryFetchGit = src:
if isGit && !isShallow
if moveSrcToStore && isGit && !isShallow
then
let res = builtins.fetchGit src;
in if res.rev == "0000000000000000000000000000000000000000" then removeAttrs res ["rev" "shortRev"] else res