--text follows this line-- Can list-packages be made to work with packages from git repositories Here are some ideas on how to integrate it. 1. User has to set some new list-packages preferences. ;; places to look for sources, ordered by preference (setq preference-of-source '(git melpa other1 other2)) ;; if more than one source, only show one with highest preference (setq only-show-one-source t) ;; change prefered source for these exceptions - '(package source opts) (setq exceptions '((package-x melpa) (package-y nil '((branch . "bleeding edge")) (setq default-branch 'master) 2. A list of known useful git sources is maintained within emacs. (setq available-git-packages '((package1 . get-recipe1) (package2 . get-recipe2)) el-get already maintains a list of get-recipes for packages from various sources git (url), github, wiki... 3. Then M-x list-packages works like it normally does. when install is run it calls something like el-get with associated recipe. 4. a key binding is available to click on package and change get-recipe. i.e. set branch, tag, description, website, build instructions 5. If a git recipe is changed, a copy of the default is placed in a user specified directory `users-git-recipe-dir'. Changes are made to that recipe. Any recipies in this directory will overshadow the default recipies of the same name. This is so that after an update the users changes are not overwritten. In GNU Emacs 25.1.50.2 (x86_64-pc-linux-gnu, GTK+ Version 3.14.5) of 2016-08-25 built on penguin Repository revision: 95c82efdb141029de89d9136a9ce4fe907de7c5e Windowing system distributor 'The X.Org Foundation', version 11.0.11604000 System Description: Debian GNU/Linux 8.9 (jessie) Recent messages: Quit [9 times] buffer evaluated Mark set Repeating command dabbrev-expand-dem [5 times] Scanning for dabbrevs...done user-error: No further dynamic expansion for ‘o’ found Repeating command dabbrev-expand-dem [6 times] Scanning for dabbrevs...done user-error: No further dynamic expansion for ‘o’ found Auto-saving...done Configured features: XPM JPEG TIFF GIF PNG RSVG IMAGEMAGICK SOUND DBUS GSETTINGS NOTIFY GNUTLS LIBXML2 FREETYPE XFT ZLIB TOOLKIT_SCROLL_BARS GTK3 X11 Important settings: value of $LANG: en_GB.utf8 locale-coding-system: utf-8 Major mode: Emacs-Lisp Minor modes in effect: show-paren-mode: t global-company-mode: t company-mode: t spaceline-info-mode: t spaceline-helm-mode: t beacon-mode: t global-auto-complete-mode: t auto-complete-mode: t yas-global-mode: t yas-minor-mode: t save-place-mode: t Info-breadcrumbs-in-mode-line-mode: t global-evil-surround-mode: t evil-surround-mode: t evil-mode: t evil-local-mode: t diff-hl-flydiff-mode: t global-diff-hl-mode: t diff-hl-mode: t global-git-commit-mode: t visible-mark-mode: t winner-mode: t savehist-mode: t recentf-mode: t window-numbering-mode: t shell-dirtrack-mode: t helm-descbinds-mode: t global-auto-revert-mode: t flx-ido-mode: t ido-everywhere: t diff-auto-refine-mode: t override-global-mode: t tooltip-mode: t global-eldoc-mode: t electric-indent-mode: t mouse-wheel-mode: t file-name-shadow-mode: t global-font-lock-mode: t font-lock-mode: t blink-cursor-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t transient-mark-mode: t abbrev-mode: t Load-path shadows: ~/.emacs.d/icicles/hexrgb hides ~/.emacs.d/el-get/hexrgb/hexrgb ~/.emacs.d/el-get/spaceline/tests hides ~/.emacs.d/el-get/toggle-it/tests /home/dericbytes/.emacs.d/el-get/ol-mad/init/kb-ol-mad hides /home/dericbytes/emacs-config/dem/kb-dem/kb-ol-mad /home/dericbytes/.emacs.d/el-get/ol-mad/init/kb-ol-select-face-mode-map hides /home/dericbytes/emacs-config/dem/kb-dem/kb-ol-select-face-mode-map /home/dericbytes/.emacs.d/el-get/ol-mad/init/kb-ol-select-mode-map hides /home/dericbytes/emacs-config/dem/kb-dem/kb-ol-select-mode-map /home/dericbytes/.emacs.d/el-get/ol-mad/init/init-ol-mad hides /home/dericbytes/emacs-config/dem/setup-dem/init-ol-mad /home/dericbytes/emacs-config/dem/libs-dem/my-shift-mode hides /home/dericbytes/emacs-config/dem/setup-dem/my-shift-mode ~/.emacs.d/el-get/dired-hacks/dired-hacks-utils hides /home/dericbytes/.emacs.d/elpa/dired-hacks-utils-20160527.1436/dired-hacks-utils ~/.emacs.d/el-get/expand-region/python-mode-expansions hides /home/dericbytes/.emacs.d/elpa/expand-region-20160729.131/python-mode-expansions ~/.emacs.d/el-get/expand-region/python-el-expansions hides /home/dericbytes/.emacs.d/elpa/expand-region-20160729.131/python-el-expansions ~/.emacs.d/el-get/expand-region/web-mode-expansions hides /home/dericbytes/.emacs.d/elpa/expand-region-20160729.131/web-mode-expansions ~/.emacs.d/el-get/expand-region/feature-mode-expansions hides /home/dericbytes/.emacs.d/elpa/expand-region-20160729.131/feature-mode-expansions ~/.emacs.d/el-get/expand-region/erlang-mode-expansions hides /home/dericbytes/.emacs.d/elpa/expand-region-20160729.131/erlang-mode-expansions ~/.emacs.d/el-get/expand-region/nxml-mode-expansions hides /home/dericbytes/.emacs.d/elpa/expand-region-20160729.131/nxml-mode-expansions ~/.emacs.d/el-get/expand-region/js-mode-expansions hides /home/dericbytes/.emacs.d/elpa/expand-region-20160729.131/js-mode-expansions ~/.emacs.d/el-get/expand-region/er-basic-expansions hides /home/dericbytes/.emacs.d/elpa/expand-region-20160729.131/er-basic-expansions ~/.emacs.d/el-get/expand-region/cc-mode-expansions hides /home/dericbytes/.emacs.d/elpa/expand-region-20160729.131/cc-mode-expansions ~/.emacs.d/el-get/expand-region/the-org-mode-expansions hides /home/dericbytes/.emacs.d/elpa/expand-region-20160729.131/the-org-mode-expansions ~/.emacs.d/el-get/expand-region/expand-region-custom hides /home/dericbytes/.emacs.d/elpa/expand-region-20160729.131/expand-region-custom ~/.emacs.d/el-get/expand-region/ruby-mode-expansions hides /home/dericbytes/.emacs.d/elpa/expand-region-20160729.131/ruby-mode-expansions ~/.emacs.d/el-get/expand-region/python-el-fgallina-expansions hides /home/dericbytes/.emacs.d/elpa/expand-region-20160729.131/python-el-fgallina-expansions ~/.emacs.d/el-get/expand-region/expand-region-core hides /home/dericbytes/.emacs.d/elpa/expand-region-20160729.131/expand-region-core ~/.emacs.d/el-get/expand-region/clojure-mode-expansions hides /home/dericbytes/.emacs.d/elpa/expand-region-20160729.131/clojure-mode-expansions ~/.emacs.d/el-get/expand-region/js2-mode-expansions hides /home/dericbytes/.emacs.d/elpa/expand-region-20160729.131/js2-mode-expansions ~/.emacs.d/el-get/expand-region/cperl-mode-expansions hides /home/dericbytes/.emacs.d/elpa/expand-region-20160729.131/cperl-mode-expansions ~/.emacs.d/el-get/expand-region/subword-mode-expansions hides /home/dericbytes/.emacs.d/elpa/expand-region-20160729.131/subword-mode-expansions ~/.emacs.d/el-get/expand-region/html-mode-expansions hides /home/dericbytes/.emacs.d/elpa/expand-region-20160729.131/html-mode-expansions ~/.emacs.d/el-get/expand-region/sml-mode-expansions hides /home/dericbytes/.emacs.d/elpa/expand-region-20160729.131/sml-mode-expansions ~/.emacs.d/el-get/expand-region/jsp-expansions hides /home/dericbytes/.emacs.d/elpa/expand-region-20160729.131/jsp-expansions ~/.emacs.d/el-get/expand-region/text-mode-expansions hides /home/dericbytes/.emacs.d/elpa/expand-region-20160729.131/text-mode-expansions ~/.emacs.d/el-get/expand-region/enh-ruby-mode-expansions hides /home/dericbytes/.emacs.d/elpa/expand-region-20160729.131/enh-ruby-mode-expansions ~/.emacs.d/el-get/expand-region/expand-region hides /home/dericbytes/.emacs.d/elpa/expand-region-20160729.131/expand-region ~/.emacs.d/el-get/expand-region/octave-expansions hides /home/dericbytes/.emacs.d/elpa/expand-region-20160729.131/octave-expansions ~/.emacs.d/el-get/expand-region/css-mode-expansions hides /home/dericbytes/.emacs.d/elpa/expand-region-20160729.131/css-mode-expansions ~/.emacs.d/el-get/expand-region/latex-mode-expansions hides /home/dericbytes/.emacs.d/elpa/expand-region-20160729.131/latex-mode-expansions ~/.emacs.d/el-get/expand-region/expand-region-pkg hides /home/dericbytes/.emacs.d/elpa/expand-region-20160729.131/expand-region-pkg ~/.emacs.d/el-get/dash/dash hides /home/dericbytes/.emacs.d/elpa/dash-20160820.501/dash /home/dericbytes/.emacs.d/el-get/use-package/use-package hides /home/dericbytes/.emacs.d/elpa/use-package-20160815.1137/use-package ~/.emacs.d/el-get/diminish/diminish hides /home/dericbytes/.emacs.d/elpa/diminish-20151215.915/diminish /home/dericbytes/.emacs.d/el-get/use-package/bind-key hides /home/dericbytes/.emacs.d/elpa/bind-key-20160227.48/bind-key ~/.emacs.d/el-get/cl-lib/cl-lib hides /usr/local/share/emacs/25.1.50/lisp/emacs-lisp/cl-lib Features: (shadow sort mail-extr emacsbug sendmail tramp-cache semantic/ia semantic/analyze/refs semantic/db-find semantic/db-ref semantic/senator semantic/decorate pulse semantic/analyze semantic/sort semantic/scope semantic/analyze/fcn semantic/ctxt semantic/format semantic/tag-ls semantic/find jka-compr eieio-opt speedbar sb-image ezimage dframe ace-kill-to-char-dem init-ace-jump-mode ace-jump-mode htmlize repeat emacs-chunky-init-linux.el init-use-package-load-packages lispy lispy-inline semantic/db eieio-base semantic/util-modes semantic/util semantic semantic/tag semantic/lex semantic/fw mode-local cedet lispy-tags hydra lv backward-char-delete-defadvice icicles mb-depth two-column icicles-mode icicles-cmd2 completion icicles-cmd1 cookie1 icicles-mcmd image-dired doremi filesets icicles-fn icicles-var icicles-opt cus-theme icicles-face icicles-mac lorem-ipsum sticky-scroll-mode-dem overlay-copy-visible init-completion projectile init-dust init-html-mode init-elisp paren init-char-menu char-menu init-c-mode color-utils-dem palette eyedropper hexrgb init-company-mode company-files company-oddmuse company-keywords company-etags company-gtags company-dabbrev-code company-dabbrev company-capf company-cmake company-xcode company-clang company-semantic company-eclim company-template company-css company-nxml company-bbdb company pp-utils-dem avy-utils avy-menu init-avy avy pop-up-buffer-dem init-which-key which-key init-google-translate google-translate google-translate-default-ui google-translate-core-ui google-translate-core google-translate-tk init-swiper swiper ivy ivy-overlay define-words-tweaked url-http tls gnutls url url-proxy url-privacy url-expand url-methods url-history mailcap url-auth url-cookie url-domsuf url-util url-gw nsm words-utils-dem align-commands align-x-my align search-utils-dem init-spaceline powerline-major-mode-tweak-dem spaceline-faces-dem spaceline-segments-dem spaceline-config spaceline-segments spaceline init-powerline powerline powerline-separators powerline-themes init-mode-line time dnt-toggle-theme-dem mode-line-color-themes-dem color-theme init-beacon beacon read-utils-dem overlay-utils-dem use-package-loader-dem init-temp-buffer jump-utils-dem init-node-js node-js-utils-dem keep-buffers related-files-dem kb-mode-specific-setup mode-specific-map-switcher-dem init-messages-buffer-mode kb-messages-buffer-mode-setup buffer-utils-dem wget-utils-dem line-utils-dem string-utils-dem string-convert-utils-dem paste-utils-dem set-variable-at-point-dem window-utils-dem-utils-dem wmctrl-utils-dem display-it-utils kill-inner-dem scroll-utils-dem smooth-scrolling init-scrolling overwrite-repeat winsize-mode change-utils-dem init-offlineimap offlineimap margin-utils init-epa-easy-pgp epa-file rectangle-alphabet-lines-dem mark-utils-dem init-window init-custom-file narrow-to-utils-dem help-utils-dem init-auto-complete-config kb-auto-complete-setup ac-start-ui ac-start-cached-funcs-file ac-sources-dem ac-candidates-bundle-dem ac-candicate-words-in-buffer-flex-dem ac-candicate-words-in-buffer-dem flex-utils-dem auto-complete-etags flycheck json map flymake ac-complete-sticky-dem-mode fuzzy auto-complete-config auto-complete grep-utils-dem init-imenu init-electric-mode elec-pair hippie-expand-flex hippie-exp comment-dwim init-dabbrev mdabbrev dabbrev prefix-mark-smart-dem edit-var edit-env kb-loccur-move-mode-setup loccur-move-mode loccur init-ffap ffap init-toggle-it-words-and-lists toggle-it toggle-it-dwim increment-at-point-dem kill-this-buffer-dem switch-to-last-buffer-dem kb-yasnippet-setup yasnippet-utils-dem init-yasnippet yasnippet init-query-replace-regexp kb-log-edit-mode-setup my-recover-this-file-alert macrostep safe-movement-dem paredit-utils-dem paredit kill-buffer-defadvice-dem copy-utils-dem init-abbrev init-saveplace saveplace init-find-file-hook copy-visible-text hideshow kb-help-mode-setup help-mode-utils-dem init-regex-grab-dem regex-grab-dem kb-info-setup info-utils-dem info+ info kill-whitespace-utils-dem date-and-time-utils-dem indent-utils-dem expand-utils-dem init-server replace-utils-dem kill-utils-dem init-markit markit read-list-dem init-ert ert-tweaks-dem ert-utils-dem ert debug init-unbound unbound init-evil repeat-defadvice evil-nerd-commenter-utils-dem init-evil-nerd-commenter evil-nerd-commenter evil-nerd-commenter-operator evil-utils-dem init-evil-surround evil-surround goto-last-change evil evil-integration evil-maps evil-commands flyspell ispell evil-jumps evil-command-window evil-types evil-search evil-ex evil-macros evil-repeat evil-states evil-core evil-common windmove evil-digraphs evil-vars init-coding-system comint-utils-dem shell-command-utils-dem eval-utils-dem init-eval hide-region init-hide-lines hide-search hide-lines dedicated diff-hl-dired diff-hl-flydiff diff diff-hl vc-dir ewoc git-gutter+ init-git-grep git-utils-dem init-magit magit-utils-dem magit-blame magit-stash magit-bisect magit-remote magit-commit magit-sequence magit magit-apply magit-wip magit-log magit-diff smerge-mode magit-core magit-process magit-popup magit-mode magit-git crm magit-section magit-utils git-commit help-fns radix-tree log-edit message subr-x puny rfc822 mml mml-sec epa epg gnus-util rmail rmail-loaddefs mm-decode mm-bodies mm-encode mail-parse rfc2231 rfc2047 rfc2045 mm-util ietf-drums mail-prsvr mailabbrev mail-utils gmm-utils mailheader pcvs-util add-log with-editor tramp-sh tramp tramp-compat tramp-loaddefs trampver ucs-normalize server run-emacs-in-another-process-cmds gse-number-rect wgrep init-grep grep compile kmacro-self-save-key my-macros kmacro-utils-dem init-ediff ediff-utils-dem ediff-merg ediff-wind ediff-diff ediff-mult ediff-help ediff-init ediff-util ediff diff-regions-view-diffs init-diff diff-utils-dem edit-list-dem init-occur replace+ conver-web-chars-dem display-keybindings toggle-quotes my-play-sound take-a-break-alert my-repeat-complex-command my-key-helper my-hook-helper locate-dem my-syntax-utils change-mode-dem run-on-point hfyview htmlfontify htmlfontify-loaddefs cus-edit cus-start cus-load init-replace-chars xfrp_find_replace_pairs mv2char compile-utils-dem goto-file-dem init-multiple-cursors multiple-cursors mc-hide-unmatched-lines-mode mc-separate-operations rectangular-region-mode mc-mark-pop mc-mark-more mc-cycle-cursors mc-edit-lines multiple-cursors-core rect quote-words-dem move-line-unknown init-cheatsheet-menus-dem cheatsheet-menus-dem move-text-up-n-down init-split-window init-markdown-mode markdown-utils-dem markdown-mode rx color file-utils-dem init-before-save-hook unbind le-eval-and-insert-results pp+ buffer-register-dem register-self-do-functions-dem register-utils-dem rectangle-utils-dem change-inner expand-region-and-send-to-kill-defadvice expand-region text-mode-expansions cc-mode-expansions the-org-mode-expansions js2-mode-expansions js-mode-expansions er-basic-expansions expand-region-core expand-region-custom group-of-blank-lines regex-thing quoted-symbol-thing non-whitespace-thing-dem email-thing double-quote-thing thing-movement-dem thing-at-point-utils-dem thing-cmds thingatpt+ hide-comnt init-vc-mode vc vc-dispatcher toggle-window-split2 init-visible-mark visible-mark my-wrap-region iedit iedit-lib my-diff-autosave init-winner-mode winner init-qasm qasm-mode thingatpt init-hexcolour init-package-menu-mode init-package init-hot-swap-actions hot-swap-actions-window-control hot-swap-actions hot-swap-v3 init-text-mode kb-browse-kill-ring-setup browse-kill-ring-defadvice browse-kill-ring-utils-dem init-browse-kill-ring browse-kill-ring+ browse-kill-ring kill-ring-save-after-kill-new init-isearch init-coding init-programming kb-image-dired-viewer-setup image-dired-viewer-dem dired-view-file-next image-dired-utils-dem view xahlee-functions my-data-functions init-tags my-make-tag-file retrospective-functions forward-sexp-defav-dem ibuffer-vc ibuf-ext ibuffer-utils-dem ibuffer ibuffer-loaddefs init-ibuffer ibuf-macs init-history savehist minibuffer-utils-dem init-minibuffer init-hippie-expand hippie-expand-end-of-line-dem hippie-expand-custom-function-example my-insert-debug init-bash comint-twirler-hack shell-command shell-mode-utils-dem init-filecache file-alist-add-new-file-ui file-alist-dem find-lisp my-help-alist help-menu-source git-browse-file-history-dem etags xref project tag-utils-dem filecache my-list-utils init-bookmark bookmark pp sdo sdo-helm sdo-ido sdo-build-src-ui-reader sdo-manage-sdo-source-files mlist init-js2-mode js2-mode derived cc-mode cc-fonts cc-guess cc-menus cc-styles cc-align cc-cmds cc-engine cc-vars cc-defs init-recentf recentf tree-widget wid-edit extra-functions hl-line init-linum-relative linum-relative linum init-copy-and-paste init-general init-window-numbering window-numbering repeat-utils-dem org-babel-dependent-blocks-write-dem org-babel-dependent-blocks-dem init-org-babel ob-gnuplot ob-lisp ob-org ob-sql ob-shell shell ob-js ob-perl ob-python init-org-capture org-capture-utils-dem org-capture org-key-bindings-dem org-narrow-to-block-dem org-table-lisp-to-table-dem kb-org-src-edit-setup org-faces-dem init-org-publish ox-odt rng-loc rng-uri rng-parse rng-match rng-dt rng-util rng-pttrn nxml-parse nxml-ns nxml-enc xmltok nxml-util ox-latex ox-icalendar ox-html table ox-ascii ox-publish ox org-babel-utils-dem org-bmk-jump-dem org-use-speed-commands org-table org-show-next-heading org-helper-functions occur-utils-dem org-clock org-mode-utils-dem init-org-mode helm-descbinds helm helm-source eieio-compat helm-multi-match helm-lib dired-narrow delsel dired-subtree dired-hacks-utils defadvice-dired-create-dir-when-needed dired-add-to-recent init-dired dired-browse-file dired-utils-dem dired dired-loaddefs helm-key-bindings-setup-dem helm-flex-match-dem ido-flex-match-sf helm-utils-dem helm-config helm-autoloads helm-easymenu popup mad-tests ol-select-face-mode ol-mark-generate-face ol-select-mode ol-select-mode-chained ol-match-faces ol-mad2 ol mad init-edebug edebug init-undo init-auto-revert-mode autorevert filenotify s dash digit-argument-utils-dem ido-goto-symbol imenu ido-sticky-mode-dem init-ido init-flx-ido flx-ido flx ido init-aliases kb-insert-keys kb-do-and-continue kb-funcall-keymap kb-display-keymap-hacks init-kb-load-keys kb-toggle-it-mode-setup init-kb kb-keymap-utils cl kb-display-keymap-help kb-calling-keymap kb-numeric-keys-to-symbols vc-git diff-mode init-p-scratch-goto-dem p-scratch-goto-dem init-use-package init-diminish use-package diminish bind-key org-element avl-tree org org-macro org-footnote org-pcomplete pcomplete org-list org-faces org-entities noutline outline easy-mmode org-version ob-emacs-lisp ob ob-tangle org-src ob-ref ob-lob ob-table ob-keys ob-exp ob-comint comint ansi-color ring ob-core ob-eval org-compat advice org-macs org-loaddefs format-spec find-func cal-menu calendar cal-loaddefs init edmacro kmacro finder-inf package epg-config url-handlers url-parse auth-source cl-seq eieio eieio-core cl-macs eieio-loaddefs password-cache url-vars seq byte-opt gv bytecomp byte-compile cl-extra help-mode easymenu cconv cl-loaddefs pcase cl-lib time-date mule-util tooltip eldoc electric uniquify ediff-hook vc-hooks lisp-float-type mwheel term/x-win x-win term/common-win x-dnd tool-bar dnd fontset image regexp-opt fringe tabulated-list newcomment elisp-mode lisp-mode prog-mode register page menu-bar rfn-eshadow timer select scroll-bar mouse jit-lock font-lock syntax facemenu font-core term/tty-colors frame cl-generic cham georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean japanese eucjp-ms cp51932 hebrew greek romanian slovak czech european ethiopic indian cyrillic chinese charscript case-table epa-hook jka-cmpr-hook help simple abbrev obarray minibuffer cl-preloaded nadvice loaddefs button faces cus-face macroexp files text-properties overlay sha1 md5 base64 format env code-pages mule custom widget hashtable-print-readable backquote dbusbind inotify dynamic-setting system-font-setting font-render-setting move-toolbar gtk x-toolkit x multi-tty make-network-process emacs) Memory information: ((conses 16 1414531 1121976) (symbols 48 79348 56) (miscs 40 624 1576) (strings 32 231288 335702) (string-bytes 1 8107276) (vectors 16 89677) (vector-slots 8 1397114 160508) (floats 8 1810 2369) (intervals 56 3380 2715) (buffers 976 19) (heap 1024 101323 74062))