aboutsummaryrefslogtreecommitdiff
path: root/modules/user/editors
diff options
context:
space:
mode:
Diffstat (limited to 'modules/user/editors')
-rw-r--r--modules/user/editors/default.nix3
-rw-r--r--modules/user/editors/kakoune/default.nix42
-rw-r--r--modules/user/editors/kakoune/kakrc1
3 files changed, 46 insertions, 0 deletions
diff --git a/modules/user/editors/default.nix b/modules/user/editors/default.nix
new file mode 100644
index 0000000..fa1b4ff
--- /dev/null
+++ b/modules/user/editors/default.nix
@@ -0,0 +1,3 @@
+{
+ imports = [ ./kakoune ];
+}
diff --git a/modules/user/editors/kakoune/default.nix b/modules/user/editors/kakoune/default.nix
new file mode 100644
index 0000000..0b69e1a
--- /dev/null
+++ b/modules/user/editors/kakoune/default.nix
@@ -0,0 +1,42 @@
+{
+ config,
+ lib,
+ options,
+ pkgs,
+ ...
+}:
+{
+ config.programs.kakoune = lib.mkIf config.editors.kakoune.enable {
+ enable = true;
+ colorSchemePackage = pkgs.kakounePlugins.kakoune-catppuccin;
+ config = {
+ hooks = [
+ {
+ commands = "set window indentwidth 2";
+ group = "set-indentwidth";
+ name = "WinSetOption";
+ option = "filetype=(nix)";
+ }
+ ];
+
+ numberLines = {
+ enable = true;
+ highlightCursor = true;
+ relative = true;
+ };
+
+ tabStop = 4;
+ ui.assistant = "cat";
+ };
+
+ defaultEditor = true;
+ extraConfig = builtins.readFile ./kakrc;
+ plugins = with pkgs.kakounePlugins; [
+ auto-pairs-kak
+ kakoune-extra-filetypes
+ kakoune-lsp
+ ];
+ };
+
+ options.editors.kakoune.enable = lib.mkEnableOption "rosa's kakoune setup";
+}
diff --git a/modules/user/editors/kakoune/kakrc b/modules/user/editors/kakoune/kakrc
new file mode 100644
index 0000000..a06f5b5
--- /dev/null
+++ b/modules/user/editors/kakoune/kakrc
@@ -0,0 +1 @@
+enable-auto-pairs