diff options
author | Kenny Ballou <kb@devnulllabs.io> | 2022-11-10 14:58:32 -0700 |
---|---|---|
committer | Kenny Ballou <kb@devnulllabs.io> | 2022-11-10 16:54:40 -0700 |
commit | 0df72a28100b6b6156203d82c307dcfdbc95e87f (patch) | |
tree | 8b01a4a3f0761650980f992fc8b4911e9f68eba5 | |
parent | ee7dcb415b3d71928d48ce86699d8f449b38d00f (diff) | |
download | dotfiles-0df72a28100b6b6156203d82c307dcfdbc95e87f.tar.gz dotfiles-0df72a28100b6b6156203d82c307dcfdbc95e87f.tar.xz |
shepherd: add simple LanguageTool service
Instead of depending on Emacs to launch and manage this service, punt it
to shepherd.
Signed-off-by: Kenny Ballou <kb@devnulllabs.io>
-rw-r--r-- | config/emacs/emacs.d/emacs.org | 2 | ||||
-rw-r--r-- | kbg/services/languagetool.scm | 27 | ||||
-rw-r--r-- | kbg/services/shepherd.scm | 2 |
3 files changed, 30 insertions, 1 deletions
diff --git a/config/emacs/emacs.d/emacs.org b/config/emacs/emacs.d/emacs.org index 0fa1fc15..671c79d7 100644 --- a/config/emacs/emacs.d/emacs.org +++ b/config/emacs/emacs.d/emacs.org @@ -1418,8 +1418,8 @@ https://masteringemacs.org/article/polymode-multiple-major-modes-how-to-use-sql- :after flycheck :hook (text-mode . flycheck-languagetool-setup) :init - (setq flycheck-languagetool-server-jar (string-join (list user-emacs-directory "language-tool/languagetool-server.jar"))) (setq flycheck-languagetool-language "en-US") + (setq flycheck-languagetool-server-port "9090") (setq flycheck-languagetool-check-params '(("disabledRules" . "WHITESPACE_RULE"))) :config (flycheck-add-next-checker 'languagetool 'vale) diff --git a/kbg/services/languagetool.scm b/kbg/services/languagetool.scm new file mode 100644 index 00000000..cbea0956 --- /dev/null +++ b/kbg/services/languagetool.scm @@ -0,0 +1,27 @@ +(define-module (kbg services languagetool) + #:use-module (kbg) + #:use-module (gnu) + #:use-module (guix) + #:use-module (gnu services) + #:use-module (gnu services shepherd) + #:use-module (gnu home services) + #:use-module (gnu home services shepherd) + #:use-module (gnu packages java) + #:use-module (kbg packages languagetool) + #:export (languagetool-service)) + +(define languagetool-service + (let* ((languagetool-server (shepherd-service + (provision '(languagetool)) + (requirement '()) + (documentation "Run a local LanguageTool Server.") + (start #~(make-forkexec-constructor + (list #$(file-append openjdk "/bin/java") + "-classpath" + #$(file-append languagetool "/languagetool-server.jar") + "org.languagetool.server.HTTPServer" + "--port" + "9090" + "--premiumAlways"))) + (stop #~(make-kill-destructor))))) + (list languagetool-server))) diff --git a/kbg/services/shepherd.scm b/kbg/services/shepherd.scm index 1ce18006..2416fd52 100644 --- a/kbg/services/shepherd.scm +++ b/kbg/services/shepherd.scm @@ -9,6 +9,7 @@ #:use-module (gnu services audio) #:use-module (system repl server) #:use-module (kbg services gnupg) + #:use-module (kbg services languagetool) #:use-module (kbg services mcron) #:use-module (kbg services mpd) #:use-module (kbg services syncthing) @@ -25,6 +26,7 @@ (list (service home-shepherd-service-type (home-shepherd-configuration (services (append gnupg-service + languagetool-service mpd-service syncthing-service)))))) |