mirror of
https://github.com/emacscollective/emacs.g.git
synced 2025-11-23 11:41:18 -05:00
Merge branch 'master' into drone/pdf-tools
This commit is contained in:
1
.gitignore
vendored
1
.gitignore
vendored
@@ -1,4 +1,5 @@
|
||||
/.cask
|
||||
/.hive-maint
|
||||
/custom.el
|
||||
/elpa
|
||||
/var
|
||||
|
||||
18
.gitmodules
vendored
18
.gitmodules
vendored
@@ -24,15 +24,20 @@
|
||||
[submodule "epkg"]
|
||||
path = lib/epkg
|
||||
url = git@github.com:emacscollective/epkg.git
|
||||
[submodule "finalize"]
|
||||
path = lib/finalize
|
||||
url = git@github.com:skeeto/elisp-finalize.git
|
||||
[submodule "ghub"]
|
||||
path = lib/ghub
|
||||
url = git@github.com:magit/ghub.git
|
||||
[submodule "git-modes"]
|
||||
path = lib/git-modes
|
||||
url = git@github.com:magit/git-modes.git
|
||||
[submodule "libgit"]
|
||||
path = lib/libgit
|
||||
url = git@github.com:magit/libegit2.git
|
||||
build-step = make
|
||||
[submodule "magit"]
|
||||
path = lib/magit
|
||||
url = git@github.com:magit/magit.git
|
||||
recursive-byte-compile = true
|
||||
info-path = Documentation
|
||||
[submodule "packed"]
|
||||
path = lib/packed
|
||||
@@ -44,6 +49,13 @@
|
||||
build-step = make
|
||||
build-step = borg-byte-compile
|
||||
build-step = borg-update-autoloads
|
||||
[submodule "transient"]
|
||||
path = lib/transient
|
||||
url = git@github.com:magit/transient.git
|
||||
info-path = docs
|
||||
[submodule "treepy"]
|
||||
path = lib/treepy
|
||||
url = git@github.com:volrath/treepy.el.git
|
||||
[submodule "use-package"]
|
||||
path = lib/use-package
|
||||
url = git@github.com:jwiegley/use-package.git
|
||||
|
||||
15
LICENSE
Normal file
15
LICENSE
Normal file
@@ -0,0 +1,15 @@
|
||||
Copyright 2016-2019 Jonas Bernoulli
|
||||
|
||||
Permission to use, copy, modify, and/or distribute this software for
|
||||
any purpose with or without fee is hereby granted, provided that the
|
||||
above copyright notice and this permission notice appear in all
|
||||
copies.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
|
||||
WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
|
||||
WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
|
||||
AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
|
||||
DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA
|
||||
OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
|
||||
TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
PERFORMANCE OF THIS SOFTWARE.
|
||||
56
Makefile
56
Makefile
@@ -1,51 +1,7 @@
|
||||
# Copyright (C) 2016-2017 Jonas Bernoulli
|
||||
#
|
||||
# Author: Jonas Bernoulli <jonas@bernoul.li>
|
||||
# License: GPL v3 <https://www.gnu.org/licenses/gpl-3.0.txt>
|
||||
-include lib/borg/borg.mk
|
||||
|
||||
EMACS ?= emacs
|
||||
|
||||
.PHONY: all help build build-init quick bootstrap
|
||||
.FORCE:
|
||||
|
||||
all: build
|
||||
|
||||
help:
|
||||
$(info )
|
||||
$(info make [all|build] = rebuild all drones and init files)
|
||||
$(info make quick = rebuild most drones and init files)
|
||||
$(info make lib/DRONE = rebuild DRONE)
|
||||
$(info make build-init = rebuild init files)
|
||||
$(info make bootstrap = bootstrap collective or new drones)
|
||||
@printf "\n"
|
||||
|
||||
build:
|
||||
@rm -f init.elc
|
||||
@$(EMACS) -Q --batch -L lib/borg --load borg \
|
||||
--funcall borg-initialize \
|
||||
--funcall borg-batch-rebuild 2>&1
|
||||
|
||||
build-init:
|
||||
@rm -f init.elc
|
||||
@$(EMACS) -Q --batch -L lib/borg --load borg \
|
||||
--funcall borg-initialize \
|
||||
--funcall borg-batch-rebuild-init 2>&1
|
||||
|
||||
quick:
|
||||
@rm -f init.elc
|
||||
@$(EMACS) -Q --batch -L lib/borg --load borg \
|
||||
--funcall borg-initialize \
|
||||
--eval '(borg-batch-rebuild t)' 2>&1
|
||||
|
||||
lib/%: .FORCE
|
||||
@$(EMACS) -Q --batch -L lib/borg --load borg \
|
||||
--funcall borg-initialize \
|
||||
--eval '(borg-build "$(@F)")' 2>&1
|
||||
|
||||
bootstrap:
|
||||
@printf "\n=== Running 'git submodule init' ===\n\n"
|
||||
@git submodule init
|
||||
@printf "\n=== Running 'bin/borg-bootstrap' ===\n"
|
||||
@bin/borg-bootstrap
|
||||
@printf "\n=== Running 'make build' ===\n\n"
|
||||
@make build
|
||||
bootstrap-borg:
|
||||
@git submodule--helper clone --name borg --path lib/borg \
|
||||
--url git@github.com:emacscollective/borg.git
|
||||
@cd lib/borg; git symbolic-ref HEAD refs/heads/master
|
||||
@cd lib/borg; git reset --hard HEAD
|
||||
|
||||
29
README.md
29
README.md
@@ -6,7 +6,7 @@ Assimilate Emacs packages as Git submodules
|
||||
About `borg.el`
|
||||
---------------
|
||||
|
||||
[Borg][repo] is a bare-bones package manager for Emacs packages. It
|
||||
[Borg] is a bare-bones package manager for Emacs packages. It
|
||||
provides only a few essential features and should be combined with
|
||||
other tools such as Magit, `epkg`, `use-package`, and `auto-compile`.
|
||||
|
||||
@@ -30,32 +30,13 @@ Or you can just update and further configure these drones as you would
|
||||
update the drones you have assimilated yourself.
|
||||
|
||||
If you do base your own configuration on this collective and make it
|
||||
publically available as source of inspiration for others, then please
|
||||
publicly available as source of inspiration for others, then please
|
||||
do so by forking the upstream repository, which is available from
|
||||
[Github][gh-this], [Gitlab][gl-this], and [Bitbucket][bb-this].
|
||||
[Github].
|
||||
|
||||
You might also want to adjust this description.
|
||||
|
||||
Other collectives
|
||||
-----------------
|
||||
|
||||
It is also possible to create collectives that can be shared between
|
||||
and worked on by many Emacs users, i.e. borg-based starter-kits.
|
||||
Check out alternative collectives by browsing the repositories owned
|
||||
by the `emacscollective` organisation/group/team, which is available
|
||||
on [Github][gh-all], [Gitlab][gl-all], and [Bitbucket][bb-all].
|
||||
|
||||
Another alternative is the `bootstrap` collective. It assimilates a
|
||||
single drone, `borg` itself, and is intended for users for whom even
|
||||
the `emacs.g` collective is to opinionated.
|
||||
|
||||
[init]: https://emacsair.me/2016/05/17/assimilate-emacs-packages-as-git-submodules
|
||||
[repo]: https://gitlab.com/tarsius/borg
|
||||
[Borg]: https://gitlab.com/tarsius/borg
|
||||
[manual]: https://emacsmirror.net/manual/borg
|
||||
|
||||
[gh-this]: https://github.com/emacscollective/emacs.g
|
||||
[gl-this]: https://gitlab.com/emacscollective/emacs.g
|
||||
[bb-this]: https://bitbucket.com/emacscollective/emacs.g
|
||||
[gh-all]: https://github.com/emacscollective
|
||||
[gl-all]: https://gitlab.com/emacscollective
|
||||
[bb-all]: https://bitbucket.com/emacscollective
|
||||
[Github]: https://github.com/emacscollective/emacs.g
|
||||
|
||||
@@ -1,82 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
# Copyright (C) 2016-2017 Jonas Bernoulli
|
||||
#
|
||||
# Author: Jonas Bernoulli <jonas@bernoul.li>
|
||||
# License: GPL v3 <https://www.gnu.org/licenses/gpl-3.0.txt>
|
||||
|
||||
hive_remote=$(git config -f .gitmodules borg.collective)
|
||||
push_remote=$(git config -f .gitmodules borg.pushDefault)
|
||||
|
||||
toplevel=$(git rev-parse --show-toplevel)
|
||||
test -n "$toplevel" || exit 2
|
||||
cd "$toplevel"
|
||||
|
||||
git submodule--helper list |
|
||||
while read mode sha1 stage path
|
||||
do
|
||||
if test -e "$path" && ! test -e "$path"/.git
|
||||
then
|
||||
name=$(git submodule--helper name "$path")
|
||||
|
||||
echo "\n--- [$name] ---\n"
|
||||
|
||||
git submodule--helper clone \
|
||||
--name "$name" \
|
||||
--path "$path" \
|
||||
--url $(git config -f .gitmodules submodule."$name".url)
|
||||
|
||||
git config -f .gitmodules --get-all submodule."$name".remote |
|
||||
while read remote remote_url
|
||||
do
|
||||
if ! test -e "$path"/.git
|
||||
then
|
||||
git submodule--helper clone \
|
||||
--name "$name" \
|
||||
--path "$path" \
|
||||
--url "$remote_url" &&
|
||||
git remote rename origin "$remote"
|
||||
else
|
||||
cd "$path"
|
||||
git remote add "$remote" "$remote_url"
|
||||
git fetch "$remote"
|
||||
cd "$toplevel"
|
||||
fi
|
||||
|
||||
if test -e "$path"/.git
|
||||
then
|
||||
cd "$path"
|
||||
if test "$remote" = "$hive_remote"
|
||||
then
|
||||
if test -e "$toplevel/.hive-maint"
|
||||
then
|
||||
git config remote.pushDefault "$remote"
|
||||
else
|
||||
branch=$(git rev-parse --abbrev-ref HEAD)
|
||||
test -n "$branch" &&
|
||||
git config branch.master.remote "$remote"
|
||||
fi
|
||||
elif test "$remote" = "$push_remote"
|
||||
then
|
||||
git config remote.pushDefault "$remote"
|
||||
fi
|
||||
cd "$toplevel"
|
||||
fi
|
||||
done
|
||||
|
||||
if test -e "$path"/.git
|
||||
then
|
||||
cd "$path"
|
||||
if ! git reset --hard "$sha1"
|
||||
then
|
||||
echo >&2 "futile: Checkout of '$sha1' into submodule path '$path' failed"
|
||||
git reset --hard HEAD
|
||||
exit 1
|
||||
fi
|
||||
cd "$toplevel"
|
||||
else
|
||||
echo >&2 "futile: Clone of any remote into submodule path '$path' failed"
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
done
|
||||
27
init.el
27
init.el
@@ -10,6 +10,7 @@
|
||||
(setq user-emacs-directory (file-name-directory user-init-file))
|
||||
(message "Loading %s..." user-init-file)
|
||||
(setq package-enable-at-startup nil)
|
||||
;; (package-initialize)
|
||||
(setq inhibit-startup-buffer-menu t)
|
||||
(setq inhibit-startup-screen t)
|
||||
(setq inhibit-startup-echo-area-message "locutus")
|
||||
@@ -38,9 +39,7 @@
|
||||
(setq auto-compile-mode-line-counter t)
|
||||
(setq auto-compile-source-recreate-deletes-dest t)
|
||||
(setq auto-compile-toggle-deletes-nonlib-dest t)
|
||||
(setq auto-compile-update-autoloads t)
|
||||
(add-hook 'auto-compile-inhibit-compile-hook
|
||||
'auto-compile-inhibit-compile-detached-git-head))
|
||||
(setq auto-compile-update-autoloads t))
|
||||
|
||||
(use-package epkg
|
||||
:defer t
|
||||
@@ -48,6 +47,7 @@
|
||||
(expand-file-name "var/epkgs/" user-emacs-directory)))
|
||||
|
||||
(use-package custom
|
||||
:no-require t
|
||||
:config
|
||||
(setq custom-file (expand-file-name "custom.el" user-emacs-directory))
|
||||
(when (file-exists-p custom-file)
|
||||
@@ -77,6 +77,7 @@
|
||||
:config (setq dired-listing-switches "-alh"))
|
||||
|
||||
(use-package eldoc
|
||||
:when (version< "25" emacs-version)
|
||||
:config (global-eldoc-mode))
|
||||
|
||||
(use-package help
|
||||
@@ -97,23 +98,12 @@
|
||||
(use-package magit
|
||||
:defer t
|
||||
:bind (("C-x g" . magit-status)
|
||||
("C-x M-g" . magit-dispatch-popup))
|
||||
("C-x M-g" . magit-dispatch))
|
||||
:config
|
||||
(magit-add-section-hook 'magit-status-sections-hook
|
||||
'magit-insert-modules-unpulled-from-upstream
|
||||
'magit-insert-unpulled-from-upstream)
|
||||
(magit-add-section-hook 'magit-status-sections-hook
|
||||
'magit-insert-modules-unpulled-from-pushremote
|
||||
'magit-insert-unpulled-from-upstream)
|
||||
(magit-add-section-hook 'magit-status-sections-hook
|
||||
'magit-insert-modules-unpushed-to-upstream
|
||||
'magit-insert-unpulled-from-upstream)
|
||||
(magit-add-section-hook 'magit-status-sections-hook
|
||||
'magit-insert-modules-unpushed-to-pushremote
|
||||
'magit-insert-unpulled-from-upstream)
|
||||
(magit-add-section-hook 'magit-status-sections-hook
|
||||
'magit-insert-submodules
|
||||
'magit-insert-unpulled-from-upstream))
|
||||
'magit-insert-modules
|
||||
'magit-insert-stashes
|
||||
'append))
|
||||
|
||||
(use-package man
|
||||
:defer t
|
||||
@@ -136,6 +126,7 @@
|
||||
:config (savehist-mode))
|
||||
|
||||
(use-package saveplace
|
||||
:when (version< "25" emacs-version)
|
||||
:config (save-place-mode))
|
||||
|
||||
(use-package simple
|
||||
|
||||
Submodule lib/auto-compile updated: a31819a1b7...3e92c5b1a9
2
lib/borg
2
lib/borg
Submodule lib/borg updated: 34eac585d6...7efd982e8e
Submodule lib/closql updated: 6659783124...1e78f96dc9
2
lib/dash
2
lib/dash
Submodule lib/dash updated: dcb0ec1623...721436b04d
Submodule lib/diff-hl updated: bec9889de7...fb9eb1cd3c
Submodule lib/emacsql updated: e3bc9b105f...a118b6c95a
2
lib/epkg
2
lib/epkg
Submodule lib/epkg updated: 1768e91e02...075f6afa81
Submodule lib/finalize deleted from 0f7d47c4d5
1
lib/ghub
Submodule
1
lib/ghub
Submodule
Submodule lib/ghub added at 4ebe60b952
Submodule lib/git-modes updated: 9f18eca514...55468314a5
1
lib/libgit
Submodule
1
lib/libgit
Submodule
Submodule lib/libgit added at 65fde63a0b
Submodule lib/magit updated: 4ad2ebfef0...798e47a1f0
Submodule lib/packed updated: 94ea12b9d4...c41c3dfda8
1
lib/transient
Submodule
1
lib/transient
Submodule
Submodule lib/transient added at 7977732485
1
lib/treepy
Submodule
1
lib/treepy
Submodule
Submodule lib/treepy added at 306f7031d2
Submodule lib/use-package updated: 360df30683...42db6b3d90
Submodule lib/with-editor updated: 241726118d...4fe66d4d55
Reference in New Issue
Block a user