{ config, lib, pkgs, globalInputs, system, ... }:

{
  # Home Manager configuration for compact laptop setups
  # Optimized for space-constrained environments
  
  home.username = "johno";
  home.homeDirectory = "/home/johno";
  home.stateVersion = "24.05";

  # Enable essential roles only (exclude heavy office/media packages)
  home.roles = {
    base.enable = true;
    desktop.enable = true;
    development.enable = true;
    communication.enable = true;
    email.enable = true;
    kdeconnect.enable = true;
    media.enable = true;
    sync.enable = true;
    kubectl.enable = true;
    tmux.enable = true;
    plasma-manager.enable = true;
    emacs.enable = true;
    i3_sway.enable = true;

    # Launcher wrappers for excluded/optional packages
    launchers = {
      enable = true;
      packages = [
        "libreoffice"
      ];
    };
  };

  targets.genericLinux.enable = true;
  home.sessionVariables = {};
  home.sessionPath = [];

  imports = [
    ./roles
    ./roles/base-linux
  ];
}
