# Preconfigured kakoune editor. { # Feature flags typescript ? false, haskell ? false, python ? false, rust ? false, nix ? true, # Allow extra plugins to be defined # outside of the package extraPlugins ? [], # Color theme theme, # Build context pkgs, lib }: let kakrc = (import ./kakrc.nix { inherit typescript haskell python rust nix theme pkgs lib; }); colors = (import ./colors.nix { inherit theme pkgs lib; }); kak-lsp = (import ./kak-lsp.nix { inherit typescript haskell python rust nix pkgs lib; }); in (pkgs.kakoune.override { plugins = [ # Configuration kak-lsp colors kakrc # Plugins crosshairs ] ++ extraPlugins; })