{
  pkgs,
  lib,
  config,
  ...
}:
with lib;
{
  options.components.gui = {
    enable = lib.mkEnableOption "GUI configurations";
  };

  imports = [
    # todo : structure with home-manager and such is not cool, create another structure
    ./audio.nix
    ./browser.nix
    ./cups.nix
    ./home-manager
    ./kde.nix
    ./kmonad.nix
    ./noti.nix # todo: make this different (use password store and such)
    ./pass.nix
    ./steam.nix
    ./suspend.nix
    ./vscode.nix
    ./wayland.nix
    ./xorg
  ];

  config = mkIf config.components.gui.enable {
    # todo extract xorg stuff to prepare wayland
    environment.enableAllTerminfo = true;
    qt.platformTheme = "qt5ct";
  };

}