diff --git a/ci/build.py b/ci/build.py index 91c41b4..e6e5d9c 100644 --- a/ci/build.py +++ b/ci/build.py @@ -53,6 +53,10 @@ run(f"'{attic}' login ci {ATTIC_SERVER} '{ATTIC_TOKEN}'") # Packages per arch packages = ["hello-world", "geesefs", "xonsh"] +# woodpecker-peek: tray app, x86_64 + aarch64 only (the upstream flake's +# default builds for Linux/Darwin; we cache the Linux native arches). +if ARCH in ("x86_64-linux", "aarch64-linux"): + packages += ["woodpecker-peek"] # google-antigravity{,-no-fhs} skipped in CI: pulls in google-chrome, which # transitively builds liberation-fonts; fontforge segfaults while generating # the .ttf files (pipeline #40). Package definitions stay in the flake for diff --git a/flake.lock b/flake.lock index 8d96a6e..043ee06 100644 --- a/flake.lock +++ b/flake.lock @@ -191,7 +191,8 @@ "fleet-pins", "nixpkgs-projects" ], - "stalewood": "stalewood" + "stalewood": "stalewood", + "woodpecker-peek": "woodpecker-peek" } }, "stalewood": { @@ -258,6 +259,27 @@ "repo": "default", "type": "github" } + }, + "woodpecker-peek": { + "inputs": { + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1779635650, + "narHash": "sha256-teMrDHA/Q/KZugO8lSG96+r9+L9rNjb2MDXprFhL6Hc=", + "ref": "main", + "rev": "804f2bf8c8990ce4e13548a4b3a917661f32d8bc", + "revCount": 3, + "type": "git", + "url": "https://git.oleks.space/oleks/woodpecker-peek" + }, + "original": { + "ref": "main", + "type": "git", + "url": "https://git.oleks.space/oleks/woodpecker-peek" + } } }, "root": "root", diff --git a/flake.nix b/flake.nix index 2d85a9f..76deaea 100644 --- a/flake.nix +++ b/flake.nix @@ -33,6 +33,13 @@ url = "github:retif/stalewood"; inputs.nixpkgs.follows = "nixpkgs"; }; + + # woodpecker-peek — tray app for Woodpecker CI (on git.oleks.space). + # Re-exposed so flake-hub CI warms attic and emmett pulls cached. + woodpecker-peek = { + url = "git+https://git.oleks.space/oleks/woodpecker-peek?ref=main"; + inputs.nixpkgs.follows = "nixpkgs"; + }; }; outputs = @@ -45,6 +52,7 @@ antigravity-nix, nix-deps, stalewood, + woodpecker-peek, ... }: let @@ -115,6 +123,10 @@ # stalewood — re-exposed from its own flake. No s390x output, # so it rides the same native-only gate. stalewood = stalewood.packages.${sys}.default; + # woodpecker-peek — same pattern; consumers (emmett) read the + # attic-cached binary via flake-hub's overlay, then set + # services.woodpecker-peek.package = pkgs.woodpecker-peek;. + woodpecker-peek = woodpecker-peek.packages.${sys}.default; }; # Overlay providing Hyprspace. Requires `pkgs.hyprland` to be present