{ pkgs, ... }: let pythonPkgs = with pkgs.python3Packages; [ python-lsp-server python-lsp-ruff ]; nodePkgs = with pkgs.nodePackages; [ vscode-langservers-extracted typescript svelte-language-server yaml-language-server typescript-language-server bash-language-server ]; in { home = { sessionVariables = { EDITOR = "hx"; VISUAL = "hx"; }; file.".config/helix/config.toml".text = '' theme = "monokai_pro_spectrum" [editor] cursorline = true true-color = true gutters = ["diff", "diagnostics", "line-numbers", "spacer"] [editor.cursor-shape] insert = "bar" normal = "block" select = "underline" [editor.lsp] display-messages = true [editor.indent-guides] render = true [editor.statusline] left = ["mode", "spinner"] center = ["file-name"] ''; file.".config/helix/languages.toml".text = '' [[language]] name = "nix" formatter = { command = "nixpkgs-fmt" } [[language]] name = "python" formatter = { command = "black", args = [ "-" ] } [[language]] name = "bash" indent = { tab-width = 2, unit = " " } formatter = { command = 'shfmt', args = ["-i", "2"] } ''; packages = with pkgs.unstablePkgs; [ black helix clang-tools rust-analyzer nil texlab nixpkgs-fmt ruff shellcheck shfmt ] ++ pythonPkgs ++ nodePkgs; }; }