
Nix on macOS, nixpkgs for darwin, nix-darwin with Randy Eckenrode
Full Time Nix
Navigating macOS Development Challenges
This chapter explores the complexities of software development for macOS, focusing on the issues related to private APIs and missing headers. It discusses the reliance on internal SDKs, reverse engineering efforts, and the challenges of porting tools to the Nix ecosystem while considering cross-compilation with Linux.
https://opensource.apple.com/releases/
https://en.wikipedia.org/wiki/NeXTSTEP
https://www.opengroup.org/openbrand/register/
https://en.wikipedia.org/wiki/Property_list
https://repology.org/repository/nix_unstable
https://nixos.org/manual/nixpkgs/unstable/#chap-stdenv
https://libcxx.llvm.org/ReleaseNotes/19.html#deprecations-and-removals
Tracking issue for Darwin stdenv LLVM update:
https://github.com/NixOS/nixpkgs/issues/234710
https://en.wikipedia.org/wiki/Interface_Builder
https://developer.apple.com/metal/
https://developer.apple.com/xcode/
https://github.com/facebookarchive/xcbuild
https://nixos.org/manual/nixpkgs/unstable/#deploying-a-proxy-component-wrapper-exposing-xcode
MacVim in nixpkgs:
https://github.com/NixOS/nixpkgs/blob/50784a2835c150d6055861a5ad703a57b8070cbb/pkgs/applications/editors/vim/macvim.nix
https://github.com/orgs/NixOS/teams/darwin-core
https://github.com/reckenrode
https://github.com/emilazy
https://github.com/toonn
PR establishing the Darwin team:
https://github.com/NixOS/nixpkgs/pull/348183
https://developer.apple.com/documentation/corefoundation
when Apple implemented this hardening, before it just happened to work. So, and this actually affected Nix because Nix uses the AWS C++ SDK and that stopped buildinghttps://github.com/NixOS/nixpkgs/pull/265102
macOS 15 Sequoia clobbers _nixbld1-4 users:
https://github.com/NixOS/nix/issues/10892
https://github.com/DeterminateSystems/nix-installer
https://github.com/LnL7/nix-darwin
Fixing waifu2x-converter-cpp on Darwin:
https://github.com/NixOS/nixpkgs/pull/135725
https://github.com/NixOS/nixpkgs/pull/131324
https://github.com/KhronosGroup/MoltenVK
Last year, Connor Baker created a draft PR to add the missing SDK.Connor Baker’s draft PR adding more SDKs:
https://github.com/NixOS/nixpkgs/pull/229210
Darwin SDK PR (has links to my PRs fixing issues):
https://github.com/NixOS/nixpkgs/pull/346043
Discourse post with the SDK update announcement:
https://discourse.nixos.org/t/the-darwin-sdks-have-been-updated/55295
- Atemu
- anthonyroussel
- azuwis
- boltzmannrain
- emilytrau
- josephst
- judofyr
- mfrischknech
- philiptaron
- toonn
- trofi
- wegank
- niklaskorz (for Zed)
- booxter (for Firefox)
https://github.com/apple-oss-distributions
https://github.com/apple-oss-distributions/dyld
Note that the source for ld-prime is actually removed from the distribution. I’d package it if it were there, but it’s not.https://github.com/LnL7/nix-darwin
https://github.com/nix-community/home-manager
Another call for Darwin maintainers:
https://github.com/NixOS/nixpkgs/issues/323144
https://github.com/NixOS/rfcs/pull/112
Generated chapters:
00:00 Introduct...