Test with all flags except eglot and flymake
Replaces most of the tests for specific combinations of flags. Intent is to also use this with cachix.
This commit is contained in:
parent
0a5aa8764a
commit
991d10dc55
2 changed files with 24 additions and 21 deletions
|
|
@ -16,8 +16,10 @@
|
||||||
callPackage,
|
callPackage,
|
||||||
doomSource,
|
doomSource,
|
||||||
emacs,
|
emacs,
|
||||||
|
lib,
|
||||||
|
writeTextDir,
|
||||||
}:
|
}:
|
||||||
{
|
let
|
||||||
allModules = callPackage ./doomscript.nix {
|
allModules = callPackage ./doomscript.nix {
|
||||||
name = "doom-full-init";
|
name = "doom-full-init";
|
||||||
inherit doomSource emacs;
|
inherit doomSource emacs;
|
||||||
|
|
@ -31,4 +33,16 @@
|
||||||
script = ./full-init;
|
script = ./full-init;
|
||||||
scriptArgs = "--flags -o $out";
|
scriptArgs = "--flags -o $out";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
# 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;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
29
checks.nix
29
checks.nix
|
|
@ -73,6 +73,7 @@ in {
|
||||||
};
|
};
|
||||||
allModules = mkDoom { doomDir = doomDirs.allModules; };
|
allModules = mkDoom { doomDir = doomDirs.allModules; };
|
||||||
allModulesAndFlags = mkDoom { doomDir = doomDirs.allModulesAndFlags; };
|
allModulesAndFlags = mkDoom { doomDir = doomDirs.allModulesAndFlags; };
|
||||||
|
allModulesMostFlags = mkDoom { doomDir = doomDirs.allModulesMostFlags; };
|
||||||
example = mkDoom { doomDir = ./doomdir; };
|
example = mkDoom { doomDir = ./doomdir; };
|
||||||
example-without-loader = mkDoom {
|
example-without-loader = mkDoom {
|
||||||
doomDir = ./doomdir;
|
doomDir = ./doomdir;
|
||||||
|
|
@ -89,33 +90,21 @@ in {
|
||||||
# Various tests of module combinations.
|
# Various tests of module combinations.
|
||||||
unpinned-org = doomTest "external-org" { app.rss = [ "+org" ]; } { };
|
unpinned-org = doomTest "external-org" { app.rss = [ "+org" ]; } { };
|
||||||
# Dependencies that require a module flag enabled and a different module or flag disabled.
|
# Dependencies that require a module flag enabled and a different module or flag disabled.
|
||||||
# Several are "+lsp and lsp without eglot" or "some flag and syntax without flymake".
|
# flycheck-eglot needs flymake disabled.
|
||||||
# TODO: Might be worth doing a full init.el build with just those two flags disabled.
|
|
||||||
flycheck-guile = doomTest "nix-profile" { lang.scheme = [ "+guile" ]; checkers.syntax = true; } { };
|
|
||||||
lsp-treemacs = doomTest "nix-profile" { ui.treemacs = [ "+lsp" ]; tools.lsp = true; } { };
|
|
||||||
flycheck-eglot = doomTest "nix-profile" { tools.lsp = [ "+eglot" ]; checkers.syntax = true; } { };
|
flycheck-eglot = doomTest "nix-profile" { tools.lsp = [ "+eglot" ]; checkers.syntax = true; } { };
|
||||||
lsp-sourcekit-flycheck-swift = doomTest "nix-profile" {
|
# lsp-python-ms needs +pyright disabled.
|
||||||
lang.swift = [ "+lsp" ];
|
|
||||||
tools.lsp = true;
|
|
||||||
checkers.syntax = true;
|
|
||||||
} { };
|
|
||||||
lsp-metals = doomTest "nix-profile" { lang.scala = [ "+lsp" ]; tools.lsp = true; } { };
|
|
||||||
lsp-pyright = doomTest "nix-profile" { lang.python = [ "+lsp" "+pyright" ]; tools.lsp = true; } { };
|
|
||||||
lsp-python-ms = doomTest "nix-profile" { lang.python = [ "+lsp" ]; tools.lsp = true; } { };
|
lsp-python-ms = doomTest "nix-profile" { lang.python = [ "+lsp" ]; tools.lsp = true; } { };
|
||||||
|
# roam2 needs +roam disabled.
|
||||||
org-roam2 = doomTest "nix-profile" { lang.org = [ "+roam2" ]; } { };
|
org-roam2 = doomTest "nix-profile" { lang.org = [ "+roam2" ]; } { };
|
||||||
flycheck-moonscript = doomTest "nix-profile" { lang.lua = [ "+moonscript" ]; checkers.syntax = true; } { };
|
# nerd-icons-dired needs +dirvish disabled.
|
||||||
lsp-julia = doomTest "nix-profile" { lang.julia = [ "+lsp" ]; tools.lsp = true; } { };
|
|
||||||
lsp-java = doomTest "nix-profile" { lang.java = [ "+lsp" ]; tools.lsp = true; } { };
|
|
||||||
lsp-haskell = doomTest "nix-profile" { lang.haskell = [ "+lsp" ]; tools.lsp = true; } { };
|
|
||||||
flycheck-stan = doomTest "nix-profile" { lang.ess = [ "+stan" ]; checkers.syntax = true; } { };
|
|
||||||
lsp-dart = doomTest "nix-profile" { lang.dart = [ "+lsp" ]; tools.lsp = true; } { };
|
|
||||||
ccls = doomTest "nix-profile" { lang.cc = [ "+lsp" ]; tools.lsp = true; } { };
|
|
||||||
flycheck-irony = doomTest "nix-profile" { lang.cc = [ "+lsp" ]; checkers.syntax = true; } { };
|
|
||||||
nerd-icons-dired = doomTest "nix-profile" { emacs.dired = [ "+icons" ]; } { };
|
nerd-icons-dired = doomTest "nix-profile" { emacs.dired = [ "+icons" ]; } { };
|
||||||
|
# multiple-cursors needs :editor evil disabled.
|
||||||
multiple-cursors = doomTest "nix-profile" { editor.multiple-cursors = true; } { };
|
multiple-cursors = doomTest "nix-profile" { editor.multiple-cursors = true; } { };
|
||||||
|
# flx needs +prescient disabled.
|
||||||
flx = doomTest "nix-profile" { completion.ivy = [ "+fuzzy" ]; } { };
|
flx = doomTest "nix-profile" { completion.ivy = [ "+fuzzy" ]; } { };
|
||||||
|
# corfu pulls in unpinned orderless if vertico is disabled.
|
||||||
corfu-orderless = doomTest "nix-profile" { completion.corfu = [ "+orderless" ]; } { };
|
corfu-orderless = doomTest "nix-profile" { completion.corfu = [ "+orderless" ]; } { };
|
||||||
flycheck-posframe = doomTest "nix-profile" { checkers.syntax = [ "+childframe" ]; } { };
|
# flyspell can pull in one of three completion modules.
|
||||||
flyspell-correct-ivy = doomTest "nix-profile" { checkers.spell = [ "+flyspell" ]; completion.ivy = true; } { };
|
flyspell-correct-ivy = doomTest "nix-profile" { checkers.spell = [ "+flyspell" ]; completion.ivy = true; } { };
|
||||||
flyspell-correct-helm = doomTest "nix-profile" { checkers.spell = [ "+flyspell" ]; completion.helm = true; } { };
|
flyspell-correct-helm = doomTest "nix-profile" { checkers.spell = [ "+flyspell" ]; completion.helm = true; } { };
|
||||||
flyspell-correct-popup = doomTest "nix-profile" { checkers.spell = [ "+flyspell" ]; } { };
|
flyspell-correct-popup = doomTest "nix-profile" { checkers.spell = [ "+flyspell" ]; } { };
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue