{
  lib,
  config,
  pkgs,
  ...
}: let
  cfg = config.myPrograms;
in {
  imports = [./foot.nix ./thunderbird.nix ./nextcloud.nix ./udiskie.nix];

  options = {
    myPrograms.enable = lib.mkEnableOption "programs for desktop use";
  };

  config = lib.mkIf cfg.enable {
    myPrograms.foot.enable = lib.mkDefault true;
    myPrograms.thunderbird.enable = lib.mkDefault true;
    myPrograms.nextcloud.enable = lib.mkDefault true;
    myPrograms.udiskie.enable = lib.mkDefault true;

    home.packages = with pkgs; [
      unzip
      firefox
      xournalpp
      prismlauncher
      steam
      blender
      betaflight-configurator
      loudgain
      youtube-dl
      dconf
      distrobox
      libqalculate
      sops
      pwvucontrol
      qpwgraph
      discord
      libreoffice-fresh
      mate.caja
      libsForQt5.okular
      mpv
      gimp
      freecad
      flatpak
      wine
      unstable.gyroflow
      prusa-slicer
    ];
  };
}