diff --git a/pkgs/default.nix b/pkgs/default.nix
index ffc7815e4c17e558420b16b98da13c4b785bbb20..7b7c0d9f99b7081a291a78489e107b540b176720 100644
--- a/pkgs/default.nix
+++ b/pkgs/default.nix
@@ -13,6 +13,7 @@ let
     nginx-sso = callPackage ./nginx-sso {};
     simpleandsoft = import ./simpleandsoft { inherit pkgs; };
     netevent = callPackage ./netevent {};
+    g810-led = callPackage ./g810-led {};
 
     haskell = pkgs.haskell // {
       packageOverrides = self: super: {
diff --git a/pkgs/g810-led/default.nix b/pkgs/g810-led/default.nix
new file mode 100644
index 0000000000000000000000000000000000000000..1dd4b27e027be5a875ed5f968a11d1f034422dd4
--- /dev/null
+++ b/pkgs/g810-led/default.nix
@@ -0,0 +1,22 @@
+{stdenv, fetchFromGitHub, hidapi, tree}:
+stdenv.mkDerivation {
+  pname = "g810-led";
+  version = "0.4.2";
+
+  src = fetchFromGitHub {
+    owner = "MatMoul";
+    repo = "g810-led";
+    rev = "5ee810a520f809e65048de8a8ce24bac0ce34490";
+    sha256 = "1ymkp7i7nc1ig2r19wz0pcxfnpawkjkgq7vrz6801xz428cqwmhl";
+  };
+  
+  makeFlags = ["DESTDIR=$(out)" "PREFIX=$(out)"];
+  
+  buildInputs = [hidapi];
+  nativeBuildInputs = [tree];
+
+  installPhase = ''
+    mkdir -p $out/bin
+    cp bin/g810-led $out/bin/
+  '';
+}
diff --git a/pkgs/g810-led/release.nix b/pkgs/g810-led/release.nix
new file mode 100644
index 0000000000000000000000000000000000000000..5bb9ca3cb3d1e65d016290de2d4d7796e3b78f7c
--- /dev/null
+++ b/pkgs/g810-led/release.nix
@@ -0,0 +1,3 @@
+{pkgs ? import <nixpkgs> {}}:
+
+pkgs.callPackage ./default.nix {}