isle/flake.nix

39 lines
853 B
Nix

# TODO this is currently broken, garage is using builtins.currentSystem for some
# reason.
{
description = "isle provides the foundation for an autonomous community cloud infrastructure";
outputs = {
self,
}: let
supportedSystems = (import ./nix/pkgs.nix).supportedSystems;
mkPkg = (buildSystem: hostSystem: let
defaultAttrs = (import ./default.nix) {
inherit hostSystem buildSystem;
revision = if self ? rev then self.rev else "dirty";
releaseName = "flake";
};
in
defaultAttrs.build.appImage
);
pkgsForBuildSystem = (buildSystem: {
default = mkPkg buildSystem buildSystem;
});
in {
packages = (builtins.foldl'
(pkgs: buildSystem:
pkgs // { "${buildSystem}" = pkgsForBuildSystem buildSystem; })
{}
supportedSystems
);
};
}