2021-01-18 17:34:53 +00:00
|
|
|
let
|
2021-03-14 07:10:51 +00:00
|
|
|
inherit (default.inputs.nixos) lib;
|
2021-01-19 07:51:23 +00:00
|
|
|
|
2021-05-16 17:22:40 +00:00
|
|
|
default = (import ./lib/compat).defaultNix;
|
2021-04-19 03:00:45 +00:00
|
|
|
|
|
|
|
ciSystems = [
|
|
|
|
"aarch64-linux"
|
|
|
|
"x86_64-linux"
|
|
|
|
];
|
|
|
|
|
2023-01-28 20:49:10 +00:00
|
|
|
filterSystems =
|
|
|
|
lib.filterAttrs
|
2021-04-19 03:00:45 +00:00
|
|
|
(system: _: lib.elem system ciSystems);
|
|
|
|
|
2023-01-28 20:49:10 +00:00
|
|
|
recurseIntoAttrsRecursive = lib.mapAttrs (
|
|
|
|
_: v:
|
|
|
|
if lib.isAttrs v
|
|
|
|
then recurseIntoAttrsRecursive (lib.recurseIntoAttrs v)
|
|
|
|
else v
|
2021-04-19 03:00:45 +00:00
|
|
|
);
|
|
|
|
|
2023-01-28 20:49:10 +00:00
|
|
|
systemOutputs =
|
|
|
|
lib.filterAttrs
|
|
|
|
(
|
|
|
|
name: set:
|
|
|
|
lib.isAttrs set
|
|
|
|
&& lib.any
|
|
|
|
(system: set ? ${system} && name != "legacyPackages")
|
|
|
|
ciSystems
|
2021-04-19 03:00:45 +00:00
|
|
|
)
|
|
|
|
default.outputs;
|
|
|
|
|
|
|
|
ciDrvs = lib.mapAttrs (_: system: filterSystems system) systemOutputs;
|
2021-01-18 17:34:53 +00:00
|
|
|
in
|
2023-01-28 20:49:10 +00:00
|
|
|
(recurseIntoAttrsRecursive ciDrvs) // {shell = import ./shell.nix;}
|