Initial commit
This commit is contained in:
48
Makefile
Normal file
48
Makefile
Normal file
@@ -0,0 +1,48 @@
|
||||
####
|
||||
# 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-graphical-vm \
|
||||
boot-vm \
|
||||
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
|
||||
rm nixos.qcow2
|
||||
pkill qemu
|
||||
exit 0
|
||||
|
||||
build-vm: clean ## Build virtual machine for testing
|
||||
nixos-rebuild build-vm -I nixos-config=./tests/test-config.nix
|
||||
|
||||
boot-vm: ## Run virtual machine in current terminal
|
||||
QEMU_KERNEL_PARAMS=console=ttyS0 \
|
||||
./result/bin/run-nixos-vm \
|
||||
-nographic; \
|
||||
reset
|
||||
|
||||
boot-graphical-vm: ## Run virtual machine in QEMU window
|
||||
./result/bin/run-nixos-vm
|
||||
|
||||
Reference in New Issue
Block a user