From 7dc4c62ebd76aa5a771fdf82ed49138e3fd9cfda Mon Sep 17 00:00:00 2001 From: Jasi Date: Sun, 14 Dec 2025 21:11:33 -0500 Subject: [PATCH 1/2] emacsPackages.elpaca: add normalcea as maintainer --- .../emacs/elisp-packages/manual-packages/elpaca/default.nix | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/elpaca/default.nix b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/elpaca/default.nix index 478fe166650f..c19d0f6b8a21 100644 --- a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/elpaca/default.nix +++ b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/elpaca/default.nix @@ -25,6 +25,9 @@ melpaBuild { homepage = "https://github.com/progfolio/elpaca"; description = "Elisp package manager"; license = lib.licenses.gpl3Plus; - maintainers = with lib.maintainers; [ abhisheksingh0x558 ]; + maintainers = with lib.maintainers; [ + abhisheksingh0x558 + normalcea + ]; }; } From 515ed78687e9919b518097117e4066a06eb47d4c Mon Sep 17 00:00:00 2001 From: Jasi Date: Sun, 14 Dec 2025 21:11:52 -0500 Subject: [PATCH 2/2] emacsPackages.elpaca: 0-unstable-2025-02-16 -> 0-unstable-2025-11-06 --- .../manual-packages/elpaca/default.nix | 49 +++++++++++++++++-- 1 file changed, 44 insertions(+), 5 deletions(-) diff --git a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/elpaca/default.nix b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/elpaca/default.nix index c19d0f6b8a21..6c7883418d78 100644 --- a/pkgs/applications/editors/emacs/elisp-packages/manual-packages/elpaca/default.nix +++ b/pkgs/applications/editors/emacs/elisp-packages/manual-packages/elpaca/default.nix @@ -6,24 +6,63 @@ lib, }: -melpaBuild { +melpaBuild rec { pname = "elpaca"; - version = "0-unstable-2025-02-16"; + version = "0-unstable-2025-11-06"; src = fetchFromGitHub { owner = "progfolio"; repo = "elpaca"; - rev = "07b3a653e2411f4d4b5902af1c9b3f159e07bec5"; - hash = "sha256-+YJX2BJxH3D5u7YC/yJskZu0F4Nlat3ZROe+RCZGq9w="; + rev = "b5ef5f19ac1224853234c9acdac0ec9ea1c440a1"; + hash = "sha256-EZ9emYTweRZzMKxZu9nbAaGgE2tInaL7KCKvJ5TaD0g="; }; nativeBuildInputs = [ git ]; + # Moves extensions into the source root directory to install them. + # Disables warnings related to being used with package.el and not matching the installer + # Points the elpaca-repos-directory to the installed package in the nix store + postPatch = + let + siteVersion = lib.concatStrings (lib.drop 2 (lib.splitVersion version)); + in + '' + mv extensions/* . + substituteInPlace elpaca.el \ + --replace-fail "lwarn '(elpaca installer)" \ + "ignore '(elpaca installer)" \ + --replace-fail "warn \"Package.el" \ + "ignore \"Package.el" \ + --replace-fail "(expand-file-name \"elpaca/\" elpaca-repos-directory)" \ + "\"${placeholder "out"}/share/emacs/site-lisp/elpa/elpaca-${siteVersion}.0\"" + ''; + passthru.updateScript = unstableGitUpdater { }; meta = { + description = "Elisp package manager and replacement for package.el"; + longDescription = '' + Elpaca is an elisp package manager. It allows users to find, + install, update, and remove third-party packages for Emacs. It + is a replacement for the built-in Emacs package manager, + package.el. + + Elpaca: + - Installs packages asynchronously, in parallel for fast, non-blocking installations. + - Includes a flexible UI for finding and operating on packages. + - Downloads packages from their sources for convenient elisp development. + - Supports thousands of elisp packages out of the box (MELPA, NonGNU/GNU ELPA, Org/org-contrib). + - Makes it easy for users to create their own ELPAs. + + Elpaca has been adapted for Emacs managed via Nix. To activate + Elpaca, this snippet can be used within your init.el: + + ```elisp + (add-hook 'after-init-hook #'elpaca-process-queues) + (elpaca-use-package-mode) ;; Optional, for use-package support + ``` + ''; homepage = "https://github.com/progfolio/elpaca"; - description = "Elisp package manager"; license = lib.licenses.gpl3Plus; maintainers = with lib.maintainers; [ abhisheksingh0x558