forked from pub-solar/os
c012f2f4ed
- [x] refactor lib into separate files, similar to NixOS/nixpkgs/lib. - [x] refactor ci to automatically generate derivations from flake outputs - [x] remove cluttered indirection statements throughout the codebase - [x] refactor hosts to allow for upcoming integration tests - [x] improve ambiguity in the existing docs - [x] add [BORS](https://bors.tech) support - [x] add initial integration test - [x] write tests documentation - [x] test lib - [x] improve version string generation, and do so automatically for pkgs/flake.nix sources Clean up the codebase as best we can in preparation for #152 and add tests. From now on, all PRs will be merged with BORS.
32 lines
664 B
Nix
32 lines
664 B
Nix
let
|
|
inherit (default.inputs.nixos) lib;
|
|
|
|
default = (import "${../.}/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
|
|
(_: set: lib.isAttrs set
|
|
&& lib.any
|
|
(system: set ? ${system})
|
|
ciSystems
|
|
)
|
|
default.outputs;
|
|
|
|
ciDrvs = lib.mapAttrs (_: system: filterSystems system) systemOutputs;
|
|
in
|
|
recurseIntoAttrsRecursive ciDrvs
|