about summary refs log tree commit diff
path: root/pkgs/os-specific/darwin
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/os-specific/darwin')
-rw-r--r--pkgs/os-specific/darwin/apple-source-releases/configd/default.nix15
-rw-r--r--pkgs/os-specific/darwin/apple-source-releases/default.nix10
-rw-r--r--pkgs/os-specific/darwin/apple-source-releases/diskdev_cmds/default.nix15
-rw-r--r--pkgs/os-specific/darwin/apple-source-releases/libresolv/default.nix4
-rw-r--r--pkgs/os-specific/darwin/apple-source-releases/text_cmds/default.nix2
-rw-r--r--pkgs/os-specific/darwin/chunkwm/default.nix36
-rw-r--r--pkgs/os-specific/darwin/duti/default.nix2
-rw-r--r--pkgs/os-specific/darwin/maloader/default.nix7
-rw-r--r--pkgs/os-specific/darwin/moltenvk/MoltenVK.xcodeproj.patch146
-rw-r--r--pkgs/os-specific/darwin/moltenvk/MoltenVKShaderConverter.xcodeproj.patch180
-rw-r--r--pkgs/os-specific/darwin/moltenvk/createDylib.patch13
-rw-r--r--pkgs/os-specific/darwin/moltenvk/default.nix200
-rw-r--r--pkgs/os-specific/darwin/moltenvk/gitRevHeaderStability.patch14
-rw-r--r--pkgs/os-specific/darwin/mysides/default.nix36
-rw-r--r--pkgs/os-specific/darwin/sketchybar/default.nix44
-rw-r--r--pkgs/os-specific/darwin/swift-corelibs/corefoundation.nix3
-rw-r--r--pkgs/os-specific/darwin/usr-include/default.nix23
17 files changed, 671 insertions, 79 deletions
diff --git a/pkgs/os-specific/darwin/apple-source-releases/configd/default.nix b/pkgs/os-specific/darwin/apple-source-releases/configd/default.nix
index 879d3a7b5f79f..37830c0665e12 100644
--- a/pkgs/os-specific/darwin/apple-source-releases/configd/default.nix
+++ b/pkgs/os-specific/darwin/apple-source-releases/configd/default.nix
@@ -1,14 +1,15 @@
-{ stdenv, appleDerivation', launchd, bootstrap_cmds, xnu, ppp, IOKit, eap8021x, Security }:
+{ lib, stdenv, appleDerivation', launchd, bootstrap_cmds, xnu, ppp, IOKit, eap8021x, Security
+, headersOnly ? false }:
 
 appleDerivation' stdenv {
   meta.broken = stdenv.cc.nativeLibc;
 
-  nativeBuildInputs = [ bootstrap_cmds ];
-  buildInputs = [ launchd ppp IOKit eap8021x ];
+  nativeBuildInputs = lib.optionals (!headersOnly) [ bootstrap_cmds ];
+  buildInputs = lib.optionals (!headersOnly) [ launchd ppp IOKit eap8021x ];
 
-  propagatedBuildInputs = [ Security ];
+  propagatedBuildInputs = lib.optionals (!headersOnly) [ Security ];
 
-  patchPhase = ''
+  patchPhase = lib.optionalString (!headersOnly) ''
     HACK=$PWD/hack
     mkdir $HACK
     cp -r ${xnu}/Library/Frameworks/System.framework/Versions/B/PrivateHeaders/net $HACK
@@ -63,6 +64,8 @@ appleDerivation' stdenv {
     EOF
   '';
 
+  dontBuild = headersOnly;
+
   buildPhase = ''
     pushd SystemConfiguration.fproj >/dev/null
 
@@ -206,7 +209,7 @@ appleDerivation' stdenv {
   installPhase = ''
     mkdir -p $out/include
     cp dnsinfo/*.h $out/include/
-
+  '' + lib.optionalString (!headersOnly) ''
     mkdir -p $out/Library/Frameworks/
     mv SystemConfiguration.fproj/SystemConfiguration.framework $out/Library/Frameworks
   '';
diff --git a/pkgs/os-specific/darwin/apple-source-releases/default.nix b/pkgs/os-specific/darwin/apple-source-releases/default.nix
index 5e098926d2968..d2d21cc9d6cb2 100644
--- a/pkgs/os-specific/darwin/apple-source-releases/default.nix
+++ b/pkgs/os-specific/darwin/apple-source-releases/default.nix
@@ -288,7 +288,9 @@ developerToolsPackages_11_3_1 // macosPackages_11_0_1 // {
     adv_cmds        = applePackage "adv_cmds"          "osx-10.11.6"    "12gbv35i09aij9g90p6b3x2f3ramw43qcb2gjrg8lzkzmwvcyw9q" {};
     basic_cmds      = applePackage "basic_cmds"        "osx-10.11.6"     "0hvab4b1v5q2x134hdkal0rmz5gsdqyki1vb0dbw4py1bqf0yaw9" {};
     developer_cmds  = applePackage "developer_cmds"    "osx-10.11.6"     "1r9c2b6dcl22diqf90x58psvz797d3lxh4r2wppr7lldgbgn24di" {};
-    diskdev_cmds    = applePackage "diskdev_cmds"      "osx-10.11.6"     "1ssdyiaq5m1zfy96yy38yyknp682ki6bvabdqd5z18fa0rv3m2ar" {};
+    diskdev_cmds    = applePackage "diskdev_cmds"      "osx-10.11.6"     "1ssdyiaq5m1zfy96yy38yyknp682ki6bvabdqd5z18fa0rv3m2ar" {
+      macosPackages_11_0_1 = macosPackages_11_0_1;
+    };
     network_cmds    = applePackage "network_cmds"      "osx-10.11.6"     "0lhi9wz84qr1r2ab3fb4nvmdg9gxn817n5ldg7zw9gnf3wwn42kw" {};
     file_cmds       = applePackage "file_cmds"         "osx-10.11.6"     "1zfxbmasps529pnfdjvc13p7ws2cfx8pidkplypkswyff0nff4wp" {};
     shell_cmds      = applePackage "shell_cmds"        "osx-10.11.6"     "0084k271v66h4jqp7q7rmjvv7w4mvhx3aq860qs8jbd30canm86n" {};
@@ -297,6 +299,12 @@ developerToolsPackages_11_3_1 // macosPackages_11_0_1 // {
     top             = applePackage "top"               "osx-10.11.6"     "0i9120rfwapgwdvjbfg0ya143i29s1m8zbddsxh39pdc59xnsg5l" {};
     PowerManagement = applePackage "PowerManagement"   "osx-10.11.6"     "1llimhvp0gjffd47322lnjq7cqwinx0c5z7ikli04ad5srpa68mh" {};
 
+    # `configdHeaders` can’t use an override because `pkgs.darwin.configd` on aarch64-darwin will
+    # be replaced by SystemConfiguration.framework from the macOS SDK.
+    configdHeaders  = applePackage "configd"           "osx-10.8.5"      "1gxakahk8gallf16xmhxhprdxkh3prrmzxnmxfvj0slr0939mmr2" {
+      headersOnly = true;
+      Security    = null;
+    };
     libutilHeaders  = pkgs.darwin.libutil.override { headersOnly = true; };
     hfsHeaders      = pkgs.darwin.hfs.override { headersOnly = true; };
     libresolvHeaders= pkgs.darwin.libresolv.override { headersOnly = true; };
diff --git a/pkgs/os-specific/darwin/apple-source-releases/diskdev_cmds/default.nix b/pkgs/os-specific/darwin/apple-source-releases/diskdev_cmds/default.nix
index 1daa492961040..ec252dca41c20 100644
--- a/pkgs/os-specific/darwin/apple-source-releases/diskdev_cmds/default.nix
+++ b/pkgs/os-specific/darwin/apple-source-releases/diskdev_cmds/default.nix
@@ -1,7 +1,10 @@
-{ lib, appleDerivation, xcbuildHook
-, Libc, xnu, libutil }:
+{ lib, appleDerivation, xcbuildHook, Libc, stdenv, macosPackages_11_0_1, xnu
+, fetchurl, libutil }:
 
-appleDerivation {
+let
+  xnu-src = if stdenv.isAarch64 then macosPackages_11_0_1.xnu.src else xnu.src;
+  arch = if stdenv.isAarch64 then "arm" else "i386";
+in appleDerivation {
   nativeBuildInputs = [ xcbuildHook ];
   buildInputs = [ libutil ];
 
@@ -11,11 +14,11 @@ appleDerivation {
     # ugly hacks for missing headers
     # most are bsd related - probably should make this a drv
     unpackFile ${Libc.src}
-    unpackFile ${xnu.src}
-    mkdir System sys machine i386
+    unpackFile ${xnu-src}
+    mkdir System sys machine ${arch}
     cp xnu-*/bsd/sys/disklabel.h sys
     cp xnu-*/bsd/machine/disklabel.h machine
-    cp xnu-*/bsd/i386/disklabel.h i386
+    cp xnu-*/bsd/${arch}/disklabel.h ${arch}
     cp -r xnu-*/bsd/sys System
     cp -r Libc-*/uuid System
     substituteInPlace diskdev_cmds.xcodeproj/project.pbxproj \
diff --git a/pkgs/os-specific/darwin/apple-source-releases/libresolv/default.nix b/pkgs/os-specific/darwin/apple-source-releases/libresolv/default.nix
index 53fc019768dd4..2a8a609472a20 100644
--- a/pkgs/os-specific/darwin/apple-source-releases/libresolv/default.nix
+++ b/pkgs/os-specific/darwin/apple-source-releases/libresolv/default.nix
@@ -1,9 +1,9 @@
-{ lib, appleDerivation', stdenv, stdenvNoCC, Libinfo, configd, mDNSResponder
+{ lib, appleDerivation', stdenv, stdenvNoCC, Libinfo, configdHeaders, mDNSResponder
 , headersOnly ? false
 }:
 
 appleDerivation' (if headersOnly then stdenvNoCC else stdenv) {
-  buildInputs = lib.optionals (!headersOnly) [ Libinfo configd mDNSResponder ];
+  buildInputs = lib.optionals (!headersOnly) [ Libinfo configdHeaders mDNSResponder ];
 
   buildPhase = lib.optionalString (!headersOnly) ''
     $CC -I. -c dns_util.c
diff --git a/pkgs/os-specific/darwin/apple-source-releases/text_cmds/default.nix b/pkgs/os-specific/darwin/apple-source-releases/text_cmds/default.nix
index 9e3d6e49204a7..672bb443242bd 100644
--- a/pkgs/os-specific/darwin/apple-source-releases/text_cmds/default.nix
+++ b/pkgs/os-specific/darwin/apple-source-releases/text_cmds/default.nix
@@ -20,6 +20,8 @@ appleDerivation {
     done
   '';
 
+  NIX_CFLAGS_COMPILE=[ "-Wno-error=format-security" ]; # hardeningDisable doesn't cut it
+
   meta = {
     platforms = lib.platforms.darwin;
     maintainers = with lib.maintainers; [ matthewbauer ];
diff --git a/pkgs/os-specific/darwin/chunkwm/default.nix b/pkgs/os-specific/darwin/chunkwm/default.nix
deleted file mode 100644
index c0229ba3ae23b..0000000000000
--- a/pkgs/os-specific/darwin/chunkwm/default.nix
+++ /dev/null
@@ -1,36 +0,0 @@
-{ lib, stdenv, fetchzip, Carbon, Cocoa, ScriptingBridge }:
-
-stdenv.mkDerivation rec {
-  pname = "chunkwm";
-  version = "0.4.9";
-  src = fetchzip {
-    url = "https://github.com/koekeishiya/chunkwm/archive/v${version}.tar.gz";
-    sha256 = "0w8q92q97fdvbwc3qb5w44jn4vi3m65ssdvjp5hh6b7llr17vspl";
-  };
-
-  buildInputs = [ Carbon Cocoa ScriptingBridge ];
-  outputs = [ "bin" "out" ];
-
-  buildPhase = ''
-    for d in . src/chunkc src/plugins/*; do
-        pushd $d
-        buildPhase
-        popd
-    done
-  '';
-
-  installPhase = ''
-    mkdir -p $bin/bin $out/bin $out/lib/chunkwm/plugins
-    cp src/chunkc/bin/chunkc $bin/bin/chunkc
-    cp bin/chunkwm $out/bin
-    cp plugins/*.so $out/lib/chunkwm/plugins
-  '';
-
-  meta = with lib; {
-    description = "Tiling window manager for macOS based on plugin architecture";
-    homepage = "https://github.com/koekeishiya/chunkwm";
-    platforms = platforms.darwin;
-    maintainers = with maintainers; [ lnl7 ];
-    license = licenses.mit;
-  };
-}
diff --git a/pkgs/os-specific/darwin/duti/default.nix b/pkgs/os-specific/darwin/duti/default.nix
index 9daed151ce487..db0b1e1dcbae1 100644
--- a/pkgs/os-specific/darwin/duti/default.nix
+++ b/pkgs/os-specific/darwin/duti/default.nix
@@ -32,6 +32,6 @@ stdenv.mkDerivation rec {
     maintainers = with maintainers; [matthewbauer];
     platforms = platforms.darwin;
     license = licenses.publicDomain;
-    homepage = "http://duti.org/";
+    homepage = "https://github.com/moretension/duti/";
   };
 }
diff --git a/pkgs/os-specific/darwin/maloader/default.nix b/pkgs/os-specific/darwin/maloader/default.nix
index bcd9fe6488d2f..1313c18970438 100644
--- a/pkgs/os-specific/darwin/maloader/default.nix
+++ b/pkgs/os-specific/darwin/maloader/default.nix
@@ -1,11 +1,12 @@
-{ lib, stdenv, fetchgit, opencflite, clang, libcxx }:
+{ lib, stdenv, fetchFromGitHub, opencflite, clang, libcxx }:
 
 stdenv.mkDerivation {
   pname = "maloader";
   version = "unstable-2014-02-25";
 
-  src = fetchgit {
-    url = "git://github.com/shinh/maloader.git";
+  src = fetchFromGitHub {
+    owner = "shinh";
+    repo = "maloader";
     rev = "5f220393e0b7b9ad0cf1aba0e89df2b42a1f0442";
     sha256 = "0dd1pn07x1y8pyn5wz8qcl1c1xwghyya4d060m3y9vx5dhv9xmzw";
   };
diff --git a/pkgs/os-specific/darwin/moltenvk/MoltenVK.xcodeproj.patch b/pkgs/os-specific/darwin/moltenvk/MoltenVK.xcodeproj.patch
new file mode 100644
index 0000000000000..abbb3b8fb0e1a
--- /dev/null
+++ b/pkgs/os-specific/darwin/moltenvk/MoltenVK.xcodeproj.patch
@@ -0,0 +1,146 @@
+diff --git a/MoltenVK/MoltenVK.xcodeproj/project.pbxproj b/MoltenVK/MoltenVK.xcodeproj/project.pbxproj
+index c23afce4..12ac12f4 100644
+--- a/MoltenVK/MoltenVK.xcodeproj/project.pbxproj
++++ b/MoltenVK/MoltenVK.xcodeproj/project.pbxproj
+@@ -365,13 +365,6 @@
+ /* End PBXBuildFile section */
+ 
+ /* Begin PBXContainerItemProxy section */
+-		2F21D82E24983488009BEA5F /* PBXContainerItemProxy */ = {
+-			isa = PBXContainerItemProxy;
+-			containerPortal = A9C86CB61C55B8350096CAF2 /* MoltenVKShaderConverter.xcodeproj */;
+-			proxyType = 1;
+-			remoteGlobalIDString = 2FEA0CFF2490381A00EEF3AD;
+-			remoteInfo = "MoltenVKSPIRVToMSLConverter-tvOS";
+-		};
+ 		2FEA0D1B249040CA00EEF3AD /* PBXContainerItemProxy */ = {
+ 			isa = PBXContainerItemProxy;
+ 			containerPortal = A9C86CB61C55B8350096CAF2 /* MoltenVKShaderConverter.xcodeproj */;
+@@ -400,20 +393,6 @@
+ 			remoteGlobalIDString = A93903C71C57E9ED00FE90DC;
+ 			remoteInfo = "MVKSPIRVToMSLConverter-macOS";
+ 		};
+-		A981499A1FB6B9CF005F00B4 /* PBXContainerItemProxy */ = {
+-			isa = PBXContainerItemProxy;
+-			containerPortal = A9C86CB61C55B8350096CAF2 /* MoltenVKShaderConverter.xcodeproj */;
+-			proxyType = 1;
+-			remoteGlobalIDString = A93903B81C57E9D700FE90DC;
+-			remoteInfo = "MVKSPIRVToMSLConverter-iOS";
+-		};
+-		A9B1C7F4251AA5AF001D12CC /* PBXContainerItemProxy */ = {
+-			isa = PBXContainerItemProxy;
+-			containerPortal = A9C86CB61C55B8350096CAF2 /* MoltenVKShaderConverter.xcodeproj */;
+-			proxyType = 1;
+-			remoteGlobalIDString = A9092A8C1A81717B00051823;
+-			remoteInfo = MoltenVKShaderConverter;
+-		};
+ /* End PBXContainerItemProxy section */
+ 
+ /* Begin PBXFileReference section */
+@@ -1019,7 +998,6 @@
+ 			buildRules = (
+ 			);
+ 			dependencies = (
+-				2F21D82F24983488009BEA5F /* PBXTargetDependency */,
+ 			);
+ 			name = "MoltenVK-tvOS";
+ 			productName = MoltenVK;
+@@ -1039,7 +1017,6 @@
+ 			buildRules = (
+ 			);
+ 			dependencies = (
+-				A981499B1FB6B9CF005F00B4 /* PBXTargetDependency */,
+ 			);
+ 			name = "MoltenVK-iOS";
+ 			productName = MoltenVK;
+@@ -1059,7 +1036,6 @@
+ 			buildRules = (
+ 			);
+ 			dependencies = (
+-				A9B1C7F5251AA5AF001D12CC /* PBXTargetDependency */,
+ 			);
+ 			name = "MoltenVK-macOS";
+ 			productName = MoltenVK;
+@@ -1476,24 +1452,6 @@
+ 		};
+ /* End PBXSourcesBuildPhase section */
+ 
+-/* Begin PBXTargetDependency section */
+-		2F21D82F24983488009BEA5F /* PBXTargetDependency */ = {
+-			isa = PBXTargetDependency;
+-			name = "MoltenVKSPIRVToMSLConverter-tvOS";
+-			targetProxy = 2F21D82E24983488009BEA5F /* PBXContainerItemProxy */;
+-		};
+-		A981499B1FB6B9CF005F00B4 /* PBXTargetDependency */ = {
+-			isa = PBXTargetDependency;
+-			name = "MVKSPIRVToMSLConverter-iOS";
+-			targetProxy = A981499A1FB6B9CF005F00B4 /* PBXContainerItemProxy */;
+-		};
+-		A9B1C7F5251AA5AF001D12CC /* PBXTargetDependency */ = {
+-			isa = PBXTargetDependency;
+-			name = MoltenVKShaderConverter;
+-			targetProxy = A9B1C7F4251AA5AF001D12CC /* PBXContainerItemProxy */;
+-		};
+-/* End PBXTargetDependency section */
+-
+ /* Begin XCBuildConfiguration section */
+ 		2FEA0AB824902F9F00EEF3AD /* Debug */ = {
+ 			isa = XCBuildConfiguration;
+@@ -1586,11 +1544,12 @@
+ 				GCC_WARN_UNUSED_VARIABLE = YES;
+ 				GENERATE_MASTER_OBJECT_FILE = YES;
+ 				HEADER_SEARCH_PATHS = (
+-					"\"$(SRCROOT)/include\"",
+-					"\"$(SRCROOT)/../MoltenVKShaderConverter\"",
+-					"\"$(SRCROOT)/../MoltenVKShaderConverter/SPIRV-Cross\"",
+-					"\"$(SRCROOT)/../External/cereal/include\"",
+-					"\"${BUILT_PRODUCTS_DIR}\"",
++					"@@sourceRoot@@/outputs/include",
++					"@@sourceRoot@@/outputs/include/simd_workaround",
++					"@@sourceRoot@@/MoltenVKShaderConverter",
++					"@@cereal@@/include",
++					"@@spirv-cross@@/include/spirv_cross",
++					"@@vulkan-headers@@/include",
+ 				);
+ 				IPHONEOS_DEPLOYMENT_TARGET = 9.0;
+ 				MACH_O_TYPE = staticlib;
+@@ -1600,6 +1559,10 @@
+ 				MVK_SKIP_DYLIB = "";
+ 				"MVK_SKIP_DYLIB[sdk=appletvsimulator*]" = YES;
+ 				"MVK_SKIP_DYLIB[sdk=iphonesimulator*]" = YES;
++				OTHER_CFLAGS = (
++					"-isystem",
++					"@@libcxx@@/include/c++/v1",
++				);
+ 				PRELINK_LIBS = "${CONFIGURATION_BUILD_DIR}/libMoltenVKShaderConverter.a";
+ 				PRODUCT_NAME = MoltenVK;
+ 				SKIP_INSTALL = YES;
+@@ -1658,11 +1621,12 @@
+ 				GCC_WARN_UNUSED_VARIABLE = YES;
+ 				GENERATE_MASTER_OBJECT_FILE = YES;
+ 				HEADER_SEARCH_PATHS = (
+-					"\"$(SRCROOT)/include\"",
+-					"\"$(SRCROOT)/../MoltenVKShaderConverter\"",
+-					"\"$(SRCROOT)/../MoltenVKShaderConverter/SPIRV-Cross\"",
+-					"\"$(SRCROOT)/../External/cereal/include\"",
+-					"\"${BUILT_PRODUCTS_DIR}\"",
++					"@@sourceRoot@@/outputs/include",
++					"@@sourceRoot@@/outputs/include/simd_workaround",
++					"@@sourceRoot@@/MoltenVKShaderConverter",
++					"@@cereal@@/include",
++					"@@spirv-cross@@/include/spirv_cross",
++					"@@vulkan-headers@@/include",
+ 				);
+ 				IPHONEOS_DEPLOYMENT_TARGET = 9.0;
+ 				MACH_O_TYPE = staticlib;
+@@ -1672,6 +1636,10 @@
+ 				MVK_SKIP_DYLIB = "";
+ 				"MVK_SKIP_DYLIB[sdk=appletvsimulator*]" = YES;
+ 				"MVK_SKIP_DYLIB[sdk=iphonesimulator*]" = YES;
++				OTHER_CFLAGS = (
++					"-isystem",
++					"@@libcxx@@/include/c++/v1",
++				);
+ 				PRELINK_LIBS = "${CONFIGURATION_BUILD_DIR}/libMoltenVKShaderConverter.a";
+ 				PRODUCT_NAME = MoltenVK;
+ 				SKIP_INSTALL = YES;
diff --git a/pkgs/os-specific/darwin/moltenvk/MoltenVKShaderConverter.xcodeproj.patch b/pkgs/os-specific/darwin/moltenvk/MoltenVKShaderConverter.xcodeproj.patch
new file mode 100644
index 0000000000000..7a7ec7afa2ee6
--- /dev/null
+++ b/pkgs/os-specific/darwin/moltenvk/MoltenVKShaderConverter.xcodeproj.patch
@@ -0,0 +1,180 @@
+diff --git a/MoltenVKShaderConverter/MoltenVKShaderConverter.xcodeproj/project.pbxproj b/MoltenVKShaderConverter/MoltenVKShaderConverter.xcodeproj/project.pbxproj
+index c7842b63..d55f73ed 100644
+--- a/MoltenVKShaderConverter/MoltenVKShaderConverter.xcodeproj/project.pbxproj
++++ b/MoltenVKShaderConverter/MoltenVKShaderConverter.xcodeproj/project.pbxproj
+@@ -3,7 +3,7 @@
+ 	archiveVersion = 1;
+ 	classes = {
+ 	};
+-	objectVersion = 52;
++	objectVersion = 48;
+ 	objects = {
+
+ /* Begin PBXBuildFile section */
+@@ -33,9 +33,6 @@
+ 		A920A8AC251B75B70076851C /* GLSLToSPIRVConverter.h in Headers */ = {isa = PBXBuildFile; fileRef = A920A8A2251B75B70076851C /* GLSLToSPIRVConverter.h */; };
+ 		A920A8AD251B75B80076851C /* GLSLToSPIRVConverter.h in Headers */ = {isa = PBXBuildFile; fileRef = A920A8A2251B75B70076851C /* GLSLToSPIRVConverter.h */; };
+ 		A920A8AE251B75B80076851C /* GLSLToSPIRVConverter.h in Headers */ = {isa = PBXBuildFile; fileRef = A920A8A2251B75B70076851C /* GLSLToSPIRVConverter.h */; };
+-		A920A8AF251B77900076851C /* glslang.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = A98386FD24EEE93700199A05 /* glslang.xcframework */; };
+-		A920A8B0251B77910076851C /* glslang.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = A98386FD24EEE93700199A05 /* glslang.xcframework */; };
+-		A920A8B1251B77920076851C /* glslang.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = A98386FD24EEE93700199A05 /* glslang.xcframework */; };
+ 		A925B71B1C78DEB2006E7ECD /* libMoltenVKShaderConverter.a in Frameworks */ = {isa = PBXBuildFile; fileRef = A93903C71C57E9ED00FE90DC /* libMoltenVKShaderConverter.a */; };
+ 		A928C9191D0488DC00071B88 /* SPIRVConversion.h in Headers */ = {isa = PBXBuildFile; fileRef = A928C9171D0488DC00071B88 /* SPIRVConversion.h */; };
+ 		A928C91A1D0488DC00071B88 /* SPIRVConversion.h in Headers */ = {isa = PBXBuildFile; fileRef = A928C9171D0488DC00071B88 /* SPIRVConversion.h */; };
+@@ -55,12 +52,6 @@
+ 		A97CC7411C7527F3004A5C7E /* MoltenVKShaderConverterTool.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97CC73E1C7527F3004A5C7E /* MoltenVKShaderConverterTool.cpp */; };
+ 		A98149681FB6A98A005F00B4 /* MVKStrings.h in Headers */ = {isa = PBXBuildFile; fileRef = A98149651FB6A98A005F00B4 /* MVKStrings.h */; };
+ 		A98149691FB6A98A005F00B4 /* MVKStrings.h in Headers */ = {isa = PBXBuildFile; fileRef = A98149651FB6A98A005F00B4 /* MVKStrings.h */; };
+-		A98386FA24EEE91A00199A05 /* SPIRVCross.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = A98386F824EEE91A00199A05 /* SPIRVCross.xcframework */; };
+-		A98386FB24EEE91A00199A05 /* SPIRVCross.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = A98386F824EEE91A00199A05 /* SPIRVCross.xcframework */; };
+-		A98386FC24EEE91A00199A05 /* SPIRVCross.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = A98386F824EEE91A00199A05 /* SPIRVCross.xcframework */; };
+-		A983870724EEE94800199A05 /* SPIRVTools.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = A983870224EEE94800199A05 /* SPIRVTools.xcframework */; };
+-		A983870824EEE94800199A05 /* SPIRVTools.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = A983870224EEE94800199A05 /* SPIRVTools.xcframework */; };
+-		A983870924EEE94800199A05 /* SPIRVTools.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = A983870224EEE94800199A05 /* SPIRVTools.xcframework */; };
+ 		A9A14E332244388700C080F3 /* Metal.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A9A14E322244388700C080F3 /* Metal.framework */; };
+ 		A9B51BDD225E98BB00AC74D2 /* MVKOSExtensions.mm in Sources */ = {isa = PBXBuildFile; fileRef = A9B51BDB225E98BB00AC74D2 /* MVKOSExtensions.mm */; };
+ 		A9F042B21FB4D060009FCCB8 /* MVKCommonEnvironment.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F042AA1FB4D060009FCCB8 /* MVKCommonEnvironment.h */; };
+@@ -115,9 +106,6 @@
+ 			isa = PBXFrameworksBuildPhase;
+ 			buildActionMask = 2147483647;
+ 			files = (
+-				A983870824EEE94800199A05 /* SPIRVTools.xcframework in Frameworks */,
+-				A98386FB24EEE91A00199A05 /* SPIRVCross.xcframework in Frameworks */,
+-				A920A8B0251B77910076851C /* glslang.xcframework in Frameworks */,
+ 			);
+ 			runOnlyForDeploymentPostprocessing = 0;
+ 		};
+@@ -134,9 +122,6 @@
+ 			isa = PBXFrameworksBuildPhase;
+ 			buildActionMask = 2147483647;
+ 			files = (
+-				A983870724EEE94800199A05 /* SPIRVTools.xcframework in Frameworks */,
+-				A98386FA24EEE91A00199A05 /* SPIRVCross.xcframework in Frameworks */,
+-				A920A8AF251B77900076851C /* glslang.xcframework in Frameworks */,
+ 			);
+ 			runOnlyForDeploymentPostprocessing = 0;
+ 		};
+@@ -144,9 +129,6 @@
+ 			isa = PBXFrameworksBuildPhase;
+ 			buildActionMask = 2147483647;
+ 			files = (
+-				A983870924EEE94800199A05 /* SPIRVTools.xcframework in Frameworks */,
+-				A98386FC24EEE91A00199A05 /* SPIRVCross.xcframework in Frameworks */,
+-				A920A8B1251B77920076851C /* glslang.xcframework in Frameworks */,
+ 			);
+ 			runOnlyForDeploymentPostprocessing = 0;
+ 		};
+@@ -313,7 +295,7 @@
+ 				A925B71D1C78DEBF006E7ECD /* PBXTargetDependency */,
+ 			);
+ 			name = MoltenVKShaderConverter;
+-			productName = MetalGLShaderConverterTool;
++			productName = MoltenVKShaderConverter;
+ 			productReference = A964BD5F1C57EFBD00D930D8 /* MoltenVKShaderConverter */;
+ 			productType = "com.apple.product-type.tool";
+ 		};
+@@ -349,7 +331,7 @@
+ 			dependencies = (
+ 			);
+ 			name = "MoltenVKShaderConverter-macOS";
+-			productName = "MetalGLShaderConverter-macOS";
++			productName = MoltenVKShaderConverter;
+ 			productReference = A93903C71C57E9ED00FE90DC /* libMoltenVKShaderConverter.a */;
+ 			productType = "com.apple.product-type.library.static";
+ 		};
+@@ -536,6 +518,17 @@
+ 				OTHER_LDFLAGS = (
+ 					"-ObjC",
+ 					"-w",
++					"-lMachineIndependent",
++					"-lGenericCodeGen",
++					"-lOGLCompiler",
++					"-lglslang",
++					"-lOSDependent",
++					"-lSPIRV",
++					"-lSPIRV-Tools",
++					"-lSPIRV-Tools-opt",
++					"-lspirv-cross-msl",
++					"-lspirv-cross-core",
++					"-lspirv-cross-glsl",
+ 				);
+ 				SDKROOT = macosx;
+ 			};
+@@ -548,6 +541,17 @@
+ 				OTHER_LDFLAGS = (
+ 					"-ObjC",
+ 					"-w",
++					"-lMachineIndependent",
++					"-lGenericCodeGen",
++					"-lOGLCompiler",
++					"-lglslang",
++					"-lOSDependent",
++					"-lSPIRV",
++					"-lSPIRV-Tools",
++					"-lSPIRV-Tools-opt",
++					"-lspirv-cross-msl",
++					"-lspirv-cross-core",
++					"-lspirv-cross-glsl",
+ 				);
+ 				SDKROOT = macosx;
+ 			};
+@@ -624,15 +628,24 @@
+ 				GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
+ 				GCC_WARN_UNUSED_FUNCTION = YES;
+ 				HEADER_SEARCH_PATHS = (
+-					"$(inherited)",
+-					"\"$(SRCROOT)\"",
+-					"\"$(SRCROOT)/SPIRV-Cross\"",
+-					"\"$(SRCROOT)/glslang\"",
+-					"\"$(SRCROOT)/glslang/External/spirv-tools/include\"",
++					"@@sourceRoot@@/Common",
++					"@@glslang@@/include",
++					"@@spirv-cross@@/include/spirv_cross",
++					"@@spirv-tools@@/include",
++					"@@spirv-headers@@/include/spirv/unified1/",
+ 				);
+ 				IPHONEOS_DEPLOYMENT_TARGET = 9.0;
++				LIBRARY_SEARCH_PATHS = (
++					"@@glslang@@/lib",
++					"@@spirv-cross@@/lib",
++					"@@spirv-tools@@/lib",
++				);
+ 				MACH_O_TYPE = staticlib;
+ 				MACOSX_DEPLOYMENT_TARGET = 10.11;
++				OTHER_CFLAGS = (
++					"-isystem",
++					"@@libcxx@@/include/c++/v1",
++				);
+ 				PRODUCT_NAME = MoltenVKShaderConverter;
+ 				SKIP_INSTALL = YES;
+ 				TVOS_DEPLOYMENT_TARGET = 9.0;
+@@ -683,15 +696,24 @@
+ 				GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
+ 				GCC_WARN_UNUSED_FUNCTION = YES;
+ 				HEADER_SEARCH_PATHS = (
+-					"$(inherited)",
+-					"\"$(SRCROOT)\"",
+-					"\"$(SRCROOT)/SPIRV-Cross\"",
+-					"\"$(SRCROOT)/glslang\"",
+-					"\"$(SRCROOT)/glslang/External/spirv-tools/include\"",
++					"@@sourceRoot@@/Common",
++					"@@glslang@@/include",
++					"@@spirv-cross@@/include/spirv_cross",
++					"@@spirv-tools@@/include",
++					"@@spirv-headers@@/include/spirv/unified1/",
+ 				);
+ 				IPHONEOS_DEPLOYMENT_TARGET = 9.0;
++				LIBRARY_SEARCH_PATHS = (
++					"@@glslang@@/lib",
++					"@@spirv-cross@@/lib",
++					"@@spirv-tools@@/lib",
++				);
+ 				MACH_O_TYPE = staticlib;
+ 				MACOSX_DEPLOYMENT_TARGET = 10.11;
++				OTHER_CFLAGS = (
++					"-isystem",
++					"@@libcxx@@/include/c++/v1",
++				);
+ 				PRODUCT_NAME = MoltenVKShaderConverter;
+ 				SKIP_INSTALL = YES;
+ 				TVOS_DEPLOYMENT_TARGET = 9.0;
diff --git a/pkgs/os-specific/darwin/moltenvk/createDylib.patch b/pkgs/os-specific/darwin/moltenvk/createDylib.patch
new file mode 100644
index 0000000000000..b4a990cd98916
--- /dev/null
+++ b/pkgs/os-specific/darwin/moltenvk/createDylib.patch
@@ -0,0 +1,13 @@
+diff --git a/Scripts/create_dylib.sh b/Scripts/create_dylib.sh
+index 5ba75f67..a0405067 100755
+--- a/Scripts/create_dylib.sh
++++ b/Scripts/create_dylib.sh
+@@ -57,6 +57,8 @@ ${MVK_SAN} \
+ -framework Metal ${MVK_IOSURFACE_FWK} -framework ${MVK_UX_FWK} -framework QuartzCore -framework CoreGraphics ${MVK_IOKIT_FWK} -framework Foundation \
+ --library-directory ${MVK_USR_LIB_DIR} \
+ -o "${MVK_BUILT_PROD_DIR}/dynamic/${MVK_DYLIB_NAME}" \
++-L@@sourceRoot@@/outputs/lib -L@@glslang@@/lib -L@@spirv-tools@@/lib -L@@spirv-cross@@/lib \
++-lobjc -lMoltenVKShaderConverter -lGenericCodeGen -lMachineIndependent -lOGLCompiler -lOSDependent -lSPIRV -lSPIRV-Tools -lSPIRV-Tools-opt -lspirv-cross-core -lspirv-cross-glsl -lspirv-cross-msl -lspirv-cross-reflect \
+ -force_load "${MVK_BUILT_PROD_DIR}/lib${PRODUCT_NAME}.a"
+
+ if test "$CONFIGURATION" = Debug; then
diff --git a/pkgs/os-specific/darwin/moltenvk/default.nix b/pkgs/os-specific/darwin/moltenvk/default.nix
new file mode 100644
index 0000000000000..243bc657c9bc2
--- /dev/null
+++ b/pkgs/os-specific/darwin/moltenvk/default.nix
@@ -0,0 +1,200 @@
+{ lib
+, stdenv
+, stdenvNoCC
+, fetchurl
+, fetchFromGitHub
+, cctools
+, sigtool
+, cereal
+, glslang
+, spirv-cross
+, spirv-headers
+, spirv-tools
+, vulkan-headers
+, AppKit
+, Foundation
+, Metal
+, QuartzCore
+}:
+
+# Even though the derivation is currently impure, it is written to build successfully using
+# `xcbuild`.  Once the SDK on x86_64-darwin is updated, it should be possible to switch from being
+# an impure derivation.
+#
+# The `sandboxProfile` was copied from the iTerm2 derivation.  In order to build you at least need
+# the `sandbox` option set to `relaxed` or `false`.  Xcode should be available in the default
+# location.
+let
+  libcxx.dev = "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr";
+in
+stdenvNoCC.mkDerivation rec {
+  pname = "MoltenVK";
+  version = "1.1.7";
+
+  buildInputs = [
+    AppKit
+    Foundation
+    Metal
+    QuartzCore
+  ];
+
+  outputs = [ "out" "bin" ];
+
+  # MoltenVK requires specific versions of its dependencies.
+  # Pin them here except for cereal, which is four years old and has several CVEs.
+  passthru = {
+    glslang = (glslang.overrideAttrs (old: {
+      src = fetchFromGitHub {
+        owner = "KhronosGroup";
+        repo = "glslang";
+        rev = "2742e959347ae2fac58acd0d022c92a0ff1f24bf";
+        hash = "sha256-Q0sk4bPj/skPat1n4GJyuXAlZqpfEn4Td8Bm2IBNUqE=";
+      };
+    })).override {
+      inherit (passthru) spirv-headers spirv-tools;
+    };
+    spirv-cross = spirv-cross.overrideAttrs (old: {
+      cmakeFlags = (old.cmakeFlags or [ ]) ++ [
+        "-DSPIRV_CROSS_NAMESPACE_OVERRIDE=MVK_spirv_cross"
+      ];
+      src = fetchFromGitHub {
+        owner = "KhronosGroup";
+        repo = "SPIRV-Cross";
+        rev = "131278458ea8eebe6a6e9c476fbcf71278726e1a";
+        hash = "sha256-LrRYDFGv3Zxfy4qRNLwM2OOa8jbcq0ttPxDamCH21xU=";
+      };
+    });
+    spirv-headers = spirv-headers.overrideAttrs (_: {
+      src = fetchFromGitHub {
+        owner = "KhronosGroup";
+        repo = "spirv-headers";
+        rev = "b42ba6d92faf6b4938e6f22ddd186dbdacc98d78";
+        hash = "sha256-ks9JCj5rj+Xu++7z5RiHDkU3/sFXhcScw8dATfB/ot0";
+      };
+    });
+    spirv-tools = (spirv-tools.overrideAttrs (old: {
+      src = fetchFromGitHub {
+        owner = "KhronosGroup";
+        repo = "spirv-tools";
+        rev = "45dd184c790d6bfc78a5a74a10c37e888b1823fa";
+        hash = "sha256-DSqZlwfNTbN4fyIrVBKltm5U2U4GthW3L+Ksw4lSVG8=";
+      };
+      meta = old.meta // {
+        platforms = old.meta.platforms ++ lib.platforms.darwin;
+      };
+    })).override {
+      inherit (passthru) spirv-headers;
+    };
+    vulkan-headers = vulkan-headers.overrideAttrs (old: {
+      src = fetchFromGitHub {
+        owner = "KhronosGroup";
+        repo = "Vulkan-Headers";
+        rev = "1dace16d8044758d32736eb59802d171970e9448";
+        hash = "sha256-C6YgxWcinI3QumcWmoJaiTAf0u6jSDc8sCIarn2t04k";
+      };
+      meta = old.meta // {
+        platforms = old.meta.platforms ++ lib.platforms.darwin;
+      };
+    });
+  };
+
+  src = fetchFromGitHub {
+    owner = "KhronosGroup";
+    repo = "MoltenVK";
+    rev = "v${version}";
+    hash = "sha256-I9QcjyE09qclWPCLAVfKEaifP89q1ftLh9cXWy9m7kw=";
+  };
+
+  patches = [
+    # Specify the libraries to link directly since XCFrameworks are not being used.
+    ./createDylib.patch
+    # Move `mvkGitRevDerived.h` to a stable location
+    ./gitRevHeaderStability.patch
+    # Fix the Xcode projects to play nicely with `xcbuild`.
+    ./MoltenVKShaderConverter.xcodeproj.patch
+    ./MoltenVK.xcodeproj.patch
+  ];
+
+  postPatch = ''
+    substituteInPlace MoltenVKShaderConverter/MoltenVKShaderConverter.xcodeproj/project.pbxproj \
+      --replace @@sourceRoot@@ $(pwd) \
+      --replace @@libcxx@@ "${libcxx.dev}" \
+      --replace @@glslang@@ "${passthru.glslang}" \
+      --replace @@spirv-cross@@ "${passthru.spirv-cross}" \
+      --replace @@spirv-tools@@ "${passthru.glslang.spirv-tools}" \
+      --replace @@spirv-headers@@ "${passthru.glslang.spirv-headers}"
+    substituteInPlace MoltenVK/MoltenVK.xcodeproj/project.pbxproj \
+      --replace @@sourceRoot@@ $(pwd) \
+      --replace @@libcxx@@ "${libcxx.dev}" \
+      --replace @@cereal@@ "${cereal}" \
+      --replace @@spirv-cross@@ "${passthru.spirv-cross}" \
+      --replace @@vulkan-headers@@ "${passthru.vulkan-headers}"
+    substituteInPlace Scripts/create_dylib.sh \
+      --replace @@sourceRoot@@ $(pwd) \
+      --replace @@glslang@@ "${passthru.glslang}" \
+      --replace @@spirv-tools@@ "${passthru.glslang.spirv-tools}" \
+      --replace @@spirv-cross@@ "${passthru.spirv-cross}"
+    substituteInPlace Scripts/gen_moltenvk_rev_hdr.sh \
+      --replace @@sourceRoot@@ $(pwd) \
+      --replace '$(git rev-parse HEAD)' ${src.rev}
+  '';
+
+  dontConfigure = true;
+
+  buildPhase = ''
+    # Build each project on its own because `xcbuild` fails to build `MoltenVKPackaging.xcodeproj`.
+    derived_data_path=$(pwd)/DerivedData
+    pushd MoltenVKShaderConverter
+      /usr/bin/xcodebuild build \
+        -jobs $NIX_BUILD_CORES \
+        -derivedDataPath "$derived_data_path" \
+        -configuration Release \
+        -project MoltenVKShaderConverter.xcodeproj \
+        -scheme MoltenVKShaderConverter \
+        -arch ${stdenv.targetPlatform.darwinArch}
+    popd
+    mkdir -p outputs/bin outputs/lib
+    declare -A outputs=( [MoltenVKShaderConverter]=bin [libMoltenVKShaderConverter.a]=lib )
+    for output in "''${!outputs[@]}"; do
+      cp DerivedData/Build/Products/Release/$output "outputs/''${outputs[$output]}/$output"
+    done
+
+    pushd MoltenVK
+      /usr/bin/xcodebuild build \
+        -jobs $NIX_BUILD_CORES \
+        -derivedDataPath "$derived_data_path" \
+        -configuration Release \
+        -project MoltenVK.xcodeproj \
+        -scheme MoltenVK-macOS \
+        -arch ${stdenv.targetPlatform.darwinArch}
+    popd
+    cp DerivedData/Build/Products/Release/dynamic/libMoltenVK.dylib outputs/lib/libMoltenVK.dylib
+  '';
+
+  installPhase = ''
+    mkdir -p "$out/lib" "$out/share/vulkan/icd.d" "$bin/bin"
+    cp outputs/bin/MoltenVKShaderConverter "$bin/bin/"
+    cp outputs/lib/libMoltenVK.dylib "$out/lib/"
+    ${cctools}/bin/install_name_tool -id "$out/lib/libMoltenVK.dylib" "$out/lib/libMoltenVK.dylib"
+    # FIXME: https://github.com/NixOS/nixpkgs/issues/148189
+    /usr/bin/codesign -s - -f "$out/lib/libMoltenVK.dylib"
+    install -m644 MoltenVK/icd/MoltenVK_icd.json "$out/share/vulkan/icd.d/MoltenVK_icd.json"
+    substituteInPlace $out/share/vulkan/icd.d/MoltenVK_icd.json \
+      --replace ./libMoltenVK.dylib "$out/share/vulkan/icd.d/MoltenVK_icd.json"
+  '';
+
+  sandboxProfile = ''
+    (allow file-read* file-write* process-exec mach-lookup)
+    ; block homebrew dependencies
+    (deny file-read* file-write* process-exec mach-lookup (subpath "/usr/local") (with no-log))
+  '';
+
+  meta = {
+    description = "A Vulkan Portability implementation built on top of Apple’s Metal API";
+    homepage = "https://github.com/KhronosGroup/MoltenVK";
+    changelog = "https://github.com/KhronosGroup/MoltenVK/releases";
+    maintainers = [ lib.maintainers.reckenrode ];
+    license = lib.licenses.asl20;
+    platforms = lib.platforms.darwin;
+  };
+}
diff --git a/pkgs/os-specific/darwin/moltenvk/gitRevHeaderStability.patch b/pkgs/os-specific/darwin/moltenvk/gitRevHeaderStability.patch
new file mode 100644
index 0000000000000..e28b9ee70b6a7
--- /dev/null
+++ b/pkgs/os-specific/darwin/moltenvk/gitRevHeaderStability.patch
@@ -0,0 +1,14 @@
+diff --git a/Scripts/gen_moltenvk_rev_hdr.sh b/Scripts/gen_moltenvk_rev_hdr.sh
+index c49ea4e6..9b7d13d1 100755
+--- a/Scripts/gen_moltenvk_rev_hdr.sh
++++ b/Scripts/gen_moltenvk_rev_hdr.sh
+@@ -2,7 +2,7 @@
+
+ # Record the MoltenVK GIT revision as a derived header file suitable for including in a build
+ MVK_GIT_REV=$(git rev-parse HEAD)
+-MVK_HDR_FILE="${BUILT_PRODUCTS_DIR}/mvkGitRevDerived.h"
++MVK_HDR_FILE="@@sourceRoot@@/outputs/include/mvkGitRevDerived.h"
++mkdir -p $(dirname ${MVK_HDR_FILE})
+ echo "// Auto-generated by MoltenVK" > "${MVK_HDR_FILE}"
+ echo "static const char* mvkRevString = \"${MVK_GIT_REV}\";" >> "${MVK_HDR_FILE}"
+-
diff --git a/pkgs/os-specific/darwin/mysides/default.nix b/pkgs/os-specific/darwin/mysides/default.nix
new file mode 100644
index 0000000000000..cdbfee5046a2a
--- /dev/null
+++ b/pkgs/os-specific/darwin/mysides/default.nix
@@ -0,0 +1,36 @@
+{ lib, stdenv, fetchurl, libarchive, p7zip }:
+
+stdenv.mkDerivation rec {
+  pname = "mysides";
+  version = "1.0.1";
+
+  src = fetchurl {
+    url = "https://github.com/mosen/mysides/releases/download/v${version}/mysides-${version}.pkg";
+    sha256 = "sha256-dpRrj3xb9xQSXXXxragUDgNPBaniiMc6evRF12wqVRQ=";
+  };
+
+  dontBuild = true;
+  nativeBuildInputs = [ libarchive p7zip ];
+
+  unpackPhase = ''
+    7z x $src
+    bsdtar -xf Payload~
+  '';
+
+  installPhase = ''
+    runHook preInstall
+
+    mkdir -p $out/bin
+    install -Dm755 usr/local/bin/mysides -t $out/bin
+
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    description = "Manage macOS Finder sidebar favorites";
+    homepage = "https://github.com/mosen/mysides";
+    license = licenses.mit;
+    maintainers = with maintainers; [ tboerger ];
+    platforms = platforms.darwin;
+  };
+}
diff --git a/pkgs/os-specific/darwin/sketchybar/default.nix b/pkgs/os-specific/darwin/sketchybar/default.nix
new file mode 100644
index 0000000000000..be44db38fe14e
--- /dev/null
+++ b/pkgs/os-specific/darwin/sketchybar/default.nix
@@ -0,0 +1,44 @@
+{ lib, stdenv, fetchFromGitHub, Carbon, Cocoa, SkyLight }:
+
+let
+  inherit (stdenv.hostPlatform) system;
+  target = {
+    "aarch64-darwin" = "arm";
+    "x86_64-darwin" = "x86";
+  }.${system} or (throw "Unsupported system: ${system}");
+in
+
+stdenv.mkDerivation rec {
+  pname = "sketchybar";
+  version = "2.4.3";
+
+  src = fetchFromGitHub {
+    owner = "FelixKratz";
+    repo = "SketchyBar";
+    rev = "v${version}";
+    sha256 = "1370xjl8sas5nghxgjxmc1zgskf28g40pv7nxgh37scjwdrkrrvb";
+  };
+
+  buildInputs = [ Carbon Cocoa SkyLight ];
+
+  postPatch = ''
+    sed -i -e '/^#include <malloc\/_malloc.h>/d' src/*.[ch] src/*/*.[ch]
+  '';
+
+  makeFlags = [
+    target
+  ];
+
+  installPhase = ''
+    mkdir -p $out/bin
+    cp ./bin/sketchybar_${target} $out/bin/sketchybar
+  '';
+
+  meta = with lib; {
+    description = "A highly customizable macOS status bar replacement";
+    homepage = "https://github.com/FelixKratz/SketchyBar";
+    platforms = platforms.darwin;
+    maintainers = [ maintainers.azuwis ];
+    license = licenses.gpl3;
+  };
+}
diff --git a/pkgs/os-specific/darwin/swift-corelibs/corefoundation.nix b/pkgs/os-specific/darwin/swift-corelibs/corefoundation.nix
index bfe862eb3957d..7c48d695e11d1 100644
--- a/pkgs/os-specific/darwin/swift-corelibs/corefoundation.nix
+++ b/pkgs/os-specific/darwin/swift-corelibs/corefoundation.nix
@@ -11,7 +11,8 @@ let
 in
 
 stdenv.mkDerivation {
-  name = "swift-corefoundation";
+  pname = "swift-corefoundation";
+  version = "unstable-2018-09-14";
 
   src = fetchFromGitHub {
     owner  = "apple";
diff --git a/pkgs/os-specific/darwin/usr-include/default.nix b/pkgs/os-specific/darwin/usr-include/default.nix
deleted file mode 100644
index 26b60ea44f5d7..0000000000000
--- a/pkgs/os-specific/darwin/usr-include/default.nix
+++ /dev/null
@@ -1,23 +0,0 @@
-{lib, stdenv, darwin}:
-
-/*
- * This is needed to build GCC on Darwin.
- *
- * These are the collection of headers that would normally be available under
- * /usr/include in macOS machines with command line tools installed. They need
- * to be in one folder for gcc to use them correctly.
- */
-
-stdenv.mkDerivation {
-  name = "darwin-usr-include";
-  buildInputs = [ darwin.CF stdenv.libc ];
-  buildCommand = ''
-    mkdir -p $out
-    cd $out
-    ln -sf ${stdenv.libc}/include/* .
-    mkdir CoreFoundation
-    ln -sf ${darwin.CF}/Library/Frameworks/CoreFoundation.framework/Headers/* CoreFoundation
-  '';
-
-  meta.platforms = lib.platforms.darwin;
-}