diff --git a/atticd.nix b/atticd.nix new file mode 100644 index 0000000..9a7ff18 --- /dev/null +++ b/atticd.nix @@ -0,0 +1,3 @@ +{ flutils, attic, ... }: flutils.lib.eachDefaultSystem (system: { + packages.atticd = attic.packages.${system}.attic-server-image; +}) diff --git a/flake.lock b/flake.lock index a561c7e..32fde47 100644 --- a/flake.lock +++ b/flake.lock @@ -1,5 +1,27 @@ { "nodes": { + "attic": { + "inputs": { + "crane": "crane", + "flake-compat": "flake-compat", + "flake-utils": "flake-utils", + "nixpkgs": "nixpkgs", + "nixpkgs-stable": "nixpkgs-stable" + }, + "locked": { + "lastModified": 1711742460, + "narHash": "sha256-0O4v6e4a1toxXZ2gf5INhg4WPE5C5T+SVvsBt+45Mcc=", + "owner": "zhaofengli", + "repo": "attic", + "rev": "4dbdbee45728d8ce5788db6461aaaa89d98081f0", + "type": "github" + }, + "original": { + "owner": "zhaofengli", + "repo": "attic", + "type": "github" + } + }, "blog-pim": { "inputs": { "flutils": "flutils", @@ -21,6 +43,58 @@ "url": "https://git.kun.is/home/blog-pim" } }, + "crane": { + "inputs": { + "nixpkgs": [ + "attic", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1702918879, + "narHash": "sha256-tWJqzajIvYcaRWxn+cLUB9L9Pv4dQ3Bfit/YjU5ze3g=", + "owner": "ipetkov", + "repo": "crane", + "rev": "7195c00c272fdd92fc74e7d5a0a2844b9fadb2fb", + "type": "github" + }, + "original": { + "owner": "ipetkov", + "repo": "crane", + "type": "github" + } + }, + "flake-compat": { + "flake": false, + "locked": { + "lastModified": 1673956053, + "narHash": "sha256-4gtG9iQuiKITOjNQQeQIpoIB6b16fm+504Ch3sNKLd8=", + "owner": "edolstra", + "repo": "flake-compat", + "rev": "35bb57c0c8d8b62bbfd284272c928ceb64ddbde9", + "type": "github" + }, + "original": { + "owner": "edolstra", + "repo": "flake-compat", + "type": "github" + } + }, + "flake-utils": { + "locked": { + "lastModified": 1667395993, + "narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "5aed5285a952e0b949eb3ba02c12fa4fcfef535f", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, "flutils": { "inputs": { "systems": "systems" @@ -74,6 +148,38 @@ } }, "nixpkgs": { + "locked": { + "lastModified": 1711401922, + "narHash": "sha256-QoQqXoj8ClGo0sqD/qWKFWezgEwUL0SUh37/vY2jNhc=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "07262b18b97000d16a4bdb003418bd2fb067a932", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs-stable": { + "locked": { + "lastModified": 1711460390, + "narHash": "sha256-akSgjDZL6pVHEfSE6sz1DNSXuYX6hq+P/1Z5IoYWs7E=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "44733514b72e732bd49f5511bd0203dea9b9a434", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-23.11", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_2": { "locked": { "lastModified": 1714076141, "narHash": "sha256-Drmja/f5MRHZCskS6mvzFqxEaZMeciScCTFxWVLqWEY=", @@ -91,10 +197,11 @@ }, "root": { "inputs": { + "attic": "attic", "blog-pim": "blog-pim", "flutils": "flutils_2", "nginx": "nginx", - "nixpkgs": "nixpkgs" + "nixpkgs": "nixpkgs_2" } }, "systems": { diff --git a/flake.nix b/flake.nix index 3a7715c..2de4b25 100644 --- a/flake.nix +++ b/flake.nix @@ -4,6 +4,7 @@ inputs = { nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable"; flutils.url = "github:numtide/flake-utils"; + attic.url = "github:zhaofengli/attic"; nginx = { url = "github:nginx/nginx"; @@ -19,5 +20,6 @@ outputs = { flutils, ... }@inputs: flutils.lib.meld inputs [ ./blog-pim.nix ./forgejo-nix-action.nix + ./atticd.nix ]; } diff --git a/release.sh b/release.sh index 5cb9fa2..93766d0 100755 --- a/release.sh +++ b/release.sh @@ -3,9 +3,21 @@ set -euo pipefail IFS=$'\n\t' -BLOGPIMPATH=$(nix build .#packages.x86_64-linux.blog-pim --print-out-paths --no-link) -GITREV=$(git rev-parse HEAD) +SYSTEM=x86_64-linux -docker load < $BLOGPIMPATH -docker tag blog-pim:latest git.kun.is/home/blog-pim:$GITREV -docker push git.kun.is/home/blog-pim:$GITREV +name="${1-}" + +if [ -z "$name" ]; + then + echo "Usage: $0 NAME" + exit 1 +fi + +imagename=$(nix eval --no-allow-dirty --raw .#packages.$SYSTEM.$name.imageName) +imagetag=$(nix eval --no-allow-dirty --raw .#packages.$SYSTEM.$name.imageTag) +image=$(nix build --no-allow-dirty .#packages.$SYSTEM.$name --print-out-paths --no-link) +gitrev=$(git rev-parse HEAD) + +docker load < $image +docker tag $imagename:$imagetag git.kun.is/home/$name:$gitrev +docker push git.kun.is/home/$name:$gitrev