From 49fa5d7f63b17948b27cd94ceb869fb0c1f4f483 Mon Sep 17 00:00:00 2001 From: awkawb Date: Thu, 14 Aug 2025 17:32:56 -0400 Subject: [PATCH] Makefile: added Makefile for testing --- Makefile | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 Makefile diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..945cadc --- /dev/null +++ b/Makefile @@ -0,0 +1,52 @@ +#### +# 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 + +# Show the help text +help: + 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 +