Packages HortusFox from source via php.buildComposerProject and provides a NixOS module (services.hortusfox-web) to deploy it as a full service (mariadb + phpfpm + nginx/caddy + ACME + cron timers). Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
31 lines
922 B
Nix
31 lines
922 B
Nix
{ lib, php, fetchFromGitHub, ... }:
|
|
|
|
# buildComposerProject installs the project to
|
|
# $out/share/php/<pname>/ (with vendor/ populated)
|
|
php.buildComposerProject (finalAttrs: {
|
|
pname = "hortusfox-web";
|
|
version = "5.9";
|
|
|
|
src = fetchFromGitHub {
|
|
owner = "danielbrendel";
|
|
repo = "hortusfox-web";
|
|
rev = "v${finalAttrs.version}";
|
|
hash = "sha256-O4I25YntVL+UwWATRiI5h9MYkVeN7JEmrRLt0eVwMTs=";
|
|
};
|
|
|
|
# composer.lock is committed upstream, so a fixed vendorHash works.
|
|
vendorHash = "sha256-b9t5S12TJoiup7fkQ4bo2xH+CvEt6MqOrQxQ/gJ4Deg=";
|
|
|
|
# No console entrypoint to expose on PATH; we call `php asatru` ourselves.
|
|
composerNoDev = true;
|
|
|
|
composerStrictValidation = false;
|
|
|
|
meta = with lib; {
|
|
description = "Self-hosted collaborative plant management system";
|
|
homepage = "https://github.com/danielbrendel/hortusfox-web";
|
|
license = licenses.mit;
|
|
platforms = platforms.linux;
|
|
};
|
|
})
|