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