fix(nix): allow deleting store paths with a dot in them
All checks were successful
Discord / discord commits (push) Has been skipped

This commit is contained in:
matt1432 2024-03-22 18:21:09 -04:00
parent 5688547cb5
commit 2b25db0fb6
2 changed files with 20 additions and 0 deletions

View file

@ -30,6 +30,14 @@
boot.tmp.cleanOnBoot = true;
nix = {
# Allow deleting store files with '.' in the name
package = pkgs.nixUnstable.overrideAttrs (oldAttrs: {
patches =
(oldAttrs.patches or [])
++ [
./overlays/nix/patch
];
});
# Edit nix.conf
settings = {
# Store

12
common/overlays/nix/patch Normal file
View file

@ -0,0 +1,12 @@
diff --git a/src/libstore/path.cc b/src/libstore/path.cc
index e642abcd5..0e584ef33 100644
--- a/src/libstore/path.cc
+++ b/src/libstore/path.cc
@@ -12,7 +12,7 @@ static void checkName(std::string_view path, std::string_view name)
if (!((c >= '0' && c <= '9')
|| (c >= 'a' && c <= 'z')
|| (c >= 'A' && c <= 'Z')
- || c == '+' || c == '-' || c == '.' || c == '_' || c == '?' || c == '='))
+ || c == '+' || c == '-' || c == '.' || c == '_' || c == '?' || c == '=' || c == '!'))
throw BadStorePath("store path '%s' contains illegal character '%s'", path, c);
}