.PHONY: system-reconfigure system-vm system-container system-build pull home-reconfigure home-vm home-container home-build

SYSTEM_ARGS = -L ./modules ./config.scm
HOME_ARGS = -L ./home/modules ./home/home-configuration.scm
TIMEMACHINE = guix time-machine -C channels-lock.scm

system-build: channels-lock.scm
	$(TIMEMACHINE) -- system build $(SYSTEM_ARGS)

system-reconfigure: channels-lock.scm
	$(TIMEMACHINE) -- system reconfigure $(SYSTEM_ARGS)

system-vm: channels-lock.scm
	$(TIMEMACHINE) -- system vm $(SYSTEM_ARGS)

system-container: channels-lock.scm
	$(TIMEMACHINE) -- system container $(SYSTEM_ARGS)

home-build: channels-lock.scm
	$(TIMEMACHINE) -- home build $(HOME_ARGS)

home-reconfigure: channels-lock.scm
	$(TIMEMACHINE) -- home reconfigure $(HOME_ARGS)

home-container: channels-lock.scm
	$(TIMEMACHINE) -- home container $(HOME_ARGS)

channels-lock.scm: channels.scm
	$(TIMEMACHINE) -- describe -f channels > channels-lock.scm

pull: channels-lock.scm
	guix pull -C channels-lock.scm