# SPDX-FileCopyrightText: 2020 Luke Granger-Brown # # SPDX-License-Identifier: Apache-2.0 { depot, system, ... }@ch: let nixpkgsConfig = { allowUnfree = true; permittedInsecurePackages = [ "p7zip-16.02" ]; packageOverrides = pkgs: { factorio = pkgs.factorio.override depot.ops.secrets.factorio; factorio-experimental = pkgs.factorio-experimental.override depot.ops.secrets.factorio; }; }; nixpkgs = import ./nixpkgs { inherit system; config = nixpkgsConfig; }; crate2nixSrc = nixpkgs.fetchFromGitHub { owner = "kolloch"; repo = "crate2nix"; rev = "e07af104b8e41d1cd7e41dc7ac3fdcdf4953efae"; hash = "sha256:07syygn1rc5n1big7hf42pzgm5wc1r0mzglzvlbcb7rkzgqqhbqx"; }; naerskSrc = nixpkgs.fetchFromGitHub { owner = "nmattia"; repo = "naersk"; rev = "e0fe990b478a66178a58c69cf53daec0478ca6f9"; sha256 = "sha256:0qjyfmw5v7s6ynjns4a61vlyj9cghj7vbpgrp9147ngb1f8krz2c"; }; in rec { inherit nixpkgsConfig nixpkgs; nixos = import ./nixpkgs/nixos; nixeval = import ./nixpkgs/nixos/lib/eval-config.nix; buildGo = let orig = import ./tvl/nix/buildGo { pkgs = nixpkgs; inherit gopkgs; }; in orig // { program = { dockerData ? [], ... }@args: let origOut = orig.program (nixpkgs.lib.filterAttrs (n: v: n != "dockerData") args); in origOut // { dockerImage = nixpkgs.dockerTools.buildImage { name = args.name; contents = dockerData; config = { Entrypoint = [ "${origOut}/bin/${args.name}" ]; Env = [ "SSL_CERT_FILE=${nixpkgs.cacert}/etc/ssl/certs/ca-bundle.crt" ]; }; }; }; }; readTree = import ./tvl/nix/readTree {}; gopkgs = readTree ch ./gopkgs; bat_syntaxes = import ./tvl/third_party/bat_syntaxes { pkgs = ch.depot.pkgs; }; cheddar = import ./tvl/tools/cheddar { pkgs = ch.depot.pkgs // { inherit naersk bat_syntaxes; }; }; naersk = nixpkgs.callPackage naerskSrc {}; crate2nix = import "${crate2nixSrc}" { pkgs = ch.depot.pkgs; }; }