16 lines
No EOL
709 B
Nix
16 lines
No EOL
709 B
Nix
{ pkgs, lib, system, commons, ... }:
|
|
let
|
|
# upstream distro images
|
|
upstreamImagesJSON = lib.importJSON ./upstream.json;
|
|
upstreamImages = lib.mapAttrs (name: src: pkgs.fetchurl src) upstreamImagesJSON.${system};
|
|
customs = (import ./customs.nix) { inherit pkgs lib system commons; };
|
|
templates = (import ./templates.nix) { inherit pkgs lib system commons upstreamImages customs; };
|
|
mergeUpstreamImageAndTemplates =
|
|
name: image:
|
|
let
|
|
imageTemplates = lib.optionalAttrs (lib.hasAttr "${name}" templates) templates.${name};
|
|
in
|
|
imageTemplates // { upstream = image; };
|
|
|
|
images = lib.mapAttrs mergeUpstreamImageAndTemplates upstreamImages;
|
|
in images // { inherit customs; } |