2024-06-01 20:37:09 +10:00
|
|
|
# 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.
|
|
|
|
|
|
|
|
|
|
{
|
|
|
|
|
callPackage,
|
|
|
|
|
doomSource,
|
|
|
|
|
emacs,
|
2024-06-29 20:47:38 +10:00
|
|
|
lib,
|
|
|
|
|
writeTextDir,
|
2024-06-01 20:37:09 +10:00
|
|
|
}:
|
2024-06-29 20:47:38 +10:00
|
|
|
let
|
2024-06-29 20:02:19 +10:00
|
|
|
allModules = callPackage ./doomscript.nix {
|
2024-06-01 20:37:09 +10:00
|
|
|
name = "doom-full-init";
|
|
|
|
|
inherit doomSource emacs;
|
|
|
|
|
script = ./full-init;
|
|
|
|
|
scriptArgs = "-o $out";
|
|
|
|
|
};
|
|
|
|
|
|
2024-06-29 20:02:19 +10:00
|
|
|
allModulesAndFlags = callPackage ./doomscript.nix {
|
2024-06-01 20:37:09 +10:00
|
|
|
name = "doom-full-init";
|
|
|
|
|
inherit doomSource emacs;
|
|
|
|
|
script = ./full-init;
|
|
|
|
|
scriptArgs = "--flags -o $out";
|
|
|
|
|
};
|
2024-06-29 20:47:38 +10:00
|
|
|
|
|
|
|
|
# Hack, but given how this is used it's good enough even if the replacement misfires.
|
|
|
|
|
#
|
|
|
|
|
# Goal is to disable eglot and flymake, because doing so enables lsp-mode and flycheck
|
|
|
|
|
# respectively. We also want to keep most other flags enabled. But even if Doom introduces a flag
|
|
|
|
|
# starting with "eglot" or "flymake", disabling it and enabling a nonsensical flag is not really
|
|
|
|
|
# an issue.
|
|
|
|
|
allModulesMostFlags = writeTextDir "init.el" (
|
|
|
|
|
lib.replaceStrings [ " +eglot" " +flymake" ] [ "" "" ] (
|
|
|
|
|
lib.readFile "${allModulesAndFlags}/init.el"));
|
|
|
|
|
in {
|
|
|
|
|
inherit allModules allModulesAndFlags allModulesMostFlags;
|
2024-06-01 20:37:09 +10:00
|
|
|
}
|