diff --git a/pkgs/os-specific/darwin/discrete-scroll/default.nix b/pkgs/os-specific/darwin/discrete-scroll/default.nix new file mode 100644 index 00000000000..e72402b7793 --- /dev/null +++ b/pkgs/os-specific/darwin/discrete-scroll/default.nix @@ -0,0 +1,35 @@ +{ stdenv, lib, fetchFromGitHub, Cocoa }: + +## after launching for the first time, grant access for parent application (e.g. Terminal.app) +## from 'system preferences >> security & privacy >> accessibility' +## and then launch again + +stdenv.mkDerivation rec { + pname = "discrete-scroll"; + version = "0.1.1"; + + src = fetchFromGitHub { + owner = "emreyolcu"; + repo = "discrete-scroll"; + rev = "v${version}"; + sha256 = "0aqkp4kkwjlkll91xbqwf8asjww8ylsdgqvdk8d06bwdvg2cgvhg"; + }; + + buildInputs = [ Cocoa ]; + + buildPhase = '' + cc -std=c99 -O3 -Wall -framework Cocoa -o dc DiscreteScroll/main.m + ''; + + installPhase = '' + mkdir -p $out/bin + cp ./dc $out/bin/discretescroll + ''; + + meta = with lib; { + description = "Fix for OS X's scroll wheel problem"; + homepage = "https://github.com/emreyolcu/discrete-scroll"; + platforms = platforms.darwin; + license = licenses.mit; + }; +} diff --git a/pkgs/top-level/darwin-packages.nix b/pkgs/top-level/darwin-packages.nix index 02184a5685e..affb4ae92c1 100644 --- a/pkgs/top-level/darwin-packages.nix +++ b/pkgs/top-level/darwin-packages.nix @@ -88,4 +88,8 @@ in ios-deploy = callPackage ../os-specific/darwin/ios-deploy {}; + discrete-scroll = callPackage ../os-specific/darwin/discrete-scroll { + inherit (darwin.apple_sdk.frameworks) Cocoa; + }; + })