Commit Graph

132 Commits

Author SHA1 Message Date
xeijin
8406f1e6a4
Double quote doom binary location
This allows 'make quickstart' to work on Windows when using GNU make (appreciate Windows isn't officially supported)
2018-07-14 19:21:16 +01:00
Henrik Lissner
bf3d35c287
Clean up makefile & update it to match bin/doom 2018-05-24 16:05:52 +02:00
Henrik Lissner
f058505306
New bin/doom (eventual replacement for make)
This commit adds bin/doom, which acts as the middle man that make once
was (and will stay for a while, though the documentation will shift away
from using it). It does everything the previous make interface did, but
is faster and more flexible. bin/doom should eventually replace the
makefile.

bin/doom also makes it easier to run Doom outside of ~/.emacs.d and
~/.doom.d with, for example:

  bin/doom run -p ~/.other.doom.d/ -e ~/.other.emacs.d

bin/doom.cmd is included for Windows users, but I don't recommend using
it yet. It hasn't been tested nor have I ever written a batch script
before.

Also update init.example.el with new defaults.
2018-05-21 01:38:17 +02:00
Henrik Lissner
9b0dbe20b0
doom//refresh-packages -> doom//reload-packages (consistency) 2018-05-16 18:26:56 +02:00
Henrik Lissner
a126450280
Fix make info 2018-05-16 18:26:31 +02:00
Henrik Lissner
595109209a
Fix doom//reload & optimize make all task 2018-05-16 00:11:14 +02:00
Henrik Lissner
c74dbfd1e6
make quickrun: improve feedback 2018-05-10 22:39:49 +02:00
Henrik Lissner
cea270d950
Add recompile step to make quickstart 2018-05-10 22:39:35 +02:00
ar1a
d9b06962be
Add recompile (re) alias to Makefile 2018-05-09 08:38:57 +10:00
Henrik Lissner
e22c176195
make quickstart: run make afterwards 2018-05-07 19:26:31 +02:00
Henrik Lissner
36e626f7a3
Add make quickstart 2018-04-04 06:12:18 -04:00
Henrik Lissner
01bd58ff3e
Recompile on make upgrade 2018-04-04 04:13:25 -04:00
Henrik Lissner
b1ddcf1787
Fix locality of makefile commands 2018-04-04 00:01:11 -04:00
Henrik Lissner
a4eaf7c865
Add make U alias for make upgrade 2018-04-03 22:35:46 -04:00
Henrik Lissner
9017879ff4
Add make upgrade
A convenience command for upgrading to the latest version of Doom.
2018-04-03 19:53:23 -04:00
Henrik Lissner
2933142d40
💥 add default init.el
Doom is moving away from supporting direct modification of its source
files, or private modules within Doom's source tree. Instead,
customizations should be relegated to ~/.doom.d/ (or ~/.config/doom/,
doom will respect XDG conventions if it sees this directory).

As suchm a default init.el is now supplied, which will break your custom
~/.emacs.d/init.el!

The quick fix:

  mkdir ~/.doom.d
  mv ~/.emacs.d/init.el ~/.doom.d/init.el

~/.doom.d/early-init.el is also available if you need to change crucial
settings before Doom loads anything. init.el will still be loaded before
any other module is.
2018-04-03 19:50:34 -04:00
Henrik Lissner
d85a2a6af0
Refactor noninteractive init; set doom-emacs-dir internally 2018-04-03 19:46:22 -04:00
Henrik Lissner
e7331e9026
Ensure load-prefer-newer = t in non-interactive Emacs #479 2018-03-24 17:05:06 -04:00
Henrik Lissner
d8f2abbeab
Fix make info 2018-03-20 20:44:59 -04:00
Henrik Lissner
627280c5da
make run now supports additional args via the ARGS envvar 2018-03-15 00:20:40 -04:00
Henrik Lissner
3e0e5bcad8
Refactor makefile
For better cross platform compatibility (rely on Emacs; nofewer bash
commands) and correctness (keep tasks synchronous, even when make is
called with -j|--jobs)
2018-03-12 13:32:02 -04:00
Henrik Lissner
0425724571
Major rewrite of doom module API
+ Fix #446, where the .local/packages.el cache was generated with
  a faulty load-path.
+ Entries in the doom-modules hash table are now plists, containing
  :flags and :path, at least.
+ Add doom-initialize-modules for loading module config.el files.
+ Add doom-module-get for accessing this plist, e.g.

    (doom-module-get :some module)         ; returns plist
    (doom-module-get :some module :flags)  ; return specific property

+ Replace doom-module-enable with doom-module-set, e.g.

    (doom-module-set :some module :flags '(+a +b +c))

+ Remove doom-module-flags (use doom-module-get instead)
+ Rename doom-module-enabled-p with doom-module-p
+ Replace doom-module-path with doom-module-find-path and
  doom-module-expand-file. The former will search for an existing module
  or file in doom-modules-dirs. The latter will expand the path from
  whatever path is stored in doom-modules.
+ Replace doom-module-paths with doom-module-load-path
+ Changed doom! to allow for nested doom! calls by delaying the loading
  of module config.el files until as late as possible.
+ Refactor doom-initialize-packages to only ihitialize package state
  (i.e. doom-packages, package-alist, and quelpa-cache), rather than its
  previous behavior of loading all Doom files (and sometimes all module
  files). This is faster and more predictable.
2018-03-02 19:14:45 -05:00
Henrik Lissner
c3fb916435
Use native wildcard+dir over shell find in makefile
OS-agnostic. Only depends on GNU Make.
2018-02-11 00:51:21 -05:00
Henrik Lissner
2e5bfe623a
Add 'make info' task 2018-02-10 17:27:15 -05:00
Henrik Lissner
1fda25ce9a
Force make commands to traverse symlinks too 2018-01-29 23:23:48 -05:00
Henrik Lissner
fe3db542ed
Fix ERT not running properly on make test 2017-12-10 15:37:32 -05:00
Henrik Lissner
5f166d9297
Add --quick to Emacs batch calls (experimental) 2017-11-07 13:09:24 +01:00
Henrik Lissner
2516a123d6
Use -- to delimit arguments 2017-11-07 13:08:19 +01:00
Henrik Lissner
c45e2c4918
General & minor refactor+cleanup 2017-11-05 19:54:44 +01:00
Henrik Lissner
95a5b46dc5
New // naming convention + refactor doom management functions 2017-11-05 19:54:43 +01:00
Henrik Lissner
27cd8d8432
Removed colon from makefile task names 2017-09-23 13:48:07 +02:00
Henrik Lissner
9f6b90cf13
Add convenience task aliases to makefile 2017-09-15 14:37:19 +02:00
Henrik Lissner
5346670ab0 Add doom/recompile-packages (make compile:elpa)
If you upgrade (or downgrade) Emacs, there may be byte-compilation
errors. This works around that.
2017-07-28 19:21:00 +02:00
Henrik Lissner
5ae8dd3159
Refactor makefile 2017-07-09 22:55:06 +02:00
Henrik Lissner
b0ef2569f3
Rename core + module byte-compilation make tasks
+ make core => make compile:core
+ make MODULE/SUBMODULE => make compile:MODULE/SUBMODULE
2017-07-09 22:53:50 +02:00
Henrik Lissner
1ff0c2a8e7
doom/clean-compiled => doom/clean-compiled-files 2017-07-09 22:52:28 +02:00
Henrik Lissner
27b344b64a
Rename doom/clean-cache => doom/reset (+ make reset) 2017-07-09 22:51:36 +02:00
Henrik Lissner
c8e138ff51
Rename bin/doctor => bin/doom-doctor 2017-07-09 22:48:54 +02:00
Carlos Garcia
dd5d530f61 Remove repeated flags in run's Makefile rule. 2017-07-07 12:33:28 +02:00
Henrik Lissner
c7f42c4706
Fix make run using incorrect emacs.d #142 2017-07-06 16:42:35 +02:00
Henrik Lissner
9fdc449976
Remove update from make default task 2017-06-29 02:40:29 +02:00
Henrik Lissner
cbfb3eeda4
Fix, rename & move doom/run-tests => doom-run-tests 2017-06-24 17:15:22 +02:00
Henrik Lissner
77ce7d11b4
Remove forced DEBUG on make testi:* 2017-06-15 15:19:03 +02:00
Henrik Lissner
9c93c453e8
Reorganize unit-tests and test workflow
+ Moved unit tests out of tests/ and into their respective modules.
+ Rewrite makefile and added these tasks:
  + <MODULE>/<SUBMODULE> -- byte-compile a specific module
  + test:<MODULE>/<SUBMODULE> -- runs tests for a specific module
  + testi -- run tests in an interactive session of Emacs (WIP)
  + run -- opens an Emacs session with this config; useful when it is in
    a non-standard location.
2017-06-14 21:15:19 +02:00
Henrik Lissner
4be5ff1092
Redo unit-test initialization 2017-06-09 01:09:19 +02:00
Henrik Lissner
73fb6b0800
Simplify make core & make <module-path> tasks 2017-06-09 01:09:19 +02:00
Henrik Lissner
cd078e5e5c
Refactor make core (more flexible) 2017-06-07 17:20:29 +02:00
Henrik Lissner
3ca9d45216 Add generic %.el => %.elc make task 2017-06-07 16:01:35 +02:00
Henrik Lissner
9c5788baf0 Add make clean-pcache task 2017-06-07 16:01:35 +02:00
Henrik Lissner
9acdbc8552 Add make <MODULE PATH> task for compiling modules 2017-06-07 16:01:21 +02:00