about summary refs log tree commit diff
diff options
context:
space:
mode:
author~noodlez1232 <contact@nathanielbarragan.xyz>2023-10-30 11:35:30 -0700
committer~noodlez1232 <contact@nathanielbarragan.xyz>2023-11-10 18:09:55 -0800
commitf1047f611df1754555bd98d6f90cac7f02c5f24f (patch)
tree8a0bff45cb4b98329fcf11c63a35934366740421
parent47b7aae9d00cacacf7242cdae24fe26574280c22 (diff)
downloadnixlib-f1047f611df1754555bd98d6f90cac7f02c5f24f.tar
nixlib-f1047f611df1754555bd98d6f90cac7f02c5f24f.tar.gz
nixlib-f1047f611df1754555bd98d6f90cac7f02c5f24f.tar.bz2
nixlib-f1047f611df1754555bd98d6f90cac7f02c5f24f.tar.lz
nixlib-f1047f611df1754555bd98d6f90cac7f02c5f24f.tar.xz
nixlib-f1047f611df1754555bd98d6f90cac7f02c5f24f.tar.zst
nixlib-f1047f611df1754555bd98d6f90cac7f02c5f24f.zip
joycond-cemuhook: init at unstable-2023-08-09
-rw-r--r--nixos/modules/programs/joycond-cemuhook.nix17
-rw-r--r--pkgs/by-name/jo/joycond-cemuhook/package.nix36
2 files changed, 53 insertions, 0 deletions
diff --git a/nixos/modules/programs/joycond-cemuhook.nix b/nixos/modules/programs/joycond-cemuhook.nix
new file mode 100644
index 000000000000..7b129868db28
--- /dev/null
+++ b/nixos/modules/programs/joycond-cemuhook.nix
@@ -0,0 +1,17 @@
+{ lib, pkgs, config, ... }:
+with lib;
+{
+  options.programs.joycond-cemuhook = {
+    enable = mkEnableOption (lib.mdDoc "joycond-cemuhook, a program to enable support for cemuhook's UDP protocol for joycond devices.");
+  };
+
+  config = lib.mkIf config.programs.joycond-cemuhook.enable {
+    assertions = [
+      {
+        assertion = config.services.joycond.enable;
+        message = "joycond must be enabled through `services.joycond.enable`";
+      }
+    ];
+    environment.systemPackages = [ pkgs.joycond-cemuhook ];
+  };
+}
diff --git a/pkgs/by-name/jo/joycond-cemuhook/package.nix b/pkgs/by-name/jo/joycond-cemuhook/package.nix
new file mode 100644
index 000000000000..9913aaf8af94
--- /dev/null
+++ b/pkgs/by-name/jo/joycond-cemuhook/package.nix
@@ -0,0 +1,36 @@
+{ lib, python3Packages, fetchFromGitHub}:
+
+python3Packages.buildPythonApplication {
+  pname = "joycond-cemuhook";
+  pyproject = true;
+  version = "unstable-2023-08-09";
+
+  src = fetchFromGitHub {
+    owner = "joaorb64";
+    repo = "joycond-cemuhook";
+    rev = "3c0e07374ff431a0f8ae70dbb0b5a62fb3de06ee";
+    hash = "sha256-K24CEmYWhgkvVX4geg2bylH8TSvHIpsWjsPwY5BpquI=";
+  };
+
+  nativeBuildInputs = with python3Packages; [
+    setuptools
+    setuptools-git-versioning
+    setuptools-git
+  ];
+
+  propagatedBuildInputs = with python3Packages; [
+    dbus-python
+    evdev
+    pyudev
+    termcolor
+  ];
+
+  meta = with lib; {
+    homepage = "https://github.com/joaorb64/joycond-cemuhook";
+    description = "Support for cemuhook's UDP protocol for joycond devices";
+    license = licenses.mit;
+    maintainers = [ maintainers.noodlez1232 ];
+    mainProgram = "joycond-cemuhook";
+    platforms = platforms.linux;
+  };
+}