{ config, lib, ... }: { config = lib.mkIf config.jfrikker.enable { programs.helix = { enable = true; defaultEditor = true; settings.editor = { auto-format = false; auto-pairs = false; auto-save.after-delay.enable = true; auto-save.after-delay.timeout = 1000; cursorline = true; idle-timeout = 0; rulers = [ 120 ]; text-width = 100; lsp.goto-reference-include-declaration = false; cursor-shape.insert = "bar"; smart-tab.supersede-menu = true; whitespace.render.newline = "all"; }; settings.keys.normal.space = { space = "file_picker"; "," = "buffer_picker"; # b = "@:sh wezterm cli spawn --cwd . -- tig blame %"; }; settings.theme = "catppuccin_frappe"; languages.language-server.eslint = { args = [ "--stdio" ]; command = "vscode-eslint-language-server"; config.nodePath = ""; config.quiet = false; config.rulesCustomizations = [ ]; config.run = "onType"; config.validate = "on"; config.codeAction.disableRuleComment.enable = true; config.codeAction.disableRuleComment.location = "separateLine"; config.codeAction.showDocumentation.enable = true; config.problems.shortenToSingleLine = false; }; languages.language-server.jdtls.config.java = { autobuild.enabled = true; completion.maxResults = 1000; format.settings.url = "https://raw.githubusercontent.com/google/styleguide/gh-pages/eclipse-java-google-style.xml"; }; languages.language-server.rust-analyzer.config.files.watcher = "client"; languages.language = [ { name = "typescript"; language-servers = [ "typescript-language-server" "vscode-eslint-language-server" ]; indent.tab-width = 4; indent.unit = " "; } { name = "tsx"; language-servers = [ "typescript-language-server" "vscode-eslint-language-server" ]; indent.tab-width = 4; indent.unit = " "; } { name = "java"; indent.tab-width = 4; indent.unit = " "; } ]; }; }; }