Release 2023_002 (2023-01-30)

NixOS 22.05 platform

  • Prevent fc-collect-garbage and system rebuilds by fc-manage from running at the same time which caused Nix store corruption breaking fc-manage in rare cases which had to be fixed by manual Nix store repairs.

    As a side effect of the changes, service and sudo-srv users can now run sudo fc-collect-garbage to clean up unneeded paths from the Nix store with full speed, in contrast to the fc-collection-garbage.service which runs throttled and may take a long time. This is helpful for situations when disk space is critically low.

    The garbage collector now keeps build-only Nix dependencies until the dependent packages are collected which also helps to reduce the risk of Nix store corruption and also reduces IO stress.

    We have seen issues with files missing from the Nix store that are still expected to be there, breaking fc-manage until the corruption is fixed manually. We have also seen a Nix store path that got garbage-collected partially in one case. These are probably problems in Nix which have to be addressed upstream but our changes are expected to prevent that in the meantime (#PL-131232).

  • fc-userscan: fix directory path excludes and add zsh + bash shell history files, .viminfo and internal Nix directories to the exclude file. This avoids keeping around packages that are not used anymore. Please review the list of excluded directories in the improved nixos-gc-fc-userscan documentation. (#PL-130486).

  • Production channel URL for this release: https://hydra.flyingcircus.io/build/225011/download/1/nixexprs.tar.xz

Detailed Changes