{
  self,
  lib,
  inputs,
  ...
}: {
  flake = {
    nixosModules = rec {
      overlays = ({ ... }: {
        nixpkgs.overlays = [
          (final: prev:
          let
            unstable = import inputs.unstable {
              system = prev.system;
              config.allowUnfreePredicate = pkg: builtins.elem (prev.lib.getName pkg) [
                "1password"
                "1password-cli"
                "slack"
              ];
            };
            fork = import inputs.fork {
              system = prev.system;
            };
            master = import inputs.master {
              system = prev.system;
            };
          in
          {
            direnv = unstable.direnv;
            element-desktop = fork.element-desktop;
            nixVersions = prev.nixVersions // {inherit (unstable.nixVersions) nix_2_20;};
            nix-direnv = unstable.nix-direnv;
            _1password = unstable._1password;
            _1password-cli = unstable._1password-cli;
            wayland-pipewire-idle-inhibit = unstable.wayland-pipewire-idle-inhibit;
            wlvncc = unstable.wlvncc;
            #vimPlugins = prev.vimPlugins // {inherit (unstable.vimPlugins) nvim-lspconfig;};
          })
          (import ../pkgs)
          (import ./blesh.nix)
          (import ./mdbook-multilang.nix inputs)
          (import ./nix-index.nix)
          (import ./prr.nix)
          (import ./slack.nix)
          (import ./neovim-plugins.nix)
        ];
      });
    };
  };
}