{
  lib,
  config,
  pkgs,
  ...
}: let
  inherit (lib) mkEnableOption mkIf;
  cfg = config.horseman.apps.visual;
in {
  imports = [
    ./firefox.nix
  ];

  options = {
    horseman.apps.visual = {
      enable = mkEnableOption "Apps that run in a visual window";
    };
  };

  config = mkIf cfg.enable {
    horseman.apps.visual = {
      firefox.enable = true;
    };

    horseman.dots = {
      kitty.enable = true;
    };

    environment.systemPackages = with pkgs; [
      bitwarden-desktop
      blender
      gparted
      inkscape
      kitty
      krita
      libreoffice
      mullvad-vpn
      qbittorrent
      reaper
      signal-desktop
      solaar
      spotify
      vesktop
      vlc
      zathura
    ];

    fonts = {
      enableDefaultPackages = true;
      packages = with pkgs; [
        nerd-fonts.caskaydia-cove
        font-awesome_7
      ];
    };
  };
}
