feat: add perles to CI binary cache
All checks were successful
CI / check (push) Successful in 2m32s
CI / build-and-cache (push) Successful in 2m31s

Extract shared package definition, add to flake packages output
and CI workflow so perles gets built and cached by Harmonia.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-03-10 20:32:13 -07:00
parent 72b78ab25f
commit a77352fd81
4 changed files with 35 additions and 18 deletions

View File

@@ -50,6 +50,7 @@ jobs:
custom-rclone-torbox-setup custom-rclone-torbox-setup
custom-beads custom-beads
custom-gastown custom-gastown
custom-perles
qt-pinned-jellyfin-media-player qt-pinned-jellyfin-media-player
qt-pinned-stremio qt-pinned-stremio
nix-deck-kernel nix-deck-kernel

View File

@@ -296,6 +296,11 @@
src = inputs.gastown; src = inputs.gastown;
version = "unstable-${gastownRev}"; version = "unstable-${gastownRev}";
}; };
"custom-perles" = pkgs.callPackage ./packages/perles {
inherit (pkgs.unstable) buildGoModule;
src = inputs.perles;
version = "unstable-${builtins.substring 0 8 (inputs.perles.rev or "unknown")}";
};
} // (if system == "x86_64-linux" then { } // (if system == "x86_64-linux" then {
# nix-deck kernel from Jovian-NixOS (Steam Deck) - expensive to build # nix-deck kernel from Jovian-NixOS (Steam Deck) - expensive to build
"nix-deck-kernel" = self.nixosConfigurations.nix-deck.config.boot.kernelPackages.kernel; "nix-deck-kernel" = self.nixosConfigurations.nix-deck.config.boot.kernelPackages.kernel;

View File

@@ -18,26 +18,12 @@ let
version = "unstable-${gastownRev}"; version = "unstable-${gastownRev}";
}; };
# Perles - TUI for beads issue tracking (no upstream flake.nix yet) # Build perles from flake input using shared package definition
# Source is tracked via flake input for renovate updates
perlesRev = builtins.substring 0 8 (globalInputs.perles.rev or "unknown"); perlesRev = builtins.substring 0 8 (globalInputs.perles.rev or "unknown");
perlesPackage = pkgs.unstable.buildGoModule { perlesPackage = pkgs.callPackage ../../../packages/perles {
pname = "perles"; inherit (pkgs.unstable) buildGoModule;
version = "unstable-${perlesRev}";
src = globalInputs.perles; src = globalInputs.perles;
vendorHash = "sha256-A5LE9Cor/DRcJtVpiScSoqDYhJIKyaq0cbK+OGmr4XU="; version = "unstable-${perlesRev}";
doCheck = false;
ldflags = [
"-X main.version=${perlesRev}"
];
meta = with lib; {
description = "Perles - Terminal UI for beads issue tracking";
homepage = "https://github.com/zjrosen/perles";
license = licenses.mit;
mainProgram = "perles";
};
}; };
# Fetch the claude-plugins repository (for humanlayer commands/agents) # Fetch the claude-plugins repository (for humanlayer commands/agents)

View File

@@ -0,0 +1,25 @@
# Perles - Terminal UI for beads issue tracking
# Takes src as argument so it can be called from both overlay and flake packages
{ lib
, buildGoModule
, src
, version ? "unknown"
}:
buildGoModule {
pname = "perles";
inherit version src;
doCheck = false;
vendorHash = "sha256-A5LE9Cor/DRcJtVpiScSoqDYhJIKyaq0cbK+OGmr4XU=";
ldflags = [
"-X main.version=${version}"
];
meta = with lib; {
description = "Perles - Terminal UI for beads issue tracking";
homepage = "https://github.com/zjrosen/perles";
license = licenses.mit;
mainProgram = "perles";
};
}