37 lines
1.1 KiB
Nix
37 lines
1.1 KiB
Nix
{
|
|
description = "Compute Canada Flake Packages (Overlay)";
|
|
|
|
inputs.nixpkgs.url = "github:NixOS/nixpkgs/release-23.05";
|
|
inputs.flake-utils.url = "github:numtide/flake-utils";
|
|
|
|
outputs = { self, nixpkgs, flake-utils }: {
|
|
overlays = {
|
|
default = final: prev: import ./pkgs/all-packages.nix final prev;
|
|
};
|
|
} // (flake-utils.lib.eachDefaultSystem (system:
|
|
let
|
|
pkgs = import nixpkgs {
|
|
inherit system;
|
|
config.allowAliases = false;
|
|
overlays = [ self.overlays.default ];
|
|
};
|
|
inherit (pkgs) lib;
|
|
overlayAttributes = lib.pipe (import ./. pkgs pkgs) [
|
|
builtins.attrNames
|
|
(lib.partition (n: lib.isDerivation pkgs.${n}))
|
|
];
|
|
attributesToAttrset = attributes: lib.pipe attributes [
|
|
(map (n: lib.nameValuePair n pkgs.${n}))
|
|
lib.listToAttrs
|
|
];
|
|
in {
|
|
lib = attributesToAttrset overlayAttributes.wrong;
|
|
packages = pkgs.lib.optionalAttrs
|
|
(system == "x86_64-linux" ) (attributesToAttrset overlayAttributes.right);
|
|
hydraJobs = pkgs.lib.optionalAttrs
|
|
(system == "x86_64-linux" ) self.packages;
|
|
|
|
}
|
|
));
|
|
}
|