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.
This commit is contained in:
2026-01-14 18:51:32 +00:00
parent aafac57b1d
commit 527f855fbf

162
flake.nix
View File

@@ -6,84 +6,100 @@
flake-utils.url = "github:numtide/flake-utils"; flake-utils.url = "github:numtide/flake-utils";
}; };
outputs = { self, nixpkgs, flake-utils }: outputs =
flake-utils.lib.eachDefaultSystem (system: {
self,
nixpkgs,
flake-utils,
}:
flake-utils.lib.eachDefaultSystem (
system:
let let
pkgs = nixpkgs.legacyPackages.${system}; pkgs = nixpkgs.legacyPackages.${system};
# List of supported macOS SDK versions. # 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"; default_sdk_version = "11";
mkDevShell = { macos_version ? default_sdk_version }: mkDevShell =
{
macos_version ? default_sdk_version,
}:
let let
apple_sdk = pkgs.${"apple-sdk_${macos_version}"}; apple_sdk = pkgs.${"apple-sdk_${macos_version}"};
in in
pkgs.mkShell { pkgs.mkShell {
# Package list specifically excludes ncurses, so that we link # Package list specifically excludes ncurses, so that we link
# against the system version of ncurses. This ensures emacs' TUI # against the system version of ncurses. This ensures emacs' TUI
# works out of the box without the user having to manually set # works out of the box without the user having to manually set
# TERMINFO in the shell before launching emacs. # TERMINFO in the shell before launching emacs.
packages = with pkgs; [ packages = with pkgs; [
apple_sdk apple_sdk
autoconf autoconf
bash bash
cairo cairo
clang clang
coreutils coreutils
curl curl
darwin.DarwinTools # sw_vers darwin.DarwinTools # sw_vers
dbus dbus
expat expat
findutils findutils
gcc gcc
gettext gettext
giflib giflib
git git
gmp gmp
gnumake gnumake
gnupatch gnupatch
gnused gnused
gnutar gnutar
gnutls gnutls
harfbuzz harfbuzz
jansson jansson
jq jq
lcms2 lcms2
libffi libffi
libgccjit libgccjit
libiconv libiconv
libjpeg libjpeg
libpng libpng
librsvg librsvg
libtasn1 libtasn1
libunistring libunistring
libwebp libwebp
libxml2 libxml2
mailutils mailutils
nettle nettle
pkg-config pkg-config
python313Packages.dmgbuild python313Packages.dmgbuild
rsync rsync
ruby ruby
sqlite sqlite
texinfo texinfo
time time
tree-sitter tree-sitter
which which
xcbuild xcbuild
zlib zlib
]; ];
shellHook = '' shellHook = ''
export CC=clang export CC=clang
export MACOSX_DEPLOYMENT_TARGET="${macos_version}.0" export MACOSX_DEPLOYMENT_TARGET="${macos_version}.0"
export DEVELOPER_DIR="${apple_sdk}" export DEVELOPER_DIR="${apple_sdk}"
export NIX_LIBGCCJIT_VERSION="${pkgs.libgccjit.version}" export NIX_LIBGCCJIT_VERSION="${pkgs.libgccjit.version}"
export NIX_LIBGCCJIT_ROOT="${pkgs.libgccjit.outPath}" export NIX_LIBGCCJIT_ROOT="${pkgs.libgccjit.outPath}"
export BUNDLE_WITHOUT=development export BUNDLE_WITHOUT=development
''; '';
}; };
# Generate an attrset of shells for each macOS SDK version. # Generate an attrset of shells for each macOS SDK version.
versionShells = builtins.listToAttrs ( versionShells = builtins.listToAttrs (
@@ -93,10 +109,10 @@
}) sdk_versions }) sdk_versions
); );
in in
{ {
devShells = versionShells // { devShells = versionShells // {
default = mkDevShell {}; default = mkDevShell { };
}; };
} }
); );
} }