forked from pub-solar/os
37 lines
768 B
Nix
37 lines
768 B
Nix
let
|
|
inherit (default.inputs.nixos) lib;
|
|
|
|
default = (import ./lib/compat).defaultNix;
|
|
|
|
ciSystems = [
|
|
"aarch64-linux"
|
|
"i686-linux"
|
|
"x86_64-linux"
|
|
];
|
|
|
|
filterSystems =
|
|
lib.filterAttrs
|
|
(system: _: lib.elem system ciSystems);
|
|
|
|
recurseIntoAttrsRecursive = lib.mapAttrs (
|
|
_: v:
|
|
if lib.isAttrs v
|
|
then recurseIntoAttrsRecursive (lib.recurseIntoAttrs v)
|
|
else v
|
|
);
|
|
|
|
systemOutputs =
|
|
lib.filterAttrs
|
|
(
|
|
name: set:
|
|
lib.isAttrs set
|
|
&& lib.any
|
|
(system: set ? ${system} && name != "legacyPackages")
|
|
ciSystems
|
|
)
|
|
default.outputs;
|
|
|
|
ciDrvs = lib.mapAttrs (_: system: filterSystems system) systemOutputs;
|
|
in
|
|
(recurseIntoAttrsRecursive ciDrvs) // {shell = import ./shell.nix;}
|