{ pkgs, ... }: { programs.helix = { enable = true; defaultEditor = true; extraPackages = with pkgs; [ rust-analyzer rustfmt nil nixfmt python311Packages.python-lsp-server clang-tools black ]; settings = { theme = "tokyonight"; editor = { line-number = "relative"; cursor-shape = { insert = "bar"; normal = "block"; select = "underline"; }; whitespace.render = { space = "all"; tab = "all"; newline = "none"; }; whitespace.characters = { space = "·"; nbsp = "⍽"; tab = "→"; newline = "⏎"; tabpad = "·"; # Tabs will look like "→···" (depending on tab width) }; cursorline = true; lsp.display-messages = true; }; }; }; }