1
0
Fork 0
mirror of https://github.com/LnL7/nix-darwin.git synced 2024-12-14 11:57:34 +00:00

make nixpkgs and system overridable for ./release.nix

This commit is contained in:
Daiderd Jordan 2017-01-15 09:51:00 +01:00
parent 54a3bf8eb2
commit b1a264c928
No known key found for this signature in database
GPG key ID: D02435D05B810C96
3 changed files with 47 additions and 12 deletions

View file

@ -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;
}

View file

@ -67,9 +67,7 @@ in
config = {
_module.args.pkgs = import <nixpkgs> {
inherit (config.nixpkgs) config;
};
# _module.args.pkgs is defined in ../../default.nix
};
}

View file

@ -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