{ pkgs, ... }: { home.packages = with pkgs; [ gdb lldb rust-analyzer nil nixpkgs-fmt typst-lsp (python3.withPackages (ps: with ps; [ pyls-isort pylsp-mypy python-lsp-black python-lsp-server # pylsp optional dependencies types-requests flake8 mccabe pycodestyle pydocstyle pyflakes pylint ])) clang-tools nodePackages.typescript-language-server ]; programs.helix = { enable = true; languages = { language-server.nil = { command = "nil"; config = { nil.formatting.command = [ "nixpkgs-fmt" ]; }; }; language = [ { name = "nix"; auto-format = true; language-servers = [ "nil" ]; } ]; }; settings = { theme = "dracula"; editor = { color-modes = true; line-number = "relative"; cursor-shape.insert = "bar"; completion-trigger-len = 0; lsp = { display-messages = true; display-inlay-hints = true; }; }; }; }; }