main
 1{
 2  inputs,
 3  config,
 4  withSystem,
 5  ...
 6}: {
 7  imports = [
 8    inputs.pkgs-by-name-for-flake-parts.flakeModule
 9  ];
10
11  perSystem = {system, ...}: {
12    # flake-parts global nixpkgs config, nixos modules' nixpkgs will not be affected
13    # nixos modules nixpkgs config: modules/core/nix/nixpkgs.nix
14    _module.args.pkgs = import inputs.nixpkgs {
15      inherit system;
16      config = {allowUnfree = true;};
17      overlays = [
18        (final: prev: {
19          nur = import inputs.nur {
20            nurpkgs = prev;
21            pkgs = prev;
22            repoOverrides = {
23              hpcesia = import inputs.nur-hpcesia {pkgs = prev;};
24            };
25          };
26        })
27        (final: prev: {
28          inherit
29            (prev.lixPackageSets.stable)
30            nixpkgs-review
31            # nix-direnv # See https://git.lix.systems/lix-project/lix/issues/980
32            nix-eval-jobs
33            nix-fast-build
34            colmena
35            ;
36        })
37      ];
38    };
39    pkgsDirectory = config.flake.meta.rootPath + "/pkgs/by-name";
40  };
41
42  flake = {
43    overlays.default = _final: prev: {
44      local = withSystem prev.stdenv.hostPlatform.system ({config, ...}: config.packages);
45    };
46  };
47}