63 lines
857 B
Nix
63 lines
857 B
Nix
|
# 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;
|
||
|
})
|