about summary refs log tree commit diff
path: root/nixpkgs/pkgs/applications/misc/keylight-controller-mschneider82/default.nix
blob: e90299baa567aba644aa728402095ebe80c83c0c (plain) (blame)
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
{ buildGoModule, fetchFromGitHub, lib, libGL, nssmdns, pkg-config, xorg }:

buildGoModule rec {
  pname = "keylight-controller-mschneider82";
  version = "0.1.1";

  src = fetchFromGitHub {
    owner = "mschneider82";
    repo = "keylight-control";
    rev = "v${version}";
    hash = "sha256-xC/JRM8vyqAsxPpf37P3pZv6i73s+CLQt6Sh4nMxwzM=";
  };

  vendorHash = "sha256-nFttVJbEAAGsrAglMphuw0wJ2Kf8sWB4HrpVqfHO76o=";

  nativeBuildInputs = [
    pkg-config
  ];

  buildInputs = [
    libGL
    nssmdns
  ] ++ (with xorg; [
    libX11
    libX11.dev
    libXcursor
    libXext
    libXi
    libXinerama
    libXrandr
    libXxf86vm
    xinput
  ]);

  meta = with lib; {
    description = "A desktop application to control Elgato Keylights";
    longDescription = ''
      Requires having:
      * Elgato's Keylight paired to local wifi network.
      * Service avahi with nssmdns enabled.
    '';
    license = licenses.mit;
    homepage = "https://github.com/mschneider82/keylight-control";
    maintainers = with maintainers; [ ];
  };
}

# Note: Application errors on first executions but works on re-runs.

# Troubleshooting
# 1. Keylight lists at: `avahi-browse --all --resolve --ignore-local`
# 2. Ping Keylight's IP
# 3. Resolve Keylight's hostname: `getent hosts elgato-key-light-XXXX.local`