nix
                                
                                 nix copied to clipboard
                                
                                    nix copied to clipboard
                            
                            
                            
                        nix flakes is too aggressive with caching when using things like `nix run github:...`
Describe the bug
I need to be able to tell users that they can run the listed command.
But I really can't have much faith in which version they're getting because of the type of caching that's going on. I'm making fixes, pushing, and the command just spits out the same error. I don't see an intuitive way to bust the cast. I think it ought to be checking much more aggressively when given external references like github:.
# install nix from nixos.org/download
nix-env -iA nixpkgs.nixUnstable
nix build \
  --experimental-features 'nix-command flakes' \
  'github:colemickens/nixcfg#hosts.testipfsvm'
Expected behavior
A clear and concise description of what you expected to happen.
nix-env --version output
nix-env (Nix) 3.0pre20200829_f156513
nix (Nix) 3.0pre20200829_f156513
Additional context
Add any other context about the problem here.
as a workaround, add /<commit_id> to the github URL. Eg: github:colemickens/nixcfg/a00c2b2e40f8c0a483883370c44fb45c7802ca20#hosts.testipfsvm
You can pass --refresh to force a redownload.
I marked this as stale due to inactivity. → More info
I closed this issue due to inactivity. → More info
We probably want to check the current git commit for all the git sources (github, git+https, git+ssh, git+file), right?
This issue has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/deployment-tools-evaluating-nixops-deploy-rs-and-vanilla-nix-rebuild/36388/27
You can pass
--refreshto force a redownload.
Is there any equivalent for that on nixos-rebuild? Even if I add --refresh, nix doesn't seem to notice that the repo I'm importing in my flake changed so it just rebuilds from cache
@LuNeder maybe the following will help: --option eval-cache false