update/navibeat
1{
2 lib,
3 buildGoModule,
4 fetchFromGitHub,
5 callPackage,
6 miaomiaowu-frontend ? callPackage ./frontend.nix {},
7}: let
8 version = "0.9.0";
9
10 src = fetchFromGitHub {
11 owner = "iluobei";
12 repo = "miaomiaowu";
13 tag = "v${version}";
14 hash = "sha256-vglyDiDjGPgydXgE686QpcUlzqKxFvw0UHTNPaXoPYc=";
15 };
16in
17 buildGoModule (finalAttrs: {
18 pname = "miaomiaowu";
19 inherit version src;
20
21 passthru.updateScript = [(toString ./update.sh)];
22
23 vendorHash = "sha256-XmenS+iapYZDpyhZtObohoZaYEZfmKPFLFuYJaXXIOc=";
24
25 subPackages = ["./cmd/server"];
26
27 ldflags = ["-s" "-w"];
28
29 postPatch = ''
30 mkdir -p internal/web/dist
31 cp -r ${miaomiaowu-frontend}/* internal/web/dist/
32 '';
33
34 postInstall = ''
35 mv $out/bin/server $out/bin/${finalAttrs.pname}
36 '';
37
38 meta = {
39 description = "Personal Clash subscriptions management system";
40 homepage = "https://github.com/iluobei/miaomiaowu";
41 license = lib.licenses.mit;
42 platforms = lib.platforms.linux;
43 };
44 })