From 527f855fbf5d8bda36dfdbb5e30b7e41b66ee447 Mon Sep 17 00:00:00 2001 From: Jim Myhrberg Date: Wed, 14 Jan 2026 18:51:32 +0000 Subject: [PATCH] chore(deps): add macOS SDK version 26 - Added support for macOS SDK version 26 to the list of supported SDKs. - Reformatted flake.nix with nixfmt. --- flake.nix | 162 ++++++++++++++++++++++++++++++------------------------ 1 file changed, 89 insertions(+), 73 deletions(-) diff --git a/flake.nix b/flake.nix index 1e25195..7a7e9ec 100644 --- a/flake.nix +++ b/flake.nix @@ -6,84 +6,100 @@ flake-utils.url = "github:numtide/flake-utils"; }; - outputs = { self, nixpkgs, flake-utils }: - flake-utils.lib.eachDefaultSystem (system: + outputs = + { + self, + nixpkgs, + flake-utils, + }: + flake-utils.lib.eachDefaultSystem ( + system: let pkgs = nixpkgs.legacyPackages.${system}; # List of supported macOS SDK versions. - sdk_versions = [ "11" "12" "13" "14" "15" ]; + sdk_versions = [ + "11" + "12" + "13" + "14" + "15" + "26" + ]; default_sdk_version = "11"; - mkDevShell = { macos_version ? default_sdk_version }: + mkDevShell = + { + macos_version ? default_sdk_version, + }: let apple_sdk = pkgs.${"apple-sdk_${macos_version}"}; in - pkgs.mkShell { - # Package list specifically excludes ncurses, so that we link - # against the system version of ncurses. This ensures emacs' TUI - # works out of the box without the user having to manually set - # TERMINFO in the shell before launching emacs. - packages = with pkgs; [ - apple_sdk - autoconf - bash - cairo - clang - coreutils - curl - darwin.DarwinTools # sw_vers - dbus - expat - findutils - gcc - gettext - giflib - git - gmp - gnumake - gnupatch - gnused - gnutar - gnutls - harfbuzz - jansson - jq - lcms2 - libffi - libgccjit - libiconv - libjpeg - libpng - librsvg - libtasn1 - libunistring - libwebp - libxml2 - mailutils - nettle - pkg-config - python313Packages.dmgbuild - rsync - ruby - sqlite - texinfo - time - tree-sitter - which - xcbuild - zlib - ]; + pkgs.mkShell { + # Package list specifically excludes ncurses, so that we link + # against the system version of ncurses. This ensures emacs' TUI + # works out of the box without the user having to manually set + # TERMINFO in the shell before launching emacs. + packages = with pkgs; [ + apple_sdk + autoconf + bash + cairo + clang + coreutils + curl + darwin.DarwinTools # sw_vers + dbus + expat + findutils + gcc + gettext + giflib + git + gmp + gnumake + gnupatch + gnused + gnutar + gnutls + harfbuzz + jansson + jq + lcms2 + libffi + libgccjit + libiconv + libjpeg + libpng + librsvg + libtasn1 + libunistring + libwebp + libxml2 + mailutils + nettle + pkg-config + python313Packages.dmgbuild + rsync + ruby + sqlite + texinfo + time + tree-sitter + which + xcbuild + zlib + ]; - shellHook = '' - export CC=clang - export MACOSX_DEPLOYMENT_TARGET="${macos_version}.0" - export DEVELOPER_DIR="${apple_sdk}" - export NIX_LIBGCCJIT_VERSION="${pkgs.libgccjit.version}" - export NIX_LIBGCCJIT_ROOT="${pkgs.libgccjit.outPath}" - export BUNDLE_WITHOUT=development - ''; - }; + shellHook = '' + export CC=clang + export MACOSX_DEPLOYMENT_TARGET="${macos_version}.0" + export DEVELOPER_DIR="${apple_sdk}" + export NIX_LIBGCCJIT_VERSION="${pkgs.libgccjit.version}" + export NIX_LIBGCCJIT_ROOT="${pkgs.libgccjit.outPath}" + export BUNDLE_WITHOUT=development + ''; + }; # Generate an attrset of shells for each macOS SDK version. versionShells = builtins.listToAttrs ( @@ -93,10 +109,10 @@ }) sdk_versions ); in - { - devShells = versionShells // { - default = mkDevShell {}; - }; - } + { + devShells = versionShells // { + default = mkDevShell { }; + }; + } ); }