ctucx.git: oeffisearch

[nimlang] fast and simple tripplanner

1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
13 
14 
15 
16 
17 
18 
19 
20 
21 
22 
23 
24 
25 
26 
27 
28 
29 
30 
31 
32 
33 
34 
35 
36 
37 
38 
39 
40 
41 
42 
43 
44 
45 
46 
47 
48 
49 
50 
51 
52 
53 
54 
55 
56 
57 
58 {
  description = "fast and simple tripplanner";

  inputs = {
    flake-utils.url = "github:numtide/flake-utils";
    nixpkgs.url     = "github:NixOS/nixpkgs/nixos-22.11";
  };

  outputs = { self, nixpkgs, flake-utils }: {

    overlay = final: prev: {

      oeffisearch = (
      	let
          nimhafas = final.fetchgit {
            url    = "https://cgit.ctu.cx/nimhafas";
            rev    = "4a4a0d3d4ae86aa9245a9c79bba1f80811407ba5";
            sha256 = "sha256-q1nKDavzUghsL2Amyg/fJYYmg9zPrWH3b8R+D0YK+FA";
          };

      	in final.nimPackages.buildNimPackage {
          name        = "oeffisearch";
          src         = self;

          buildInputs = [ nimhafas ];

          nimBinOnly  = true;
          nimRelease  = true;

          postInstall = ''
            mkdir $out/share;
            cp -r $src/client $out/share/oeffisearch;
          '';
        }
      );

    };

  } // (flake-utils.lib.eachDefaultSystem (system:
    let
      pkgs = import nixpkgs {
        inherit system;
        overlays = [ self.overlay ];
      };

    in rec {

      packages.default     = packages.oeffisearch;
      packages.oeffisearch = pkgs.oeffisearch;

      apps.default = {
        type = "app";
        program = "${pkgs.oeffisearch}/bin/oeffisearch";
      };

    }
  ));
}