query
On this page

packages

pkgs.emacsPackages.packages

Docs pulled from | This Revision | 31 minutes ago


Contribute
Enhance the ecosystem with your expertise! Contribute to fill the gaps in documentation. Your input can make a difference.

Noogle detected

Implementation

The following is the current implementation of this function.

self:
  lib.makeOverridable (
    {
      pkgs ? pkgs',
      lib ? pkgs.lib,
      elpaDevelPackages ? mkElpaDevelPackages { inherit pkgs lib; } self,
      elpaPackages ? mkElpaPackages { inherit pkgs lib; } self,
      nongnuDevelPackages ? mkNongnuDevelPackages { inherit pkgs lib; } self,
      nongnuPackages ? mkNongnuPackages { inherit pkgs lib; } self,
      melpaStablePackages ? melpaGeneric { inherit pkgs lib; } "stable" self,
      melpaPackages ? melpaGeneric { inherit pkgs lib; } "unstable" self,
      manualPackages ? mkManualPackages { inherit pkgs lib; } self,
    }:
    (
      { }
      // elpaDevelPackages
      // {
        inherit elpaDevelPackages;
      }
      // elpaPackages
      // {
        inherit elpaPackages;
      }
      // nongnuDevelPackages
      // {
        inherit nongnuDevelPackages;
      }
      // nongnuPackages
      // {
        inherit nongnuPackages;
      }
      // melpaStablePackages
      // {
        inherit melpaStablePackages;
      }
      // melpaPackages
      // {
        inherit melpaPackages;
      }
      // manualPackages
      // {
        inherit manualPackages;
      }
      // {

        # Propagate overridden scope
        emacs = emacs'.overrideAttrs (old: {
          passthru = (old.passthru or { }) // {
            pkgs = lib.dontRecurseIntoAttrs self;
          };
        });

        trivialBuild = pkgs.callPackage ../applications/editors/emacs/build-support/trivial.nix {
          inherit (self) emacs;
        };

        elpaBuild = pkgs.callPackage ../applications/editors/emacs/build-support/elpa.nix {
          inherit (self) emacs;
        };

        melpaBuild = pkgs.callPackage ../applications/editors/emacs/build-support/melpa.nix {
          inherit (self) emacs;
        };

        emacsWithPackages = emacsWithPackages { inherit pkgs lib; } self;
        withPackages = emacsWithPackages { inherit pkgs lib; } self;

      }
      // {

        # Package specific priority overrides goes here

        # EXWM is not tagged very often, prefer it from elpa devel.
        inherit (elpaDevelPackages) exwm;

        # Telega uploads packages incompatible with stable tdlib to melpa
        # Prefer the one from melpa stable
        inherit (melpaStablePackages) telega;

      }
    )
  ) { }