.DEFAULT_GOAL := build GUIX_MANIFEST := manifest.scm GUIX_MANIFEST_DEV := manifest-dev.scm TARBALL ?= guix-tarball-pack.tar.gz IMAGE_TAG ?= guix-builder $(TARBALL): @cp $$(guix pack -R -S /bin=bin -S /etc/ssl=etc/ssl -m $(GUIX_MANIFEST)) $@ @chmod +w $@ .PHONY: build build: $(TARBALL) @docker build -t $(IMAGE_TAG) . .PHONY: run run: build @docker run --rm -it \ -v /var/guix/daemon-socket/socket:/var/guix/daemon-socket/socket \ -v /gnu/store:/gnu/store:ro \ -v /etc/ssl:/etc/ssl:ro \ -e HOME=/tmp \ -w /tmp \ $(IMAGE_TAG):latest .PHONY: shell shell: @./shell.sh $(GUIX_MANIFEST) $(GUIX_MANIFEST_DEV) .PHONY: clean: rm $(TARBALL)