{ pkgs ? import { inherit system; overlays = [ ]; config.allowUnfree = true; }, lib ? pkgs.lib, system ? builtins.currentSystem, # wow this is hacky inputs, self ? inputs.self, ivyVersion ? self.shortRev or self.dirtyRev or "unknown", }: let packages = lib.makeScope pkgs.newScope (self: { neovim = self.callPackage ./pkgs/neovim/package.nix { inherit (inputs) neovim-src; }; ivy = self.callPackage ./pkgs/ivy/package.nix { inherit ivyVersion; neovim-unwrapped = self.neovim; }; ivyPlugins = self.callPackage ./pkgs/ivy-plugins/package.nix { }; inherit (inputs.gift-wrap.legacyPackages.${pkgs.stdenv.hostPlatform.system}) wrapNeovim; }); in packages