2023-05-14 12:07:54 +02:00
|
|
|
{ config, lib, ... }:
|
2023-05-12 16:21:05 +02:00
|
|
|
|
|
|
|
let cfg = config.jade.helix;
|
|
|
|
in with lib; {
|
|
|
|
options.jade.helix = {
|
|
|
|
enable = mkEnableOption "Enable helix";
|
|
|
|
};
|
|
|
|
config = mkIf cfg.enable {
|
|
|
|
home-manager.users.jade = { pkgs, ... }: {
|
2023-05-14 12:07:54 +02:00
|
|
|
home = {
|
|
|
|
sessionVariables.EDITOR = "hx";
|
|
|
|
packages = [
|
|
|
|
pkgs.nil
|
2023-05-25 09:03:43 +02:00
|
|
|
pkgs.haskell-language-server
|
2023-05-14 12:07:54 +02:00
|
|
|
pkgs.nodePackages_latest.vscode-html-languageserver-bin
|
|
|
|
pkgs.nodePackages_latest.vscode-json-languageserver-bin
|
|
|
|
pkgs.nodePackages_latest.vscode-css-languageserver-bin
|
|
|
|
pkgs.nodePackages_latest.bash-language-server
|
|
|
|
];
|
|
|
|
};
|
2023-05-12 16:21:05 +02:00
|
|
|
programs.helix = {
|
|
|
|
enable = true;
|
|
|
|
settings = {
|
|
|
|
theme = "gruvbox";
|
|
|
|
editor = {
|
|
|
|
line-number = "relative";
|
|
|
|
lsp.display-messages = true;
|
|
|
|
};
|
2023-05-14 12:07:54 +02:00
|
|
|
keys.normal = {
|
|
|
|
space."=" = ":fmt";
|
|
|
|
};
|
2023-05-12 16:21:05 +02:00
|
|
|
};
|
2023-10-28 22:25:06 +02:00
|
|
|
languages = {
|
|
|
|
"php" = {
|
2023-09-25 20:11:47 +02:00
|
|
|
name = "php";
|
|
|
|
file-types = [ "php" ];
|
|
|
|
language-server = {
|
|
|
|
command = "psalm";
|
|
|
|
args = ["--language-server"];
|
|
|
|
};
|
2023-10-28 22:25:06 +02:00
|
|
|
};
|
|
|
|
};
|
2023-05-12 16:21:05 +02:00
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
}
|