Skip to content

Commit 527f855

Browse files
committed
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.
1 parent aafac57 commit 527f855

File tree

1 file changed

+89
-73
lines changed

1 file changed

+89
-73
lines changed

flake.nix

Lines changed: 89 additions & 73 deletions
Original file line numberDiff line numberDiff line change
@@ -6,84 +6,100 @@
66
flake-utils.url = "github:numtide/flake-utils";
77
};
88

9-
outputs = { self, nixpkgs, flake-utils }:
10-
flake-utils.lib.eachDefaultSystem (system:
9+
outputs =
10+
{
11+
self,
12+
nixpkgs,
13+
flake-utils,
14+
}:
15+
flake-utils.lib.eachDefaultSystem (
16+
system:
1117
let
1218
pkgs = nixpkgs.legacyPackages.${system};
1319

1420
# List of supported macOS SDK versions.
15-
sdk_versions = [ "11" "12" "13" "14" "15" ];
21+
sdk_versions = [
22+
"11"
23+
"12"
24+
"13"
25+
"14"
26+
"15"
27+
"26"
28+
];
1629
default_sdk_version = "11";
1730

18-
mkDevShell = { macos_version ? default_sdk_version }:
31+
mkDevShell =
32+
{
33+
macos_version ? default_sdk_version,
34+
}:
1935
let
2036
apple_sdk = pkgs.${"apple-sdk_${macos_version}"};
2137
in
22-
pkgs.mkShell {
23-
# Package list specifically excludes ncurses, so that we link
24-
# against the system version of ncurses. This ensures emacs' TUI
25-
# works out of the box without the user having to manually set
26-
# TERMINFO in the shell before launching emacs.
27-
packages = with pkgs; [
28-
apple_sdk
29-
autoconf
30-
bash
31-
cairo
32-
clang
33-
coreutils
34-
curl
35-
darwin.DarwinTools # sw_vers
36-
dbus
37-
expat
38-
findutils
39-
gcc
40-
gettext
41-
giflib
42-
git
43-
gmp
44-
gnumake
45-
gnupatch
46-
gnused
47-
gnutar
48-
gnutls
49-
harfbuzz
50-
jansson
51-
jq
52-
lcms2
53-
libffi
54-
libgccjit
55-
libiconv
56-
libjpeg
57-
libpng
58-
librsvg
59-
libtasn1
60-
libunistring
61-
libwebp
62-
libxml2
63-
mailutils
64-
nettle
65-
pkg-config
66-
python313Packages.dmgbuild
67-
rsync
68-
ruby
69-
sqlite
70-
texinfo
71-
time
72-
tree-sitter
73-
which
74-
xcbuild
75-
zlib
76-
];
38+
pkgs.mkShell {
39+
# Package list specifically excludes ncurses, so that we link
40+
# against the system version of ncurses. This ensures emacs' TUI
41+
# works out of the box without the user having to manually set
42+
# TERMINFO in the shell before launching emacs.
43+
packages = with pkgs; [
44+
apple_sdk
45+
autoconf
46+
bash
47+
cairo
48+
clang
49+
coreutils
50+
curl
51+
darwin.DarwinTools # sw_vers
52+
dbus
53+
expat
54+
findutils
55+
gcc
56+
gettext
57+
giflib
58+
git
59+
gmp
60+
gnumake
61+
gnupatch
62+
gnused
63+
gnutar
64+
gnutls
65+
harfbuzz
66+
jansson
67+
jq
68+
lcms2
69+
libffi
70+
libgccjit
71+
libiconv
72+
libjpeg
73+
libpng
74+
librsvg
75+
libtasn1
76+
libunistring
77+
libwebp
78+
libxml2
79+
mailutils
80+
nettle
81+
pkg-config
82+
python313Packages.dmgbuild
83+
rsync
84+
ruby
85+
sqlite
86+
texinfo
87+
time
88+
tree-sitter
89+
which
90+
xcbuild
91+
zlib
92+
];
7793

78-
shellHook = ''
79-
export CC=clang
80-
export MACOSX_DEPLOYMENT_TARGET="${macos_version}.0"
81-
export DEVELOPER_DIR="${apple_sdk}"
82-
export NIX_LIBGCCJIT_VERSION="${pkgs.libgccjit.version}"
83-
export NIX_LIBGCCJIT_ROOT="${pkgs.libgccjit.outPath}"
84-
export BUNDLE_WITHOUT=development
85-
'';
86-
};
94+
shellHook = ''
95+
export CC=clang
96+
export MACOSX_DEPLOYMENT_TARGET="${macos_version}.0"
97+
export DEVELOPER_DIR="${apple_sdk}"
98+
export NIX_LIBGCCJIT_VERSION="${pkgs.libgccjit.version}"
99+
export NIX_LIBGCCJIT_ROOT="${pkgs.libgccjit.outPath}"
100+
export BUNDLE_WITHOUT=development
101+
'';
102+
};
87103

88104
# Generate an attrset of shells for each macOS SDK version.
89105
versionShells = builtins.listToAttrs (
@@ -93,10 +109,10 @@
93109
}) sdk_versions
94110
);
95111
in
96-
{
97-
devShells = versionShells // {
98-
default = mkDevShell {};
99-
};
100-
}
112+
{
113+
devShells = versionShells // {
114+
default = mkDevShell { };
115+
};
116+
}
101117
);
102118
}

0 commit comments

Comments
 (0)