1{ lib
2, stdenv
3, buildGoModule
4, fetchFromGitHub
5, makeWrapper
6, roboto
7}:
8
9buildGoModule rec {
10 pname = "deckmaster";
11 version = "0.9.0";
12
13 src = fetchFromGitHub {
14 owner = "muesli";
15 repo = "deckmaster";
16 rev = "refs/tags/v${version}";
17 hash = "sha256-1hZ7yAKTvkk20ho+QOqFEtspBvFztAtfmITs2uxhdmQ=";
18 };
19
20 vendorHash = "sha256-d38s5sSvENIou+rlphXIrrOcGOdsvkNaMJlhiXVWN6c=";
21
22 proxyVendor = true;
23
24 nativeBuildInputs = [
25 makeWrapper
26 ];
27
28 ldflags = [
29 "-s"
30 "-w"
31 ];
32
33 # Let the app find Roboto-*.ttf files (hard-coded file names).
34 postFixup = ''
35 wrapProgram $out/bin/deckmaster \
36 --prefix XDG_DATA_DIRS : "${roboto.out}/share/" \
37 '';
38
39 meta = with lib; {
40 description = "An application to control your Elgato Stream Deck on Linux";
41 homepage = "https://github.com/muesli/deckmaster";
42 changelog = "https://github.com/muesli/deckmaster/releases/tag/v${version}";
43 license = licenses.mit;
44 maintainers = with maintainers; [ ianmjones ];
45 platforms = platforms.linux;
46 };
47}