1858-11-17

Apple's Standard Environment

The stdenv is not a special derivation to Nix, but it's very important for the nixpkgs repository. It serves as base for packaging software. It is used to pull in dependencies such as the GCC toolchain, GNU make, core utilities, patch and diff utilities, and so on. Basic tools needed to compile a huge pile of software currently present in nixpkgs.

[nix-shell:~/ihp-nix]$ nix repl '<nixpkgs>'
Welcome to Nix version 2.4pre20201201_5a6ddb3. Type :? for help.

Loading '<nixpkgs>'...
Added 12822 variables.

nix-repl> stdenv
Ā«derivation /nix/store/ba47l0vmz06jxyflpz0ziqz009d5qp01-stdenv-darwin.drvĀ»

nix-repl> stdenv.
stdenv.__bootPackages            stdenv.drvAttrs                  stdenv.isDarwin                  stdenv.out
stdenv.__extraImpureHostDeps     stdenv.drvPath                   stdenv.isFreeBSD                 stdenv.outPath
stdenv.__hatPackages             stdenv.extraBuildInputs          stdenv.isLinux                   stdenv.outputName
stdenv.__impureHostDeps          stdenv.extraNativeBuildInputs    stdenv.isMips                    stdenv.override
stdenv.__sandboxProfile          stdenv.extraSandboxProfile       stdenv.isOpenBSD                 stdenv.overrideDerivation
stdenv.all                       stdenv.fetchurlBoot              stdenv.isSunOS                   stdenv.overrides
stdenv.allowedRequisites         stdenv.hasCC                     stdenv.isi686                    stdenv.platform
stdenv.appleSdkVersion           stdenv.hostPlatform              stdenv.isx86_32                  stdenv.preHook
stdenv.args                      stdenv.initialPath               stdenv.isx86_64                  stdenv.setup
stdenv.bootstrapTools            stdenv.is32bit                   stdenv.lib                       stdenv.shell
stdenv.buildPlatform             stdenv.is64bit                   stdenv.libc                      stdenv.shellPackage
stdenv.builder                   stdenv.isAarch32                 stdenv.macosVersionMin           stdenv.system
stdenv.cc                        stdenv.isAarch64                 stdenv.meta                      stdenv.targetPlatform
stdenv.defaultBuildInputs        stdenv.isBigEndian               stdenv.mkDerivation              stdenv.type

nix-repl> stdenv.appleSdkVersion
"10.12"