14

Is there any way to force removing a package from /nix/store/..

I am testing my expression for my package and want to make sure it will rebuild correctly.

The problem is if I build my package once, the next time I build it again it will use the cache.

I use this command to test my package

nix-shell -I nixpkgs=</path/to/repo> -p <package_name>

I don't want to use nix-collect-garbage because it remove lot of buildInputs too.

Looking for something like nix-cg <package_name>

2
  • 4
    while Vladimir is right, you can achive what you want with --check argument, for example, nix-build '<nixpkgs>' -A hello --check will rebuild hello even if it is available in cache
    – danbst
    May 16 '18 at 12:19
  • @danbst Exactly what I needed, thanks again! Was looking for a way to re-compile packages, and opened this thread because of an unrelated question. Pretty frustrating though that --check is not listed as an option under nix-build man page (nor under nix-instantiate's), and only found it under nix-store's by accident... (I guess that's why it works with nix-shell as well.)
    – toraritte
    Feb 10 at 22:11
17

nix-store --delete /path Note that the path might be alive and thus refused to be deleted without --ignore-liveness and root privileges.

3
  • 1
    sudo nix-store --delete --ignore-liveness /nix/store/XXX
    – srghma
    Sep 9 '18 at 11:27
  • 5
    Careful with that! I just recursively deleted my entire system and had to recover from the install USB.
    – Jeff
    Jul 16 '19 at 3:28
  • This command borked my $HOME user profile symlinks to store, despite the package I was uninstalling was android-studio I thought was ok.
    – eigenfield
    Feb 26 at 15:57

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.