...not yet with all flags, but that's the next step. This surfaced several problems not caught by the existing "full" build, because that did not enable dependencies conditionally enabled if a second module is enabled. There are a small number of dependencies only enabled if a second module is *not* enabled, which I intend to add some manual tests for.
39 lines
1.3 KiB
Text
Executable file
39 lines
1.3 KiB
Text
Executable file
#!/usr/bin/env doomscript
|
|
;; -*- lexical-binding: t; -*-
|
|
|
|
;; Copyright 2024 Google LLC
|
|
;;
|
|
;; Licensed under the Apache License, Version 2.0 (the "License");
|
|
;; you may not use this file except in compliance with the License.
|
|
;; You may obtain a copy of the License at
|
|
;;
|
|
;; http://www.apache.org/licenses/LICENSE-2.0
|
|
;;
|
|
;; Unless required by applicable law or agreed to in writing, software
|
|
;; distributed under the License is distributed on an "AS IS" BASIS,
|
|
;; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
;; See the License for the specific language governing permissions and
|
|
;; limitations under the License.
|
|
|
|
(defcli! full-init
|
|
((output-directory ("-o" dir) "Directory to write init.el into.")
|
|
(&flag full? ("--full")))
|
|
"Write init.el with all modules."
|
|
(with-temp-buffer
|
|
(insert ";;; init.el -*- no-byte-compile: t; -*-
|
|
|
|
;;; Dynamically generated by nix-doom-emacs-unstraightened.
|
|
|
|
(doom!
|
|
")
|
|
(dolist (kp (doom-module-list 'all))
|
|
(let ((cat (car kp))
|
|
(name (cdr kp)))
|
|
(when name
|
|
(if full?
|
|
(error "unimplemented")
|
|
(insert (format " %s %s\n" cat name))))))
|
|
(insert ")\n")
|
|
(write-region nil nil (expand-file-name "init.el" output-directory))))
|
|
|
|
(run! "full-init" (cdr (member "--" argv)))
|