diff --git a/pkgs/by-name/si/simpleBluez/package.nix b/pkgs/by-name/si/simpleBluez/package.nix new file mode 100644 index 000000000000..ab5b5f74b072 --- /dev/null +++ b/pkgs/by-name/si/simpleBluez/package.nix @@ -0,0 +1,47 @@ +{ + stdenv, + fetchFromGitHub, + cmake, + pkg-config, + dbus, + fmt_9, + lib, +}: +stdenv.mkDerivation (finalAttrs: { + pname = "simpleBluez"; + + version = "0.7.3"; + + src = fetchFromGitHub { + owner = "OpenBluetoothToolbox"; + repo = "SimpleBLE"; + rev = "v${finalAttrs.version}"; + hash = "sha256-CPBdPnBeQ0c3VjSX0Op6nCHF3w0MdXGULbk1aavr+LM="; + }; + + outputs = [ + "out" + "dev" + ]; + + sourceRoot = "${finalAttrs.src.name}/simplebluez"; + + cmakeFlags = [ "-DLIBFMT_LOCAL_PATH=${fmt_9.src}" ]; + + nativeBuildInputs = [ + cmake + pkg-config + ]; + + buildInputs = [ + dbus + ]; + + meta = with lib; { + description = "C++ abstraction layer for BlueZ over DBus"; + homepage = "https://github.com/OpenBluetoothToolbox/SimpleBLE"; + license = licenses.gpl3Only; + platforms = platforms.linux; + maintainers = with maintainers; [ aciceri ]; + }; +}) diff --git a/pkgs/by-name/si/simpleDBus/package.nix b/pkgs/by-name/si/simpleDBus/package.nix new file mode 100644 index 000000000000..1e2cbaa0b2a3 --- /dev/null +++ b/pkgs/by-name/si/simpleDBus/package.nix @@ -0,0 +1,47 @@ +{ + stdenv, + fetchFromGitHub, + cmake, + pkg-config, + dbus, + fmt_9, + lib, +}: +stdenv.mkDerivation (finalAttrs: { + pname = "simpleDBus"; + + version = "0.7.3"; + + src = fetchFromGitHub { + owner = "OpenBluetoothToolbox"; + repo = "SimpleBLE"; + rev = "v${finalAttrs.version}"; + hash = "sha256-CPBdPnBeQ0c3VjSX0Op6nCHF3w0MdXGULbk1aavr+LM="; + }; + + outputs = [ + "out" + "dev" + ]; + + sourceRoot = "${finalAttrs.src.name}/simpledbus"; + + cmakeFlags = [ "-DLIBFMT_LOCAL_PATH=${fmt_9.src}" ]; + + nativeBuildInputs = [ + cmake + pkg-config + ]; + + buildInputs = [ + dbus + ]; + + meta = with lib; { + description = "C++ wrapper for libdbus-1"; + homepage = "https://github.com/OpenBluetoothToolbox/SimpleBLE"; + license = licenses.gpl3Only; + platforms = platforms.linux; + maintainers = with maintainers; [ aciceri ]; + }; +}) diff --git a/pkgs/by-name/zm/zmkBATx/package.nix b/pkgs/by-name/zm/zmkBATx/package.nix new file mode 100644 index 000000000000..82e49e99c95e --- /dev/null +++ b/pkgs/by-name/zm/zmkBATx/package.nix @@ -0,0 +1,51 @@ +{ + stdenv, + fetchFromGitHub, + lib, + qt6, + pkg-config, + dbus, + simpleBluez, + simpleDBus, +}: +stdenv.mkDerivation (finalAttrs: { + pname = "zmkBATx"; + + version = "1.0.1"; + + src = fetchFromGitHub { + owner = "mh4x0f"; + repo = "zmkBATx"; + rev = "v${finalAttrs.version}"; + hash = "sha256-xbiwRHVTuaZDH3RZlMK2CpKBThtS8g6q5r3C+OccDZg="; + }; + + nativeBuildInputs = [ + qt6.wrapQtAppsHook + pkg-config + qt6.qmake + ]; + + buildInputs = [ + qt6.qtbase + qt6.qtconnectivity + dbus.lib + simpleBluez + simpleDBus + ]; + + postPatch = '' + substituteInPlace zmkBATx.pro --replace-fail "/usr/include/dbus-1.0" "${dbus.dev}/include/dbus-1.0" + substituteInPlace zmkBATx.pro --replace-fail "/usr/lib/x86_64-linux-gnu/dbus-1.0/include" "${dbus.lib}/lib/dbus-1.0/include" + ''; + + meta = with lib; { + description = "Battery monitoring for ZMK split keyboards"; + longDescription = "Opensource tool for peripheral battery monitoring zmk split keyboard over BLE for linux."; + homepage = "https://github.com/mh4x0f/zmkBATx"; + license = licenses.mit; + mainProgram = "zmkbatx"; + platforms = platforms.linux; + maintainers = with maintainers; [ aciceri ]; + }; +})