30 lines
731 B
Nix
30 lines
731 B
Nix
{ config, lib, pkgs, ... }:
|
|
|
|
let cfg = config.sydnix.hunspell;
|
|
in {
|
|
options.sydnix.hunspell = {
|
|
enable = lib.mkEnableOption "Hunspell";
|
|
package = lib.mkPackageOption pkgs "hunspell" {};
|
|
dictionaries = lib.mkOption {
|
|
description = ''
|
|
Hunspell dictionary packages to install.
|
|
'';
|
|
default = _: [];
|
|
type = lib.types.anything // {
|
|
merge =
|
|
_loc: defs: dicts: lib.concatMap (f: f dicts) (lib.getValues defs);
|
|
check = lib.isFunction;
|
|
};
|
|
};
|
|
};
|
|
|
|
config = lib.mkIf cfg.enable {
|
|
home.sessionVariables.DICPATH =
|
|
lib.makeSearchPath
|
|
"share/hunspell"
|
|
(cfg.dictionaries pkgs.hunspellDicts);
|
|
|
|
home.packages = [ cfg.package ];
|
|
};
|
|
}
|