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