mirror of
https://github.com/LnL7/nix-darwin.git
synced 2025-03-05 08:17:01 +00:00
reuse evalConfig in default.nix
This commit is contained in:
parent
0dba44e04c
commit
5dfd0c4485
1 changed files with 11 additions and 28 deletions
39
default.nix
39
default.nix
|
@ -1,33 +1,21 @@
|
|||
{ nixpkgs ? <nixpkgs>, configuration ? <darwin-config>, system ? builtins.currentSystem
|
||||
{ nixpkgs ? <nixpkgs>
|
||||
, configuration ? <darwin-config>
|
||||
, lib ? pkgs.lib
|
||||
, pkgs ? import nixpkgs { inherit system; }
|
||||
, system ? builtins.currentSystem
|
||||
}:
|
||||
|
||||
let
|
||||
baseModules = import ./modules/module-list.nix;
|
||||
modules = [ configuration packages ] ++ baseModules;
|
||||
evalConfig = import ./eval-config.nix { inherit lib system; };
|
||||
|
||||
packages = { config, lib, pkgs, ... }: {
|
||||
_file = ./default.nix;
|
||||
config = {
|
||||
_module.args.pkgs = import nixpkgs config.nixpkgs;
|
||||
nixpkgs.system = system;
|
||||
};
|
||||
eval = evalConfig {
|
||||
modules = [ configuration ];
|
||||
inputs = { inherit nixpkgs; };
|
||||
};
|
||||
|
||||
eval = pkgs.lib.evalModules {
|
||||
inherit modules;
|
||||
args = { inherit baseModules modules; };
|
||||
specialArgs = { modulesPath = ./modules; };
|
||||
check = true;
|
||||
};
|
||||
|
||||
# Was moved in nixpkgs #82751, so both need to be handled here until 20.03 is deprecated.
|
||||
# https://github.com/NixOS/nixpkgs/commits/dcdd232939232d04c1132b4cc242dd3dac44be8c
|
||||
_module = eval._module or eval.config._module;
|
||||
|
||||
# The source code of this repo needed by the [un]installers.
|
||||
nix-darwin = pkgs.lib.cleanSource (
|
||||
pkgs.lib.cleanSourceWith {
|
||||
nix-darwin = lib.cleanSource (
|
||||
lib.cleanSourceWith {
|
||||
# We explicitly specify a name here otherwise `cleanSource` will use the
|
||||
# basename of ./. which might be different for different clones of this
|
||||
# repo leading to non-reproducible outputs.
|
||||
|
@ -37,12 +25,7 @@ let
|
|||
);
|
||||
in
|
||||
|
||||
{
|
||||
inherit (_module.args) pkgs;
|
||||
inherit (eval) options config;
|
||||
|
||||
system = eval.config.system.build.toplevel;
|
||||
|
||||
eval // {
|
||||
installer = pkgs.callPackage ./pkgs/darwin-installer { inherit nix-darwin; };
|
||||
uninstaller = pkgs.callPackage ./pkgs/darwin-uninstaller { inherit nix-darwin; };
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue