nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 lib,
3 buildGoLatestModule,
4 fetchFromGitHub,
5 nixosTests,
6 nix-update-script,
7}:
8let
9 version = "2.17.1";
10in
11buildGoLatestModule {
12 pname = "wakapi";
13 inherit version;
14
15 src = fetchFromGitHub {
16 owner = "muety";
17 repo = "wakapi";
18 tag = version;
19 hash = "sha256-/7jYfLs9IcAWYVWISdDeXWV+PfHGFjkxcFkpqH2lxS8=";
20 };
21
22 vendorHash = "sha256-AA9gIIUsoJG4RnDZ1fAJu+iqeXXbRbprBVxuVvR1tzo=";
23
24 # Not a go module required by the project, contains development utilities
25 excludedPackages = [ "scripts" ];
26
27 # Fix up reported version
28 postPatch = "echo ${version} > version.txt";
29
30 ldflags = [
31 "-s"
32 "-w"
33 ];
34
35 # Skip tests that require network access
36 checkFlags = [ "-skip=TestLoginHandlerTestSuite" ];
37
38 passthru = {
39 nixos = nixosTests.wakapi;
40 updateScript = nix-update-script { };
41 };
42
43 meta = {
44 homepage = "https://wakapi.dev/";
45 changelog = "https://github.com/muety/wakapi/releases/tag/${version}";
46 description = "Minimalist self-hosted WakaTime-compatible backend for coding statistics";
47 license = lib.licenses.gpl3Only;
48 maintainers = with lib.maintainers; [
49 t4ccer
50 isabelroses
51 ];
52 mainProgram = "wakapi";
53 };
54}