From e9b2e1cfb27de0b63fa16c729ded7c973c545c69 Mon Sep 17 00:00:00 2001 From: Lin Jian Date: Sat, 1 Aug 2026 21:10:28 +0800 Subject: [PATCH 1/2] emacs.pkgs.rtags: simplify its override with fix-rtags This causes 0 rebuilds. --- .../editors/emacs/elisp-packages/melpa-packages.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/applications/editors/emacs/elisp-packages/melpa-packages.nix b/pkgs/applications/editors/emacs/elisp-packages/melpa-packages.nix index bb3d01ab8b5e..fba5ecc72f8d 100644 --- a/pkgs/applications/editors/emacs/elisp-packages/melpa-packages.nix +++ b/pkgs/applications/editors/emacs/elisp-packages/melpa-packages.nix @@ -520,7 +520,7 @@ let ''; }); - rtags = ignoreCompilationError (dontConfigure (externalSrc super.rtags pkgs.rtags)); # elisp error + rtags = ignoreCompilationError (fix-rtags super.rtags); # elisp error rtags-xref = dontConfigure super.rtags; From d4e46396b65223371de73b4149bd4b59a4671fca Mon Sep 17 00:00:00 2001 From: Lin Jian Date: Sat, 1 Aug 2026 21:18:16 +0800 Subject: [PATCH 2/2] emacs: move propagatedUserEnvPkgs from externalSrc to fix-rtags It is weird to modify propagatedUserEnvPkgs in externalSrc. The only changed package of this patch is emacs.pkgs.evil-ghostel, which is intended. --- .../emacs/elisp-packages/lib-override-helper.nix | 13 +++++++++---- .../editors/emacs/elisp-packages/melpa-packages.nix | 3 +++ 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/pkgs/applications/editors/emacs/elisp-packages/lib-override-helper.nix b/pkgs/applications/editors/emacs/elisp-packages/lib-override-helper.nix index 91a20bd3647e..e0cab0021f1f 100644 --- a/pkgs/applications/editors/emacs/elisp-packages/lib-override-helper.nix +++ b/pkgs/applications/editors/emacs/elisp-packages/lib-override-helper.nix @@ -32,12 +32,17 @@ rec { externalSrc = pkg: epkg: - pkg.overrideAttrs (previousAttrs: { + pkg.overrideAttrs { inherit (epkg) src version; - propagatedUserEnvPkgs = previousAttrs.propagatedUserEnvPkgs or [ ] ++ [ epkg ]; - }); + }; - fix-rtags = pkg: dontConfigure (externalSrc pkg pkgs.rtags); + fix-rtags = + pkg: + dontConfigure ( + (externalSrc pkg pkgs.rtags).overrideAttrs (previousAttrs: { + propagatedUserEnvPkgs = previousAttrs.propagatedUserEnvPkgs or [ ] ++ [ pkgs.rtags ]; + }) + ); fixRequireHelmCore = pkg: diff --git a/pkgs/applications/editors/emacs/elisp-packages/melpa-packages.nix b/pkgs/applications/editors/emacs/elisp-packages/melpa-packages.nix index fba5ecc72f8d..a51a2827c775 100644 --- a/pkgs/applications/editors/emacs/elisp-packages/melpa-packages.nix +++ b/pkgs/applications/editors/emacs/elisp-packages/melpa-packages.nix @@ -289,6 +289,9 @@ let # Build same version as Haskell package hindent = (externalSrc super.hindent pkgs.haskellPackages.hindent).overrideAttrs (attrs: { packageRequires = [ self.haskell-mode ]; + propagatedUserEnvPkgs = attrs.propagatedUserEnvPkgs or [ ] ++ [ + pkgs.haskellPackages.hindent + ]; }); hotfuzz = super.hotfuzz.overrideAttrs (old: {