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