# Gather up the grid library functionality and present it in a (somewhat) # coherent public interface. Application code should prefer these names over # directly importing the source files in this directory. { base = import ./base.nix; hardware-aws = import ./issuer-aws.nix; hardware-vagrant = import ./hardware-vagrant.nix; issuer = import ./issuer.nix; storage = import ./storage.nix; customize-storage = import ./customize-storage.nix; monitoring = import ./monitoring.nix; customize-monitoring = import ./customize-monitoring.nix; modules = builtins.toString ../../nixos/modules; # The nixpkgs version used in our deployments. This affects both the packages # installed, as well as the NixOS module set that is used. # This is intended to be used in a grid definition like: # network = { ... ; inherit (gridlib) pkgs; ... } pkgs = import ../../nixpkgs-2105.nix { # Ensure that configuration of the system where this runs # doesn't leak into what we build. # See https://github.com/NixOS/nixpkgs/issues/62513 config = { pkgs }: let lib = pkgs.lib; in { allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [ "megacli" ]; }; overlays = []; }; }