config/modules/kak/default.nix

38 lines
863 B
Nix

{ lib, pkgs, config, ... }:
let kakoune = import ./kakoune.nix; in
with lib; {
options.editor = {
kak.enable = (mkEnableOption "kakoune editor") // { default = true; };
kak.rust = mkEnableOption "Rust support in Kakoune";
kak.ts = mkEnableOption "TypeScript support in Kakoune";
kak.haskell = mkEnableOption "Haskell support in Kakoune";
kak.python = mkEnableOption "Python 3.9 support in Kakoune";
kak.nix = (mkEnableOption "Nix support in Kakoune") // { default = true; };
};
config = with config.editor; mkIf (kak.enable) {
environment.systemPackages = [
(kakoune {
inherit (kak) haskell python rust nix;
typescript = kak.ts;
kak-crosshairs = pkgs.kakounePlugins.kak-crosshairs;
inherit pkgs lib;
theme = config.riley.theme;
})
];
};
}