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"
|
"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": {
|
"home-manager": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
@ -85,6 +103,25 @@
|
|||||||
"type": "github"
|
"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": {
|
"local-unstable": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 0,
|
"lastModified": 0,
|
||||||
@ -146,6 +183,22 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs_2": {
|
"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": {
|
"locked": {
|
||||||
"lastModified": 1752308619,
|
"lastModified": 1752308619,
|
||||||
"narHash": "sha256-pzrVLKRQNPrii06Rm09Q0i0dq3wt2t2pciT/GNq5EZQ=",
|
"narHash": "sha256-pzrVLKRQNPrii06Rm09Q0i0dq3wt2t2pciT/GNq5EZQ=",
|
||||||
@ -161,7 +214,7 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs_3": {
|
"nixpkgs_4": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1735264675,
|
"lastModified": 1735264675,
|
||||||
"narHash": "sha256-MgdXpeX2GuJbtlBrH9EdsUeWl/yXEubyvxM1G+yO4Ak=",
|
"narHash": "sha256-MgdXpeX2GuJbtlBrH9EdsUeWl/yXEubyvxM1G+yO4Ak=",
|
||||||
@ -200,7 +253,7 @@
|
|||||||
},
|
},
|
||||||
"pepeflake": {
|
"pepeflake": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": "nixpkgs_3"
|
"nixpkgs": "nixpkgs_4"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1739457875,
|
"lastModified": 1739457875,
|
||||||
@ -220,9 +273,10 @@
|
|||||||
"inputs": {
|
"inputs": {
|
||||||
"agenix-flake": "agenix-flake",
|
"agenix-flake": "agenix-flake",
|
||||||
"home-manager": "home-manager_2",
|
"home-manager": "home-manager_2",
|
||||||
|
"langtool-ngrams": "langtool-ngrams",
|
||||||
"local-unstable": "local-unstable",
|
"local-unstable": "local-unstable",
|
||||||
"nixos-unstable": "nixos-unstable",
|
"nixos-unstable": "nixos-unstable",
|
||||||
"nixpkgs": "nixpkgs_2",
|
"nixpkgs": "nixpkgs_3",
|
||||||
"nixpkgs-master": "nixpkgs-master",
|
"nixpkgs-master": "nixpkgs-master",
|
||||||
"nvidia-patch": "nvidia-patch",
|
"nvidia-patch": "nvidia-patch",
|
||||||
"pepeflake": "pepeflake"
|
"pepeflake": "pepeflake"
|
||||||
@ -258,9 +312,24 @@
|
|||||||
"type": "github"
|
"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": {
|
"utils": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"systems": "systems_2"
|
"systems": "systems_3"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1710146030,
|
"lastModified": 1710146030,
|
||||||
|
@ -14,6 +14,7 @@
|
|||||||
url = "github:icewind1991/nvidia-patch-nixos";
|
url = "github:icewind1991/nvidia-patch-nixos";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
|
langtool-ngrams.url = "github:peperunas/nix-languagetool-ngram";
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs =
|
outputs =
|
||||||
@ -26,6 +27,7 @@
|
|||||||
, nvidia-patch
|
, nvidia-patch
|
||||||
, agenix-flake
|
, agenix-flake
|
||||||
, pepeflake
|
, pepeflake
|
||||||
|
, langtool-ngrams
|
||||||
}:
|
}:
|
||||||
let
|
let
|
||||||
sysLinuxX64 = "x86_64-linux";
|
sysLinuxX64 = "x86_64-linux";
|
||||||
@ -65,6 +67,7 @@
|
|||||||
localPkgs = importNixpkgs { flake = local-unstable; };
|
localPkgs = importNixpkgs { flake = local-unstable; };
|
||||||
agenixPkgs = importNixpkgs { flake = agenix-flake; };
|
agenixPkgs = importNixpkgs { flake = agenix-flake; };
|
||||||
pepePkgs = pepeflake.packages.${system} // pepeflake.legacyPackages.${system} or { };
|
pepePkgs = pepeflake.packages.${system} // pepeflake.legacyPackages.${system} or { };
|
||||||
|
langtoolPkgs = langtool-ngrams.packages.${system} // langtool-ngrams.legacyPackages.${system} or { };
|
||||||
|
|
||||||
additionalOverlays = [
|
additionalOverlays = [
|
||||||
(final: prev: { inherit unstablePkgs; })
|
(final: prev: { inherit unstablePkgs; })
|
||||||
@ -72,6 +75,7 @@
|
|||||||
(final: prev: { inherit agenixPkgs; })
|
(final: prev: { inherit agenixPkgs; })
|
||||||
(final: prev: { inherit masterPkgs; })
|
(final: prev: { inherit masterPkgs; })
|
||||||
(final: prev: { inherit pepePkgs; })
|
(final: prev: { inherit pepePkgs; })
|
||||||
|
(final: prev: { inherit langtoolPkgs; })
|
||||||
];
|
];
|
||||||
in
|
in
|
||||||
import nixpkgs {
|
import nixpkgs {
|
||||||
|
@ -278,6 +278,11 @@ in
|
|||||||
enableBeets = true;
|
enableBeets = true;
|
||||||
beetsPackage = pkgs.unstablePkgs.beets;
|
beetsPackage = pkgs.unstablePkgs.beets;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
languagetool = {
|
||||||
|
enable = true;
|
||||||
|
domain = "lang.giugl.io";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -16,5 +16,6 @@
|
|||||||
./redlib
|
./redlib
|
||||||
./sonarr
|
./sonarr
|
||||||
./headscale
|
./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