17

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, 2018 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, 2021 at 22:11

1 Answer 1

18

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

4
  • 1
    sudo nix-store --delete --ignore-liveness /nix/store/XXX
    – srghma
    Sep 9, 2018 at 11:27
  • 7
    Careful with that! I just recursively deleted my entire system and had to recover from the install USB.
    – Jeff
    Jul 16, 2019 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.
    – daparic
    Feb 26, 2021 at 15:57
  • Looks like there may be a newer version: nix store delete: nixos.org/manual/nix/stable/command-ref/new-cli/…
    – Brian Dant
    Aug 25, 2023 at 19:25

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .