90 lines
2.1 KiB
Nix
90 lines
2.1 KiB
Nix
{ pkgs, ... }:
|
|
let
|
|
enableEvilHelix = true; # Set to true to enable the configuration
|
|
in
|
|
{
|
|
home.packages = with pkgs; (
|
|
if enableEvilHelix
|
|
then [
|
|
evil-helix
|
|
cmake-language-server
|
|
jsonnet-language-server
|
|
luaformatter
|
|
lua-language-server
|
|
marksman
|
|
taplo
|
|
nil
|
|
jq-lsp
|
|
vscode-langservers-extracted
|
|
bash-language-server
|
|
awk-language-server
|
|
vscode-extensions.llvm-vs-code-extensions.vscode-clangd
|
|
clang-tools
|
|
docker-compose-language-service
|
|
docker-compose
|
|
docker-language-server
|
|
typescript-language-server
|
|
]
|
|
else [ ]
|
|
);
|
|
|
|
home.file.".config/helix/languages.toml".text =
|
|
if enableEvilHelix
|
|
then ''
|
|
[language-server.nil]
|
|
command = "nil"
|
|
|
|
[language-server.lua]
|
|
command = "lua-language-server"
|
|
|
|
[language-server.json]
|
|
command = "vscode-json-languageserver"
|
|
|
|
[language-server.markdown]
|
|
command = "marksman"
|
|
''
|
|
else "";
|
|
|
|
home.file.".config/helix/config.toml".text =
|
|
if enableEvilHelix
|
|
then ''
|
|
theme = "catppuccin_mocha"
|
|
#theme = "ao"
|
|
|
|
[editor]
|
|
evil = true
|
|
end-of-line-diagnostics = "hint"
|
|
auto-pairs = true
|
|
mouse = true
|
|
middle-click-paste = true
|
|
shell = ["zsh", "-c"]
|
|
line-number = "absolute"
|
|
auto-completion = true
|
|
path-completion = true
|
|
auto-info = true
|
|
color-modes = true
|
|
popup-border = "all"
|
|
clipboard-provider = "wayland"
|
|
indent-heuristic = "hybrid"
|
|
|
|
[editor.statusline]
|
|
left = ["mode", "spinner"]
|
|
center = ["file-absolute-path", "total-line-numbers", "read-only-indicator", "file-modification-indicator"]
|
|
right = ["diagnostics", "selections", "position", "file-encoding", "file-line-ending", "file-type"]
|
|
separator = "│"
|
|
mode.normal = "NORMAL"
|
|
mode.insert = "INSERT"
|
|
mode.select = "SELECT"
|
|
|
|
[editor.lsp]
|
|
enable = true
|
|
display-messages = true
|
|
display-progress-messages = true
|
|
|
|
[editor.inline-diagnostics]
|
|
cursor-line = "hint"
|
|
other-lines = "hint"
|
|
''
|
|
else "";
|
|
}
|