{"id":13646648,"url":"https://github.com/quelpa/quelpa-use-package","last_synced_at":"2025-04-21T21:31:08.825Z","repository":{"id":35743342,"uuid":"40022325","full_name":"quelpa/quelpa-use-package","owner":"quelpa","description":"Emacs quelpa handler for use-package","archived":false,"fork":false,"pushed_at":"2022-08-22T18:20:44.000Z","size":44,"stargazers_count":130,"open_issues_count":2,"forks_count":16,"subscribers_count":10,"default_branch":"master","last_synced_at":"2024-02-17T07:36:24.066Z","etag":null,"topics":["emacs","package-manager","quelpa","use-package"],"latest_commit_sha":null,"homepage":"","language":"Emacs Lisp","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/quelpa.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-07-31T19:51:35.000Z","updated_at":"2024-02-12T13:03:36.000Z","dependencies_parsed_at":"2022-08-08T11:00:39.655Z","dependency_job_id":null,"html_url":"https://github.com/quelpa/quelpa-use-package","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/quelpa%2Fquelpa-use-package","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/quelpa%2Fquelpa-use-package/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/quelpa%2Fquelpa-use-package/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/quelpa%2Fquelpa-use-package/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/quelpa","download_url":"https://codeload.github.com/quelpa/quelpa-use-package/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250136673,"owners_count":21380875,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["emacs","package-manager","quelpa","use-package"],"created_at":"2024-08-02T01:03:01.913Z","updated_at":"2025-04-21T21:31:08.592Z","avatar_url":"https://github.com/quelpa.png","language":"Emacs Lisp","funding_links":[],"categories":["Emacs Lisp"],"sub_categories":[],"readme":"\u003ca href=\"https://github.com/quelpa/quelpa\"\u003e\u003cimg align=\"right\" src=\"https://github.com/quelpa/quelpa/raw/master/logo/quelpa-logo-h64.png\"\u003e\u003c/a\u003e\n# quelpa-use-package\n\n[![Build Status](https://travis-ci.org/quelpa/quelpa-use-package.svg?branch=master)](https://travis-ci.org/quelpa/quelpa-use-package)\n[![MELPA](https://melpa.org/packages/quelpa-use-package-badge.svg)](https://melpa.org/#/quelpa-use-package)\n[![MELPA Stable](https://stable.melpa.org/packages/quelpa-use-package-badge.svg)](https://stable.melpa.org/#/quelpa-use-package)\n\nIf you are using [use-package](https://github.com/jwiegley/use-package) (which can help to simplify your .emacs) you can use the [quelpa](https://github.com/quelpa/quelpa) handler provided by `quelpa-use-package`.\n\n## Installation\n\n**Requirements**: Emacs 25.1\n\nAssuming you have bootstrapped `quelpa`, install `quelpa-use-package` (which installs `use-package` as a dependency) and require the library:\n\n```cl\n(quelpa\n '(quelpa-use-package\n   :fetcher git\n   :url \"https://github.com/quelpa/quelpa-use-package.git\"))\n(require 'quelpa-use-package)\n```\n\n## Usage\n\nAfter that it is possible to call `use-package` with the `:quelpa` keyword:\n\n```cl\n;; installs abc-mode with quelpa\n(use-package abc-mode :quelpa)\n\n;; does the same (`t' is optional)\n(use-package abc-mode :quelpa t)\n\n;; again... (if the package would have another name)\n(use-package abc-mode :quelpa abc-mode)\n\n;; passes upgrade parameter to quelpa\n(use-package abc-mode :quelpa (:upgrade t))\n\n;; uses the given recipe\n(use-package abc-mode\n  :quelpa (abc-mode :fetcher github :repo \"mkjunker/abc-mode\"))\n\n;; recipe with plist arguments\n(use-package abc-mode\n  :quelpa ((abc-mode :fetcher github :repo \"mkjunker/abc-mode\") :upgrade t))\n```\n\nThe `quelpa` handler is compatible with [MELPA's recipe format](https://github.com/melpa/melpa#recipe-format). You may want to check the optional properties not mentioned above.\n\n### Using quelpa with `:ensure`\n\nTo make `:ensure t` use `quelpa` instead of `package.el` set the `use-package-ensure-function` in your init file:\n\n```cl\n(setq use-package-ensure-function 'quelpa)\n```\n\nAfter that:\n\n```cl\n(use-package abc-mode :ensure t)\n```\n\nwill install `abc-mode` with `quelpa`.\n\nAnd if you enable `use-package-always-ensure`:\n\n``` cl\n(setq use-package-always-ensure t)\n```\n\nthen\n\n``` cl\n(use-package abc-mode)\n```\n\nwill install `abc-mode` with `quelpa`.\n\n### Conditional execution\n\nNote that the `:quelpa` keyword is inserted after `:if`, `:when`, `:unless` and `:requires` so that you can make the installation of a package depend on some requirement, for example:\n\n```cl\n(use-package magit-filenotify\n  :when (fboundp 'file-notify-add-watch)\n  :quelpa (magit-filenotify :fetcher github :repo \"magit/magit-filenotify\")\n```\n\nIn this case `magit-filenotify` is only installed if the function `file-notify-add-watch` is bound.\n\nLikewise you can use `:requires` to make the installation depend on a feature being available:\n\n```cl\n(use-package magit-filenotify\n  :requires filenotify\n  :quelpa (magit-filenotify :fetcher github :repo \"magit/magit-filenotify\"))\n```\n\n### Overriding `use-package-always-ensure`\n\nTo install some packages with quelpa but use `use-package-always-ensure` to install all others from an ELPA repo `:ensure` needs to be disabled if the `:quelpa` keyword is found.\n\n`quelpa-use-package` provides an advice for this purpose which can be activated thus:\n\n```cl\n(quelpa-use-package-activate-advice)\n```\n\nTo disable it again you can use:\n\n```cl\n(quelpa-use-package-deactivate-advice)\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fquelpa%2Fquelpa-use-package","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fquelpa%2Fquelpa-use-package","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fquelpa%2Fquelpa-use-package/lists"}