Commit Graph

132 Commits

Author SHA1 Message Date
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
bf3d35c287 Clean up makefile & update it to match bin/doom 2018-05-24 16:05:52 +02:00
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
9b0dbe20b0 doom//refresh-packages -> doom//reload-packages (consistency) 2018-05-16 18:26:56 +02:00
a126450280 Fix make info 2018-05-16 18:26:31 +02:00
595109209a Fix doom//reload & optimize make all task 2018-05-16 00:11:14 +02:00
c74dbfd1e6 make quickrun: improve feedback 2018-05-10 22:39:49 +02:00
cea270d950 Add recompile step to make quickstart 2018-05-10 22:39:35 +02:00
d9b06962be Add recompile (re) alias to Makefile 2018-05-09 08:38:57 +10:00
e22c176195 make quickstart: run make afterwards 2018-05-07 19:26:31 +02:00
36e626f7a3 Add make quickstart 2018-04-04 06:12:18 -04:00
01bd58ff3e Recompile on make upgrade 2018-04-04 04:13:25 -04:00
b1ddcf1787 Fix locality of makefile commands 2018-04-04 00:01:11 -04:00
a4eaf7c865 Add make U alias for make upgrade 2018-04-03 22:35:46 -04:00
9017879ff4 Add make upgrade
A convenience command for upgrading to the latest version of Doom.
2018-04-03 19:53:23 -04:00
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
d85a2a6af0 Refactor noninteractive init; set doom-emacs-dir internally 2018-04-03 19:46:22 -04:00
e7331e9026 Ensure load-prefer-newer = t in non-interactive Emacs #479 2018-03-24 17:05:06 -04:00
d8f2abbeab Fix make info 2018-03-20 20:44:59 -04:00
627280c5da make run now supports additional args via the ARGS envvar 2018-03-15 00:20:40 -04:00
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
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
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
2e5bfe623a Add 'make info' task 2018-02-10 17:27:15 -05:00
1fda25ce9a Force make commands to traverse symlinks too 2018-01-29 23:23:48 -05:00
fe3db542ed Fix ERT not running properly on make test 2017-12-10 15:37:32 -05:00
5f166d9297 Add --quick to Emacs batch calls (experimental) 2017-11-07 13:09:24 +01:00
2516a123d6 Use -- to delimit arguments 2017-11-07 13:08:19 +01:00
c45e2c4918 General & minor refactor+cleanup 2017-11-05 19:54:44 +01:00
95a5b46dc5 New // naming convention + refactor doom management functions 2017-11-05 19:54:43 +01:00
27cd8d8432 Removed colon from makefile task names 2017-09-23 13:48:07 +02:00
9f6b90cf13 Add convenience task aliases to makefile 2017-09-15 14:37:19 +02:00
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
5ae8dd3159 Refactor makefile 2017-07-09 22:55:06 +02:00
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
1ff0c2a8e7 doom/clean-compiled => doom/clean-compiled-files 2017-07-09 22:52:28 +02:00
27b344b64a Rename doom/clean-cache => doom/reset (+ make reset) 2017-07-09 22:51:36 +02:00
c8e138ff51 Rename bin/doctor => bin/doom-doctor 2017-07-09 22:48:54 +02:00
dd5d530f61 Remove repeated flags in run's Makefile rule. 2017-07-07 12:33:28 +02:00
c7f42c4706 Fix make run using incorrect emacs.d #142 2017-07-06 16:42:35 +02:00
9fdc449976 Remove update from make default task 2017-06-29 02:40:29 +02:00
cbfb3eeda4 Fix, rename & move doom/run-tests => doom-run-tests 2017-06-24 17:15:22 +02:00
77ce7d11b4 Remove forced DEBUG on make testi:* 2017-06-15 15:19:03 +02:00
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
4be5ff1092 Redo unit-test initialization 2017-06-09 01:09:19 +02:00
73fb6b0800 Simplify make core & make <module-path> tasks 2017-06-09 01:09:19 +02:00
cd078e5e5c Refactor make core (more flexible) 2017-06-07 17:20:29 +02:00
3ca9d45216 Add generic %.el => %.elc make task 2017-06-07 16:01:35 +02:00
9c5788baf0 Add make clean-pcache task 2017-06-07 16:01:35 +02:00
9acdbc8552 Add make <MODULE PATH> task for compiling modules 2017-06-07 16:01:21 +02:00