Languagetool

Languagetool is a great spell and grammar checker that I use since years. There is an open and a commercial version. For my use cases, usually the open version is enough. But I don't like to send all of my texts to a foreign server. Therefore, I install the service on my local machine and point the add-ons to that instance.

Install Service

Arch Linux

On Arch Languagetool is pretty simple to install and enable as a service:

pacman -S languagetool
sudo systemctl enable languagetool.service
sudo systemctl start languagetool.service

OpenSUSE

OpenSUSE doesn't offer a package. But it's possible to just install it as a user service:

Download the http-server Package and extract to /opt/LanguageTool-*

Create /opt/LanguageTool-*/config.txt with the following content:

cacheSize=1000
cacheTTLSeconds=600

Create ~/.config/systemd/user/languagetool.service:

[Unit]
Description=LanguageTool Server

[Service]
Type=simple
WorkingDirectory=/opt/LanguageTool-5.8
ExecStart=/usr/bin/java -cp languagetool-server.jar org.languagetool.server.HTTPServer --port 8081 --allow-origin --config config.txt
Restart=always

[Install]
WantedBy=default.target

Then enable the user service:

systemctl --user enable languagetool.service
systemctl --user start languagetool.service

Test with:

curl 'http://localhost:8081/v2/check?language=en-US&text=my+text'

This should return some JSON-String.

Addons for Various Software

Thunderbird and Firefox

For Thunderbird and Firefox, there are official addons:

After the installation, open the addon settings. Scroll to the Experimental Settings and enable the option for the local server.

Neovim

For Neovim, the language server protocol can be used. For that install ltex-ls. On Arch Linux, there is an AUR package called ltex-ls-bin that can be used for that. For the configuration with Neovim, check the ltex section in the nvim-lspconfig repo.