{ 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; config.permittedInsecurePackages = [ "python-2.7.18.6-env" ]; 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; } )); }