nichts/modules/editors/kakoune/default.nix

54 lines
1.1 KiB
Nix
Raw Normal View History

2024-07-16 11:13:12 +02:00
{
config,
lib,
pkgs,
2024-07-16 21:31:03 +02:00
...
2024-07-16 11:13:12 +02:00
}: let
inherit (config.modules.other.system) username;
cfg = config.modules.editors.kakoune;
inherit (lib) mkIf mkEnableOption;
in {
2024-07-16 21:31:03 +02:00
imports = [./mappings.nix];
2024-07-16 11:13:12 +02:00
options.modules.editors.kakoune.enable = mkEnableOption "kakoune";
config.home-manager.users.${username}.programs.kakoune = mkIf cfg.enable {
enable = true;
config = {
2024-07-16 21:31:03 +02:00
autoComplete = ["insert"];
autoReload = "yes";
2024-07-16 11:13:12 +02:00
indentWidth = 4;
tabStop = 4;
incrementalSearch = false;
numberLines = {
enable = true;
relative = true;
highlightCursor = true;
separator = "|";
};
scrollOff = {
lines = 4;
columns = 4;
};
2024-07-16 21:31:03 +02:00
wrapLines = {
enable = true;
indent = true;
word = true;
};
2024-07-16 11:13:12 +02:00
ui = {
enableMouse = true;
assistant = "none";
statusLine = "bottom";
};
};
2024-07-16 21:31:03 +02:00
plugins = with pkgs.kakounePlugins; [
auto-pairs-kak
fzf-kak
powerline-kak
byline-kak
kakoune-lsp
];
# extraConfig = ./kakrc;
2024-07-16 11:13:12 +02:00
};
}