42 lines
860 B
Makefile

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