# This file describes your repository contents.
# It should return a set of nix derivations
# and optionally the special attributes `lib`, `modules` and `overlays`.
# It should NOT import <nixpkgs>. Instead, you should take pkgs as an argument.
# Having pkgs default to <nixpkgs> is fine though, and it lets you use short
# commands such as:
#     nix-build -A mypackage

{ pkgs ? import <nixpkgs> { } }:
let
  materusPkgs = packages // utils //
    (if pkgs.system == "x86_64-linux" then { i686Linux = import ./. { pkgs = pkgs.pkgsi686Linux; }; } else { });
  callPackage = pkgs.lib.callPackageWith (pkgs // packages // { inherit materusPkgs; } //
    (if pkgs.system == "x86_64-linux" then { pkgsi686Linux = pkgs.pkgsi686Linux // materusPkgs.i686Linux; } else { }));


  packages = import ./pkgs { inherit pkgs; inherit callPackage; };


  utils = {
    # The `lib`, `modules`, and `overlay` names are special
    lib = import ./lib { inherit pkgs; };
    modules = import ./modules;
    overlays = import ./overlays;
  };

in
packages // utils