# settings/desktop.nix — display manager, lightweight fallback session, GTK/Qt theming
{ config, pkgs, lib, inputs, ... }:
{
  config = lib.mkIf (lib.elem config.networking.hostName [ "FredOS-Gaming" "FredOS-Macbook" ]) {
    services.xserver.enable = true;
    services.displayManager.ly.enable = true;
    services.displayManager.defaultSession = "hyprland";
    boot.plymouth.enable = true;
    boot.kernelParams = [ "quiet" ];

    services.displayManager.ly.settings = {
      animation = "none";
      bigclock   = true;
    };

    # Flatpak for ad-hoc app installs via Bazaar
    services.flatpak.enable = true;

    environment.systemPackages = with pkgs; [
      nemo                 # file manager
      adwaita-icon-theme
      gnome-themes-extra
      adwaita-icon-theme-legacy
      papirus-icon-theme
    ];

    # Cursor theme — stylix.cursor in settings/stylix.nix owns the choice.
    environment.sessionVariables = {
      XCURSOR_THEME = "Bibata-Modern-Ice";
      XCURSOR_SIZE = "24";
      XCURSOR_PATH = lib.mkForce [
        "${pkgs.bibata-cursors}/share/icons"
        "$HOME/.icons"
        "$HOME/.local/share/icons"
      ];
    };

    programs.xwayland.enable = true;
    programs.dconf.enable = true;

    home-manager.users.fred = { config, lib, pkgs, ... }: {
      # Stylix's qt target only supports qtct; disable it to silence the warning.
      stylix.targets.qt.enable = false;
      # Minimal titlebars — stylix manages the GTK theme; we layer our
      # headerbar shrink on top via stylix.targets.gtk.extraCss.
      gtk.enable = true;
      gtk.gtk4.theme = null;

      dconf.settings."org/nemo/window-state".start-with-menu-bar = false;

      stylix.targets.gtk.extraCss = ''
        headerbar { min-height: 0; padding: 0; margin: 0; }
        headerbar .title { font-size: 0; }
        window:backdrop {
          background-color: @window_bg_color;
          color: @window_fg_color;
        }
        window:backdrop headerbar {
          background-color: @headerbar_bg_color;
          color: @headerbar_fg_color;
        }
      '';
    };
  };
}
