commit 0aa56236bd1332a79d2a954dd0c5e35a7b2652a1
parent ab769df08940722943e55113c1e295c596da1df7
Author: Nikolay Korotkiy <sikmir@gmail.com>
Date:   Wed, 28 Oct 2020 01:19:21 +0300
Add yabai
Diffstat:
2 files changed, 36 insertions(+), 1 deletion(-)
diff --git a/pkgs/applications/window-managers/yabai/default.nix b/pkgs/applications/window-managers/yabai/default.nix
@@ -0,0 +1,32 @@
+{ stdenv, fetchFromGitHub, Cocoa, ScriptingBridge, xxd }:
+let
+  pname = "yabai";
+  version = "3.3.0";
+in
+stdenv.mkDerivation {
+  inherit pname version;
+
+  src = fetchFromGitHub {
+    owner = "koekeishiya";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0y4idivqkmi3xsc8yjdzh1b15qzgyqlw7ifs26v3dc91lkjhfc4x";
+  };
+
+  nativeBuildInputs = [ xxd ];
+
+  buildInputs = [ Cocoa ScriptingBridge ];
+
+  postInstall = ''
+    install -Dm755 bin/yabai -t $out/bin
+    install -Dm644 doc/yabai.1 -t $out/share/man/man1
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A tiling window manager for macOS based on binary space partitioning";
+    homepage = "https://github.com/koekeishiya/yabai";
+    license = licenses.mit;
+    maintainers = [ maintainers.sikmir ];
+    platforms = platforms.darwin;
+  };
+}
diff --git a/pkgs/default.nix b/pkgs/default.nix
@@ -1,6 +1,6 @@
 { pkgs, sources }:
 let
-  inherit (pkgs) lib newScope recurseIntoAttrs libsForQt5;
+  inherit (pkgs) lib newScope recurseIntoAttrs libsForQt5 darwin;
 in
 lib.makeScope newScope (
   self: with self; {
@@ -48,6 +48,9 @@ lib.makeScope newScope (
     tdh = callPackage ./applications/gis/tdh { };
     visualgps = libsForQt5.callPackage ./applications/visualgps { };
     wireguard-statusbar = callPackage ./applications/wireguard-statusbar { };
+    yabai = callPackage ./applications/window-managers/yabai {
+      inherit (darwin.apple_sdk.frameworks) Cocoa ScriptingBridge;
+    };
 
     ### BUILD SUPPORT