Initial import of HortusFox Nix flake packaging

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>
This commit is contained in:
2026-09-27 17:14:22 -04:00
co-authored by Claude Sonnet 5
commit 38ec3c76f7
12 changed files with 919 additions and 0 deletions
+30
View File
@@ -0,0 +1,30 @@
{ 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;
};
})