{ description = "Custom shared packages that doesn't fit in the upstream nixpkgs"; inputs.nixpkgs.url = "github:NixOS/nixpkgs"; inputs.flake-parts.url = "github:hercules-ci/flake-parts"; inputs.flake-compat.url = "github:edolstra/flake-compat"; inputs.flake-compat.flake = false; outputs = { self, flake-parts, ... } @ inputs: flake-parts.lib.mkFlake { inherit inputs; } { systems = [ "aarch64-darwin" "aarch64-linux" "x86_64-darwin" "x86_64-linux" ]; perSystem = { lib, system, ... }: let pkgs = import inputs.nixpkgs { inherit system; }; pkgsFor = pkgs: overlays: import pkgs { inherit system overlays; }; exoticPkgs = (pkgsFor inputs.nixpkgs [ self.overlays.default ]).exoticPackages; in { _module.args.pkgs = pkgs; packages = exoticPkgs; }; flake = { overlays.default = final: prev: { exoticPackages = import ./pkgs { pkgs = prev; }; }; hydraJobs = { inherit (self) packages; }; }; }; }