52 lines
1.2 KiB
Makefile
52 lines
1.2 KiB
Makefile
####
|
|
# 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
|
|
|