mirror of
https://github.com/foo-dogsquared/nixos-config.git
synced 2025-01-31 16:57:55 +00:00
46 lines
1.4 KiB
Nix
46 lines
1.4 KiB
Nix
# As a design restriction, this flake shouldn't have any inputs whatsoever.
|
|
# We're already using the Nix projects through pinning with npins.
|
|
{
|
|
description = "wrapper-manager-fds flake";
|
|
outputs = { ... }: let
|
|
sources = import ./npins;
|
|
systems = [ "x86_64-linux" "aarch64-linux" ];
|
|
eachSystem = systems: f:
|
|
let
|
|
# Merge together the outputs for all systems.
|
|
op = attrs: system:
|
|
let
|
|
ret = f system;
|
|
op = attrs: key: attrs //
|
|
{
|
|
${key} = (attrs.${key} or { })
|
|
// { ${system} = ret.${key}; };
|
|
}
|
|
;
|
|
in
|
|
builtins.foldl' op attrs (builtins.attrNames ret);
|
|
in
|
|
builtins.foldl' op { }
|
|
(systems
|
|
++ # add the current system if --impure is used
|
|
(if builtins?currentSystem then
|
|
if builtins.elem builtins.currentSystem systems
|
|
then []
|
|
else [ builtins.currentSystem ]
|
|
else
|
|
[]));
|
|
in import ./. { } // (eachSystem systems (system: let
|
|
pkgs = import sources.nixos-unstable { inherit system; };
|
|
tests = import ./tests { inherit pkgs; };
|
|
in {
|
|
devShells = {
|
|
default = import ./shell.nix { inherit pkgs; };
|
|
website = import ./docs/shell.nix { inherit pkgs; };
|
|
};
|
|
|
|
packages.website = import ./docs { inherit pkgs; };
|
|
|
|
checks.wrapperManagerLibrarySetPkg = tests.libTestPkg;
|
|
}));
|
|
}
|