#### # Target definitions #### # Disable echoing of target recipe commands # Comment this for debugging .SILENT: # Run target recipes in one shell invocation .ONESHELL: # Since all targets are phony, all targets should be listed here # One target per line .PHONY: boot-vm-cli \ boot-vm-gui \ build-vm \ clean \ format-nix-files \ help help: ## Show this help message egrep -h '\s##\s' $(MAKEFILE_LIST) \ | sort \ | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-20s\033[0m %s\n", $$1, $$2}' format-nix-files: ## Format nix files using the nixpkgs-fmt tool find . -name "*.nix" -exec nixpkgs-fmt {} \; clean: ## Clean build artifacts and shutdown running virtual machines rm result > /dev/null 2>&1 rm nixos.qcow2 > /dev/null 2>&1 pkill qemu exit 0 build-vm: clean ## Build virtual machine for testing nix build ".#nixosConfigurations.vm.config.system.build.vm" boot-vm-cli: ## Run virtual machine in current terminal QEMU_KERNEL_PARAMS=console=ttyS0 \ QEMU_NET_OPTS=hostfwd=tcp::8080-:80 \ QEMU_OPTS=-nographic \ ./result/bin/run-nixos-vm reset boot-vm-gui: ## Run virtual machine in QEMU window QEMU_KERNEL_PARAMS=console=ttyS0 \ QEMU_NET_OPTS=hostfwd=tcp::8080-:80 \ ./result/bin/run-nixos-vm reset