{ 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 ]; }; }