{ pkgs, ... }: # AUTO-UPDATE: nix-update --flake comentario --version=branch=dev --subpackage frontend pkgs.buildGoModule (finalAttrs: { pname = "comentario"; version = "3.14.0-unstable-2025-07-20"; src = pkgs.fetchFromGitLab { owner = "comentario"; repo = "comentario"; # FIXME: Stable rev once type error is fixed rev = "beda0132c35b8bb0d102d9ab09495ddbb0a52339"; hash = "sha256-lZAWZ31eBqWgbHez0SFVZ4cNcyM5G5RTKLp7HPacAPo="; }; patches = [ # FIXME: https://gitlab.com/comentario/comentario/-/merge_requests/23 ./dynamic-config-env-vars.patch ]; vendorHash = "sha256-dL6jkyYSa4s5qPm8VKiUBA4+yY3H4tGS2tdqUqQO8Rs="; nativeBuildInputs = with pkgs; [ go-swagger makeWrapper ]; subPackages = [ "." ]; frontend = pkgs.stdenv.mkDerivation (finalFrontendAttrs: { inherit (finalAttrs) pname version src patches ; missingHashes = ./missing-hashes.json; offlineCache = pkgs.yarn-berry.fetchYarnBerryDeps { inherit (finalFrontendAttrs) src patches missingHashes; hash = "sha256-tbVYabjMOPOyAY9taptEw6qAik8btpmgf71YyJ85dRM="; }; nativeBuildInputs = with pkgs; [ nodejs openapi-generator-cli hugo yarn-berry yarn-berry.yarnBerryConfigHook ]; env = { CYPRESS_INSTALL_BINARY = "0"; YARN_NODE_LINKER = "node-modules"; }; buildPhase = '' (cd frontend && openapi-generator-cli generate -i ../resources/swagger/swagger.yml -g typescript-angular -o generated-api) yarn run build:prod ''; installPhase = '' cp -r build/frontend $out ''; }); preBuild = '' go generate ''; installPhase = '' mkdir -p $out/bin $out/lib/${finalAttrs.pname} cp -r "$GOPATH/bin/${finalAttrs.pname}" $out/bin/${finalAttrs.pname} cp -r db templates $out/lib/${finalAttrs.pname} wrapProgram $out/bin/${finalAttrs.pname} \ --add-flags "--db-migration-path=$out/lib/${finalAttrs.pname}/db" \ --add-flags "--template-path=$out/lib/${finalAttrs.pname}/templates" \ --add-flags "--static-path=${finalAttrs.frontend}" ''; meta.mainProgram = finalAttrs.pname; })