feat: added langtool
This commit is contained in:
parent
690813e766
commit
c627ccf892
77
flake.lock
generated
77
flake.lock
generated
@ -43,6 +43,24 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-utils": {
|
||||
"inputs": {
|
||||
"systems": "systems_2"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1710146030,
|
||||
"narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=",
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"home-manager": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
@ -85,6 +103,25 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"langtool-ngrams": {
|
||||
"inputs": {
|
||||
"flake-utils": "flake-utils",
|
||||
"nixpkgs": "nixpkgs_2"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1752490825,
|
||||
"narHash": "sha256-3TyLqwD0oWg78i5uNRdL0z/gffih/KvQRHXKmBlCRsY=",
|
||||
"owner": "peperunas",
|
||||
"repo": "nix-languagetool-ngram",
|
||||
"rev": "33ad4c7cf3bbef86fd4f1e90d3ee1166afdf3d4e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "peperunas",
|
||||
"repo": "nix-languagetool-ngram",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"local-unstable": {
|
||||
"locked": {
|
||||
"lastModified": 0,
|
||||
@ -146,6 +183,22 @@
|
||||
}
|
||||
},
|
||||
"nixpkgs_2": {
|
||||
"locked": {
|
||||
"lastModified": 1710631334,
|
||||
"narHash": "sha256-rL5LSYd85kplL5othxK5lmAtjyMOBg390sGBTb3LRMM=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "c75037bbf9093a2acb617804ee46320d6d1fea5a",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nixos",
|
||||
"ref": "nixos-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_3": {
|
||||
"locked": {
|
||||
"lastModified": 1752308619,
|
||||
"narHash": "sha256-pzrVLKRQNPrii06Rm09Q0i0dq3wt2t2pciT/GNq5EZQ=",
|
||||
@ -161,7 +214,7 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_3": {
|
||||
"nixpkgs_4": {
|
||||
"locked": {
|
||||
"lastModified": 1735264675,
|
||||
"narHash": "sha256-MgdXpeX2GuJbtlBrH9EdsUeWl/yXEubyvxM1G+yO4Ak=",
|
||||
@ -200,7 +253,7 @@
|
||||
},
|
||||
"pepeflake": {
|
||||
"inputs": {
|
||||
"nixpkgs": "nixpkgs_3"
|
||||
"nixpkgs": "nixpkgs_4"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1739457875,
|
||||
@ -220,9 +273,10 @@
|
||||
"inputs": {
|
||||
"agenix-flake": "agenix-flake",
|
||||
"home-manager": "home-manager_2",
|
||||
"langtool-ngrams": "langtool-ngrams",
|
||||
"local-unstable": "local-unstable",
|
||||
"nixos-unstable": "nixos-unstable",
|
||||
"nixpkgs": "nixpkgs_2",
|
||||
"nixpkgs": "nixpkgs_3",
|
||||
"nixpkgs-master": "nixpkgs-master",
|
||||
"nvidia-patch": "nvidia-patch",
|
||||
"pepeflake": "pepeflake"
|
||||
@ -258,9 +312,24 @@
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"systems_3": {
|
||||
"locked": {
|
||||
"lastModified": 1681028828,
|
||||
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"utils": {
|
||||
"inputs": {
|
||||
"systems": "systems_2"
|
||||
"systems": "systems_3"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1710146030,
|
||||
|
@ -14,6 +14,7 @@
|
||||
url = "github:icewind1991/nvidia-patch-nixos";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
langtool-ngrams.url = "github:peperunas/nix-languagetool-ngram";
|
||||
};
|
||||
|
||||
outputs =
|
||||
@ -26,6 +27,7 @@
|
||||
, nvidia-patch
|
||||
, agenix-flake
|
||||
, pepeflake
|
||||
, langtool-ngrams
|
||||
}:
|
||||
let
|
||||
sysLinuxX64 = "x86_64-linux";
|
||||
@ -65,6 +67,7 @@
|
||||
localPkgs = importNixpkgs { flake = local-unstable; };
|
||||
agenixPkgs = importNixpkgs { flake = agenix-flake; };
|
||||
pepePkgs = pepeflake.packages.${system} // pepeflake.legacyPackages.${system} or { };
|
||||
langtoolPkgs = langtool-ngrams.packages.${system} // langtool-ngrams.legacyPackages.${system} or { };
|
||||
|
||||
additionalOverlays = [
|
||||
(final: prev: { inherit unstablePkgs; })
|
||||
@ -72,6 +75,7 @@
|
||||
(final: prev: { inherit agenixPkgs; })
|
||||
(final: prev: { inherit masterPkgs; })
|
||||
(final: prev: { inherit pepePkgs; })
|
||||
(final: prev: { inherit langtoolPkgs; })
|
||||
];
|
||||
in
|
||||
import nixpkgs {
|
||||
|
@ -278,6 +278,11 @@ in
|
||||
enableBeets = true;
|
||||
beetsPackage = pkgs.unstablePkgs.beets;
|
||||
};
|
||||
|
||||
languagetool = {
|
||||
enable = true;
|
||||
domain = "lang.giugl.io";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
@ -16,5 +16,6 @@
|
||||
./redlib
|
||||
./sonarr
|
||||
./headscale
|
||||
./languagetool
|
||||
];
|
||||
}
|
||||
|
47
modules/services/languagetool/default.nix
Normal file
47
modules/services/languagetool/default.nix
Normal file
@ -0,0 +1,47 @@
|
||||
{ config, pkgs, lib, ... }:
|
||||
|
||||
let
|
||||
inherit (lib) mkIf;
|
||||
|
||||
cfg = config.pepe.services.languagetool;
|
||||
|
||||
ngramDataDir = pkgs.symlinkJoin {
|
||||
name = "languagetool-ngrams";
|
||||
paths = builtins.attrValues pkgs.langtoolPkgs;
|
||||
};
|
||||
in
|
||||
{
|
||||
options.pepe.services.languagetool = with lib; {
|
||||
enable = mkEnableOption "Enable LanguageTool";
|
||||
package = mkPackageOption pkgs "languagetool" { };
|
||||
fasttextPackage = mkPackageOption pkgs "fasttext" {};
|
||||
domain = mkOption {
|
||||
type = types.str;
|
||||
default = null;
|
||||
};
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
pepe.core = {
|
||||
vhost.hosts.${cfg.domain} = {
|
||||
locations."/" = {
|
||||
port = config.services.languagetool.port;
|
||||
allowLAN = true;
|
||||
allowVPN = true;
|
||||
allowWAN = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
services.languagetool = {
|
||||
enable = true;
|
||||
package = cfg.package;
|
||||
allowOrigin = cfg.domain;
|
||||
settings = {
|
||||
languageModel = "${ngramDataDir}/share/languagetool/ngrams/";
|
||||
fasttextModel = "${pkgs.langtoolPkgs.fasttext}/share/languagetool/fasttextmodel/lid.176.bin";
|
||||
fasttextBinary = "${cfg.fasttextPackage}/bin/fasttext";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user