config/kakoune.nix

46 lines
1.2 KiB
Nix

{ lib, pkgs, ... }:
let kakrc = pkgs.writeTextFile (rec {
name = "kakrc.kak";
destination = "/share/kak/autoload/${name}";
text = ''
add-highlighter global/ number-lines -separator ' ' -hlcursor
set-option global tabstop 4
set global ui_options ncurses_assistant=cat
map global normal <a-tab> :buffer-next<ret>
eval %sh{ kak-lsp --kakoune -s $kak_session }
'';
});
theme = let x = (import ./colors.nix)."dark"; in pkgs.writeTextFile (rec {
name = "theme.kak";
destination = "/share/kak/autoload/${name}";
text = ''
face global LineNumbers rgb:${x.background.slight}
face global BufferPadding rgb:${x.background.slight}
face global LineNumberCursor rgb:${x.foreground.primary}
face global crosshairs_line "default,rgb:${x.background.normal}"
face global MenuForeground "default,blue"
face global MenuBackground "default,rgb:313131"
face global InlayHint rgb:828282
face global comment rgb:${x.background.slight}
'';
});
in {
environment.systemPackages = with pkgs; [
(pkgs.kakoune.override {
plugins = with kakounePlugins; [
# Custom config
kakrc
theme
# Kakoune language server support
kak-lsp
];
})
rnix-lsp
];
}