{ inputs, ... }: rec { # This one brings our custom packages from the 'pkgs' directory additions = final: _prev: import ../packages { pkgs = final; }; # This one contains whatever you want to overlay # You can change versions, add patches, set compilation flags, anything really. # https://nixos.wiki/wiki/Overlays modifications = _final: prev: { # example = prev.example.overrideAttrs (oldAttrs: rec { # ... # }); makeModulesClosure = x: prev.makeModulesClosure (x // { allowMissing = true; }); tmuxPlugins = prev.tmuxPlugins // { tmux-select-pane-no-wrap = prev.tmux-select-pane-no-wrap; }; vimPlugins = prev.vimPlugins // { opencode-nvim = prev.opencode-nvim; }; }; # When applied, the unstable nixpkgs set (declared in the flake inputs) will # be accessible through 'pkgs.unstable' unstable-packages = final: _prev: { unstable = import inputs.nixpkgs-unstable { system = final.system; overlays = [ additions modifications ]; config = { allowUnfree = true; allowUnsupportedSystem = true; }; }; }; }