{
  lib,
  pkgs,
  config,
  inputs,
  ...
} @ args: let
  cfg = config.nixfiles.programs.comma;
in {
  imports = [
    inputs.nix-index-database.hmModules.nix-index
  ];

  options.nixfiles.programs.comma = {
    enable = lib.mkEnableOption "comma";
  };

  config = {
    programs.nix-index.symlinkToCacheHome = lib.mkDefault cfg.enable;
    home.packages = with pkgs;
      lib.optionals cfg.enable [
        comma
      ];
  };
}