Numerous test failures when using a non-standard store directory #1194
Labels
No labels
Affects/CppNix
Affects/Nightly
Affects/Only nightly
Affects/Stable
Area/build-packaging
Area/cli
Area/evaluator
Area/fetching
Area/flakes
Area/language
Area/lix ci
Area/nix-eval-jobs
Area/profiles
Area/protocol
Area/releng
Area/remote-builds
Area/repl
Area/repl/debugger
Area/store
awaiting
author
awaiting
contributors
bug
Context
contributors
Context
drive-by
Context
maintainers
Context
RFD
crash 💥
Cross Compilation
devx
diagnostics
docs
Downstream Dependents
E/easy
E/hard
E/help wanted
E/reproducible
E/requires rearchitecture
Feature/S3
Importance
High
Importance
Low
imported
Language/Bash
Language/C++
Language/NixLang
Language/Python
Language/Rust
Needs Langver
OS/Linux
OS/macOS
performance
regression
Release Blocking
Non-urgent
Release Blocking
Urgent
stability
Status
blocked
Status
invalid
Status
postponed
Status
wontfix
testing
testing/flakey
Topic/Large Scale Installations
Urgency
High
Urgency
Low
ux
No milestone
No project
No assignees
2 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
lix-project/lix#1194
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Describe the bug
When building Lix in a non-standard store directory (e.g.,
$HOME/.local/share/nix) the checkPhase fails with numerous errors. These appear to be caused by the tests hard-conding STORE_DIR to "/nix/store/" rather than using the current store directory (or even the value passed to Meson).Steps To Reproduce
Many tests fail and the build aborts.
Expected behavior
Lix successfully builds and tests pass.
nix --versionoutputnix (Lix, like Nix) 2.96.0-dev
System type: aarch64-darwin
Additional system types: x86_64-darwin
Features: gc, signed-caches
System configuration file: /Users/rkjnsn/.config/nix/nix/nix.conf
User configuration files: /Users/rkjnsn/.config/nix/nix.conf:/etc/xdg/nix/nix.conf
Store directory: /Users/rkjnsn/.local/share/nix
State directory: /Users/rkjnsn/.local/state/nix/nix
Data directory: /Users/rkjnsn/.local/share/nix/lqs918y010llv39gbb9kkyxisqfsrmkh-lix-2.96.0-pre-20260317_96db7c79cf2a/share
Could you share more information about why you would like to use a different physical store path? This has some drastic consequences and is super unsupported in practice (we do accept patches to improve the situation obviously).
Getting admin access on this machine is somewhat painful, so I wanted to give it a go in my home directory. So far, having to disable the checkPhase on Lix is the only related issue I've encountered.
@rkjnsn Interesting! I'm curious: do you have unprivileged user namespaces, if so, have you considered running the vanilla Nix but use a bind mounts inside of an unprivileged user namespace for the
/nix/storethat lives in your HOME directory? There's a couple of tools that can do that for you more or less automatically.That's a Linux feature, right? This is a macOS system, and I didn't see anything similar when I was researching. I also wasn't sure how it would interact with, e.g., using Home Manager.