{ pkgs, ... }: { programs.helix = { enable = true; defaultEditor = true; extraPackages = with pkgs; [ marksman nixd nixfmt ]; settings = { editor = { line-number = "relative"; cursorline = true; color-modes = true; mouse = true; soft-wrap.enable = true; end-of-line-diagnostics = "hint"; inline-diagnostics.cursor-line = "warning"; cursor-shape = { insert = "bar"; normal = "block"; select = "underline"; }; statusline = { left = [ "mode" "spinner" "version-control" "read-only-indicator" "file-modification-indicator" ]; center = [ "file-name" ]; right = [ "diagnostics" "selections" "register" "position" "position-percentage" "file-encoding" "file-type" ]; }; }; }; languages.language = [ { name = "nix"; formatter.command = "nixfmt"; auto-format = true; } { name = "typst"; formatter.command = "typstyle"; auto-format = true; } ]; }; }