biome: 1.9.2 -> 1.9.3
[NixPkgs.git] / pkgs / applications / networking / filebrowser / default.nix
blob7adede3e32997e0c438718f6acc03185b7aa0e5f
2   buildGo123Module,
3   buildNpmPackage,
4   fetchFromGitHub,
5   lib,
6 }:
8 let
9   version = "2.31.0";
11   src = fetchFromGitHub {
12     owner = "filebrowser";
13     repo = "filebrowser";
14     rev = "v${version}";
15     hash = "sha256-zLM1fLrucIhzGdTTDu81ZnTIipK+iRnPhgfMiT1P+yg=";
16   };
18   frontend = buildNpmPackage rec {
19     pname = "filebrowser-frontend";
20     inherit version src;
22     sourceRoot = "${src.name}/frontend";
24     npmDepsHash = "sha256-5/yEMWkNPAS8/PkaHlPBGFLiJu7xK2GHYo5dYqHAfCE=";
26     NODE_OPTIONS = "--openssl-legacy-provider";
28     installPhase = ''
29       runHook preInstall
31       mkdir $out
32       mv dist $out
34       runHook postInstall
35     '';
36   };
38 buildGo123Module {
39   pname = "filebrowser";
40   inherit version src;
42   vendorHash = "sha256-N5aUs8rgTYXeb0qJhPQBCa6lUDkT6lH1bh+1u4bixos=";
44   excludedPackages = [ "tools" ];
46   preBuild = ''
47     cp -r ${frontend}/dist frontend/
48   '';
50   passthru = {
51     inherit frontend;
52   };
54   meta = with lib; {
55     description = "Filebrowser is a web application for managing files and directories";
56     homepage = "https://filebrowser.org";
57     license = licenses.asl20;
58     maintainers = with maintainers; [ oakenshield ];
59     mainProgram = "filebrowser";
60   };