diff --git a/default.nix b/default.nix index 9748d1e3..a620ec9f 100644 --- a/default.nix +++ b/default.nix @@ -1,11 +1,23 @@ -{ pkgs ? import {}, configuration ? }: +{ nixpkgs ? , configuration ? , system ? builtins.currentSystem +, pkgs ? import nixpkgs { inherit system; } +}: let + packages = { config, lib, pkgs, ... }: { + config = { + _module.args.pkgs = import nixpkgs { + inherit system; + inherit (config.nixpkgs) config; + }; + }; + }; + eval = pkgs.lib.evalModules { check = true; modules = [ configuration + packages ./modules/alias.nix ./modules/system ./modules/system/activation-scripts.nix @@ -33,12 +45,11 @@ let ]; }; - system = eval.config.system.build.toplevel; - in { inherit (eval.config._module.args) pkgs; inherit (eval) options config; - inherit system; + + system = eval.config.system.build.toplevel; } diff --git a/modules/nix/nixpkgs.nix b/modules/nix/nixpkgs.nix index 7bef9eec..2b2ce49a 100644 --- a/modules/nix/nixpkgs.nix +++ b/modules/nix/nixpkgs.nix @@ -67,9 +67,7 @@ in config = { - _module.args.pkgs = import { - inherit (config.nixpkgs) config; - }; + # _module.args.pkgs is defined in ../../default.nix }; } diff --git a/release.nix b/release.nix index 2dea880b..5a78f319 100644 --- a/release.nix +++ b/release.nix @@ -5,10 +5,12 @@ let - inherit (release) mapTestOn packagePlatforms pkgs; + inherit (release) mapTestOn packagePlatforms pkgs all linux darwin; + + mapPlatforms = systems: pkgs.lib.mapAttrs (n: v: systems); genExample = configuration: pkgs.lib.genAttrs [ "x86_64-darwin" ] (system: - (import ./. { pkgs = import nixpkgs { inherit system; }; inherit configuration; }).system + (import ./. { inherit nixpkgs configuration system; }).system ); release = import { @@ -17,7 +19,21 @@ let }; packageSet = { - inherit (pkgs) stdenv bash zsh nix nix-repl vim tmux reattach-to-user-namespace; + # stdenv + inherit (pkgs) + autoconf automake bison bzip2 clang cmake coreutils cpio ed findutils flex gawk gettext gmp + gnugrep gnum4 gnumake gnused groff gzip help2man libcxx libcxxabi libedit libffi libtool + libxml2 llvm ncurses patch pcre perl pkgconfig python unzip xz zlib; + perlPackages = { inherit (pkgs.perlPackages) LocaleGettext; }; + darwin = { + inherit (pkgs.darwin) + CF CarbonHeaders CommonCrypto Csu IOKit Libinfo Libm Libnotify Libsystem adv_cmds + architecture bootstrap_cmds bsdmake cctools configd copyfile dyld eap8021x launchd + libclosure libdispatch libiconv libpthread libresolv libutil objc4 ppp removefile xnu; + }; + + inherit (pkgs) + stdenv bash zsh nix nix-repl nano vim emacs tmux reattach-to-user-namespace; }; jobs = { @@ -27,17 +43,27 @@ let constituents = [ jobs.stdenv.x86_64-darwin jobs.bash.x86_64-darwin + jobs.zsh.x86_64-darwin + jobs.nix-repl.x86_64-darwin + jobs.nix.x86_64-darwin + jobs.reattach-to-user-namespace.x86_64-darwin + jobs.tmux.x86_64-darwin + jobs.nano.x86_64-darwin + jobs.vim.x86_64-darwin + jobs.emacs.x86_64-darwin jobs.examples.lnl.x86_64-darwin jobs.examples.simple.x86_64-darwin ]; - meta.description = "Release-critical builds for the Nixpkgs unstable channel"; + meta.description = "Release-critical builds for the darwin unstable channel"; }; examples.lnl = genExample ./modules/examples/lnl.nix; examples.simple = genExample ./modules/examples/simple.nix; } - // (mapTestOn (packagePlatforms packageSet)); + // (mapTestOn (packagePlatforms packageSet)) + // (mapTestOn { perlPackages = mapPlatforms all packageSet.perlPackages; }) + // (mapTestOn { darwin = mapPlatforms darwin packageSet.darwin; }); in