Loading pkgs/applications/editors/emacs/elisp-packages/manual-packages/elpaca/default.nix +5 −44 Original line number Diff line number Diff line Loading @@ -6,63 +6,24 @@ lib, }: melpaBuild rec { melpaBuild { pname = "elpaca"; version = "0-unstable-2025-11-06"; version = "0-unstable-2025-02-16"; src = fetchFromGitHub { owner = "progfolio"; repo = "elpaca"; rev = "b5ef5f19ac1224853234c9acdac0ec9ea1c440a1"; hash = "sha256-EZ9emYTweRZzMKxZu9nbAaGgE2tInaL7KCKvJ5TaD0g="; rev = "07b3a653e2411f4d4b5902af1c9b3f159e07bec5"; hash = "sha256-+YJX2BJxH3D5u7YC/yJskZu0F4Nlat3ZROe+RCZGq9w="; }; 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 Loading Loading
pkgs/applications/editors/emacs/elisp-packages/manual-packages/elpaca/default.nix +5 −44 Original line number Diff line number Diff line Loading @@ -6,63 +6,24 @@ lib, }: melpaBuild rec { melpaBuild { pname = "elpaca"; version = "0-unstable-2025-11-06"; version = "0-unstable-2025-02-16"; src = fetchFromGitHub { owner = "progfolio"; repo = "elpaca"; rev = "b5ef5f19ac1224853234c9acdac0ec9ea1c440a1"; hash = "sha256-EZ9emYTweRZzMKxZu9nbAaGgE2tInaL7KCKvJ5TaD0g="; rev = "07b3a653e2411f4d4b5902af1c9b3f159e07bec5"; hash = "sha256-+YJX2BJxH3D5u7YC/yJskZu0F4Nlat3ZROe+RCZGq9w="; }; 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 Loading