2023-05-14 10:07:54 +00:00
|
|
|
{ config, lib, ... }:
|
2023-05-12 14:21:05 +00: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 10:07:54 +00:00
|
|
|
home = {
|
|
|
|
sessionVariables.EDITOR = "hx";
|
|
|
|
packages = [
|
|
|
|
pkgs.nil
|
2023-05-25 07:03:43 +00:00
|
|
|
pkgs.haskell-language-server
|
2023-05-14 10:07:54 +00: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 14:21:05 +00:00
|
|
|
programs.helix = {
|
|
|
|
enable = true;
|
|
|
|
settings = {
|
|
|
|
theme = "gruvbox";
|
|
|
|
editor = {
|
|
|
|
line-number = "relative";
|
|
|
|
lsp.display-messages = true;
|
|
|
|
};
|
2023-05-14 10:07:54 +00:00
|
|
|
keys.normal = {
|
|
|
|
space."=" = ":fmt";
|
|
|
|
"H" = "goto_line_start";
|
|
|
|
"L" = "goto_line_end";
|
|
|
|
};
|
2023-05-12 14:21:05 +00:00
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
}
|