mirror of
https://github.com/NixOS/nix.git
synced 2025-11-16 07:22:43 +01:00
This mounts an arbitrary Nix store on the specified mount point. Typical usage: $ /nix/store/d0am5d8gwh2kfdcgyxh4y684mb5b2v54-blender-2.79/bin/blender --version bash: /nix/store/d0am5d8gwh2kfdcgyxh4y684mb5b2v54-blender-2.79/bin/blender: No such file or directory $ nix mount-store /tmp/mp --store https://cache.nixos.org?local-nar-cache=/tmp/nars $ unshare -m -r $ mount -o bind /tmp/mp /nix/store $ /nix/store/d0am5d8gwh2kfdcgyxh4y684mb5b2v54-blender-2.79/bin/blender --version [after a lot of downloading...] Blender 2.79 (sub 0) One application is to replace the current remote store file access in hydra-server implemented via "nix {cat,ls}-store", which doesn't work all that well (e.g. it doesn't resolve symlinks properly). Another application would be on-demand fetching of build inputs on Hydra build slaves (to speed up builds that don't access their entire closure). However, that will require a lot more machinery.
15 lines
640 B
Makefile
15 lines
640 B
Makefile
ifeq ($(MAKECMDGOALS), dist)
|
|
# Make sure we are in repo root with `--git-dir`
|
|
dist-files += $(shell git --git-dir=.git ls-files || find * -type f)
|
|
endif
|
|
|
|
dist-files += configure config.h.in nix.spec perl/configure
|
|
|
|
clean-files += Makefile.config
|
|
|
|
GLOBAL_CXXFLAGS += -I . -I src -I src/libutil -I src/libstore -I src/libmain -I src/libexpr -D_FILE_OFFSET_BITS=64
|
|
|
|
$(foreach i, config.h $(call rwildcard, src/lib*, *.hh), \
|
|
$(eval $(call install-file-in, $(i), $(includedir)/nix, 0644)))
|
|
|
|
$(foreach i, $(call rwildcard, src/boost, *.hpp), $(eval $(call install-file-in, $(i), $(includedir)/nix/$(patsubst src/%/,%,$(dir $(i))), 0644)))
|