summaryrefslogtreecommitdiffstats
path: root/lib/eval-source.nix
blob: 468fc92d120e9d255a8d62c7d1320c3ee7c4e926 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
with import <stockholm/lib>;
let
  eval = _file: source: evalModules {
    modules = singleton {
      inherit _file;
      imports = map (source: { inherit source; }) (toList source);
      options.source = mkOption {
        type = types.attrsOf types.source;
        default = {};
      };
    };
  };
in
  # This function's return value can be used as pkgs.populate input.
  _file: source: (eval _file source).config.source