chromium,chromedriver: 129.0.6668.91 -> 129.0.6668.100
[NixPkgs.git] / pkgs / by-name / ho / homebox / package.nix
blob2745805fbc6ed3496fdc8ec72a4488d69d3ddc46
2   lib,
3   buildGoModule,
4   fetchFromGitHub,
5   pnpm,
6   nodejs,
7   go,
8   git,
9   cacert,
11 let
12   pname = "homebox";
13   version = "0.13.0";
14   src = fetchFromGitHub {
15     owner = "sysadminsmedia";
16     repo = "homebox";
17     rev = "v${version}";
18     hash = "sha256-mhb4q0ja94TjvOzl28WVb3uzkR9MKlqifFJgUo6hfrA=";
19   };
21 buildGoModule {
22   inherit pname version src;
24   vendorHash = "sha256-QRmP6ichKjwDWEx13sEs1oetc4nojGyJnKafAATTNTA=";
25   modRoot = "backend";
26   # the goModules derivation inherits our buildInputs and buildPhases
27   # Since we do pnpm thing in those it fails if we don't explicitely remove them
28   overrideModAttrs = _: {
29     nativeBuildInputs = [
30       go
31       git
32       cacert
33     ];
34     preBuild = "";
35   };
37   pnpmDeps = pnpm.fetchDeps {
38     inherit pname version;
39     src = "${src}/frontend";
40     hash = "sha256-MdTZJ/Ichpwc54r7jZjiFD12YOdRzHSuzRZ/PnDk2mY=";
41   };
42   pnpmRoot = "../frontend";
44   env.NUXT_TELEMETRY_DISABLED = 1;
46   preBuild = ''
47     pushd ../frontend
49     pnpm build
51     popd
53     mkdir -p ./app/api/static/public
54     cp -r ../frontend/.output/public/* ./app/api/static/public
55   '';
57   nativeBuildInputs = [
58     pnpm
59     pnpm.configHook
60     nodejs
61   ];
63   CGO_ENABLED = 0;
64   GOOS = "linux";
65   doCheck = false;
67   ldflags = [
68     "-s"
69     "-w"
70     "-extldflags=-static"
71     "-X main.version=${version}"
72     "-X main.commit=${version}"
73   ];
75   meta = {
76     mainProgram = "api";
77     homepage = "https://homebox.software/";
78     description = "Inventory and organization system built for the Home User";
79     maintainers = with lib.maintainers; [ patrickdag ];
80     license = lib.licenses.agpl3Only;
81     platforms = lib.platforms.linux;
82   };