summaryrefslogtreecommitdiff
path: root/default.nix
blob: a2528d3fd42b1588d80c0fb271f39b64042f2973 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
{ nixpkgs ? <nixpkgs>, configuration ? <darwin-config>, system ? builtins.currentSystem
, pkgs ? import nixpkgs { inherit system; }
}:

let

  packages = { config, lib, pkgs, ... }: {
    _file = ./default.nix;
    config = {
      _module.args.pkgs = import nixpkgs config.nixpkgs;
      nixpkgs.system = system;
    };
  };

  eval = pkgs.lib.evalModules {
    specialArgs = { modulesPath = ./modules; };
    check = true;
    modules =
      [ configuration
        packages
        ./modules/alias.nix
        ./modules/system
        ./modules/system/checks.nix
        ./modules/system/activation-scripts.nix
        ./modules/system/applications.nix
        ./modules/system/defaults-write.nix
        ./modules/system/defaults/LaunchServices.nix
        ./modules/system/defaults/NSGlobalDomain.nix
        ./modules/system/defaults/dock.nix
        ./modules/system/defaults/finder.nix
        ./modules/system/defaults/smb.nix
        ./modules/system/defaults/trackpad.nix
        ./modules/system/etc.nix
        ./modules/system/keyboard.nix
        ./modules/system/launchd.nix
        ./modules/system/shells.nix
        ./modules/system/version.nix
        ./modules/time
        ./modules/networking
        ./modules/nix
        ./modules/nix/nix-darwin.nix
        ./modules/nix/nix-info.nix
        ./modules/nix/nixpkgs.nix
        ./modules/environment
        ./modules/launchd
        ./modules/services/activate-system
        ./modules/services/buildkite-agent.nix
        ./modules/services/chunkwm.nix
        ./modules/services/emacs.nix
        ./modules/services/khd
        ./modules/services/kwm
        ./modules/services/mopidy.nix
        ./modules/services/nix-daemon.nix
        ./modules/services/nix-gc
        ./modules/services/ofborg
        ./modules/services/postgresql
        ./modules/services/redis
        ./modules/programs/bash
        ./modules/programs/fish.nix
        ./modules/programs/man.nix
        ./modules/programs/info
        ./modules/programs/nix-index
        ./modules/programs/nix-script.nix
        ./modules/programs/tmux.nix
        ./modules/programs/vim.nix
        ./modules/programs/zsh
        ./modules/users
        ./modules/users/nixbld
      ];
  };

in

{
  inherit (eval.config._module.args) pkgs;
  inherit (eval) options config;

  system = eval.config.system.build.toplevel;

  installer = pkgs.callPackage ./pkgs/darwin-installer {};
  uninstaller = pkgs.callPackage ./pkgs/darwin-uninstaller {};
}