Migrate languagetool setup to nix module
Define new module which provides the systemd service. Do not clutter home.nix and do not use custom systemd/ folder.
This commit is contained in:
parent
a3087e4259
commit
77f3038cde
13
home.nix
13
home.nix
|
@ -3,6 +3,7 @@
|
|||
{
|
||||
imports = [
|
||||
./home/modules/programs/cmus.nix
|
||||
./home/modules/programs/languagetool.nix
|
||||
];
|
||||
|
||||
# Home Manager needs a bit of information about you and the
|
||||
|
@ -44,9 +45,6 @@
|
|||
pkgs.universal-ctags
|
||||
pkgs.silver-searcher
|
||||
|
||||
# Writing
|
||||
pkgs.languagetool
|
||||
|
||||
# Media
|
||||
pkgs.vlc
|
||||
];
|
||||
|
@ -72,12 +70,5 @@
|
|||
};
|
||||
|
||||
services.dunst = import ./home/services/dunst.nix;
|
||||
|
||||
systemd.user.services.languagetool = import ./home/systemd/languagetool.nix {
|
||||
settings = {
|
||||
port = "8081";
|
||||
allow-origin = "*";
|
||||
};
|
||||
inherit pkgs;
|
||||
};
|
||||
services.languagetool.enable = true;
|
||||
}
|
||||
|
|
|
@ -26,7 +26,6 @@ in {
|
|||
package = mkOption {
|
||||
type = types.package;
|
||||
default = pkgs.cmus;
|
||||
defaultText = literalExpression "pkgs.cmus";
|
||||
description = "Cmus package to install.";
|
||||
};
|
||||
};
|
||||
|
|
52
home/modules/programs/languagetool.nix
Normal file
52
home/modules/programs/languagetool.nix
Normal file
|
@ -0,0 +1,52 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
cfg = config.services.languagetool;
|
||||
|
||||
in {
|
||||
options.services.languagetool = {
|
||||
enable = mkEnableOption "languagetool";
|
||||
|
||||
package = mkOption {
|
||||
type = types.package;
|
||||
default = pkgs.languagetool;
|
||||
defaultText = literalExpression "pkgs.languagetool";
|
||||
description = "languagetool package to install.";
|
||||
};
|
||||
|
||||
port = mkOption {
|
||||
type = types.port;
|
||||
default = 8081;
|
||||
description = "Port to listen to.";
|
||||
};
|
||||
|
||||
allow-origin = mkOption {
|
||||
type = types.str;
|
||||
default = "*";
|
||||
description = "allow-origin option, e.g. which domains to allow.";
|
||||
};
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
systemd.user.services.languagetool = {
|
||||
Unit = {
|
||||
Description = "Languagetool Server";
|
||||
StartLimitBurst = 3;
|
||||
StartLimitInterval = 400;
|
||||
};
|
||||
|
||||
Service = {
|
||||
Restart = "on-failure";
|
||||
RestartSec = "2s";
|
||||
Environment = "JAVA_TOOL_OPTIONS=-Xmx256m";
|
||||
ExecStart = "${cfg.package}/bin/languagetool-http-server --port ${toString cfg.port} --allow-origin '${cfg.allow-origin}'";
|
||||
};
|
||||
|
||||
Install = {
|
||||
WantedBy = ["default.target"];
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
|
@ -1,20 +0,0 @@
|
|||
{ pkgs, settings }:
|
||||
|
||||
{
|
||||
Unit = {
|
||||
Description = "Languagetool Server";
|
||||
StartLimitBurst = 3;
|
||||
StartLimitInterval = 400;
|
||||
};
|
||||
|
||||
Service = {
|
||||
Restart = "on-failure";
|
||||
RestartSec = "2s";
|
||||
Environment = "JAVA_TOOL_OPTIONS=-Xmx256m";
|
||||
ExecStart = "${pkgs.languagetool}/bin/languagetool-http-server --port ${settings.port} --allow-origin ${settings.allow-origin}";
|
||||
};
|
||||
|
||||
Install = {
|
||||
WantedBy = ["default.target"];
|
||||
};
|
||||
}
|
Loading…
Reference in a new issue