.DEFAULT_GOAL := build GUIX_MANIFEST := manifest.scm GUIX_MANIFEST_DEV := manifest-dev.scm TARBALL ?= guix-tarball-pack.tar.gz LINKS_TARBALL ?= links.tar.gz IMAGE_TAG ?= guix-builder $(LINKS_TARBALL): ln -s /guix-builder/bin bin tar -czvf links.tar.gz bin rm bin $(TARBALL): @cp $$(guix pack -R -S /bin=bin -S /etc/ssl=etc/ssl -m $(GUIX_MANIFEST)) $@ @chmod +w $@ .PHONY: build build: $(TARBALL) $(LINKS_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 -r $(TARBALL) $(LINKS_TARBALL)