Project now uses just instead of make

This commit is contained in:
Andrew Bryant 2025-11-29 19:34:26 -05:00
parent 736800081c
commit 69ae986260
4 changed files with 43 additions and 19 deletions

1
.env Normal file
View File

@ -0,0 +1 @@
API_TOKEN=

1
.gitignore vendored
View File

@ -1 +1,2 @@
result
.env

View File

@ -1,19 +0,0 @@
# Special variables
.DEFAULT_GOAL := help # Set default target to run
.SILENT: # Disable printing recipes at runtime
.ONESHELL: # Run target recipes in one shell invocation
.PHONY: build-image \ # Phony targets
clean \
help
help: ## Shows this help prompt.
egrep -h '\s##\s' $(MAKEFILE_LIST) \
| sort \
| awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-20s\033[0m %s\n", $$1, $$2}'
clean:
rm -f result
build-image: clean ## Builds Linode campatible NixOS disk image.
nix build ".#nixosConfigurations.linode-image.config.system.build.raw"

41
justfile Normal file
View File

@ -0,0 +1,41 @@
set dotenv-required
set quiet := true
UPLOAD_URL := ```
curl -s -X POST \
--url https://api.linode.com/v4/images/upload \
--header 'accept: application/json' \
--header "authorization: Bearer $API_TOKEN" \
--header 'content-type: application/json' \
--data '
{
"description": "nixos",
"label": "nixos",
"region": "us-iad"
}
' | jq .upload_to
```
[private]
_default:
just --list
[private]
_clean:
rm -f result
[private]
_image_exists:
[ -f result/linode-image.img.gz ] \
|| echo "Linode image not found."
[doc('Builds Linode compatible NixOS disk image.')]
build-image: _clean
nix build ".#nixosConfigurations.linode-image.config.system.build.raw"
[doc('Uploads NixOS compatible disk image to Linode.')]
upload-image: _image_exists
curl -X PUT \
--url {{UPLOAD_URL}} \
-T result/linode-image.img.gz