summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaiderd Jordan <daiderd@gmail.com>2017-01-15 09:51:00 +0100
committerDaiderd Jordan <daiderd@gmail.com>2017-01-15 09:51:00 +0100
commitb1a264c928fdb7e674c0e9f9fe2edbe5c04f5bb2 (patch)
treec7886bc56dd7ff323f5dbfba73b6eb4b10573462
parent54a3bf8eb239dc18e2daaa6576ab7bf2dff7303e (diff)
make nixpkgs and system overridable for ./release.nix
-rw-r--r--default.nix19
-rw-r--r--modules/nix/nixpkgs.nix4
-rw-r--r--release.nix36
3 files changed, 47 insertions, 12 deletions
diff --git a/default.nix b/default.nix
index 9748d1e..a620ec9 100644
--- a/default.nix
+++ b/default.nix
@@ -1,11 +1,23 @@
-{ pkgs ? import <nixpkgs> {}, configuration ? <darwin-config> }:
+{ nixpkgs ? <nixpkgs>, configuration ? <darwin-config>, 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 7bef9ee..2b2ce49 100644
--- a/modules/nix/nixpkgs.nix
+++ b/modules/nix/nixpkgs.nix
@@ -67,9 +67,7 @@ in
config = {
- _module.args.pkgs = import <nixpkgs> {
- inherit (config.nixpkgs) config;
- };
+ # _module.args.pkgs is defined in ../../default.nix
};
}
diff --git a/release.nix b/release.nix
index 2dea880..5a78f31 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 <nixpkgs/pkgs/top-level/release-lib.nix> {
@@ -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