46 lines
1.2 KiB
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
|
|
];
|
|
}
|