feat(helix): Init
Helix is "a post-modern modal text editor". It's somewhat like neovim,
but has a way of editing text that's more like Kakoune. I'm currently
trying it out as my main editor.
Change-Id: I675dfd5d52016940da41460922e987a2c73a1243
diff --git a/modules/home/editor/helix/default.nix b/modules/home/editor/helix/default.nix
new file mode 100644
index 0000000..091dff2
--- /dev/null
+++ b/modules/home/editor/helix/default.nix
@@ -0,0 +1,19 @@
+{ config, lib, ... }:
+{
+ options.chimera.editor.helix = {
+ enable = lib.mkEnableOption "Enable helix editor";
+ defaultEditor = lib.mkOption {
+ type = lib.types.bool;
+ description = "Use helix as the default editor";
+ default = true;
+ };
+ };
+
+ config = lib.mkIf config.chimera.editor.helix.enable {
+ programs.helix = {
+ enable = true;
+ defaultEditor = config.chimera.editor.helix.defaultEditor;
+ settings.theme = lib.mkIf config.chimera.theme.catppuccin.enable "catppuccin_${lib.strings.toLower config.chimera.theme.catppuccin.style}";
+ };
+ };
+}
diff --git a/modules/home/users/minion/default.nix b/modules/home/users/minion/default.nix
index 3e7889c..1a62134 100644
--- a/modules/home/users/minion/default.nix
+++ b/modules/home/users/minion/default.nix
@@ -162,6 +162,11 @@
};
neovim = {
+ enable = false; # Temporary, until I've unlearned the muscle memory of typing "nvim" to everything...
+ defaultEditor = false;
+ };
+
+ helix = {
enable = true;
defaultEditor = true;
};
@@ -187,5 +192,14 @@
map kitty_mod+enter launch --cwd=current --type=window
map kitty_mod+t launch --cwd=current --type=tab
'';
+
+ programs.helix.extraPackages = [
+ pkgs.clang-tools
+ pkgs.typescript-language-server
+ pkgs.python3Packages.python-lsp-server
+ pkgs.nil
+ pkgs.vscode-langservers-extracted
+ pkgs.marksman
+ ];
});
}