# Enabling Desktop Environment A desktop/graphical interface can be enabled on any kind of systems (regardless of puppet role). ## Full Desktop Configuration A full desktop configuration with Gnome, office software and printing is enabled for the Puppet roles `role::workstation` and `role::console` or, independent of the role, in Hiera with ``` base::is_workstation: true ``` ## Customized Desktop Configuration But desktop features can also be individually be switched on or off. For printing check out the [respective guide](printing). The availability of the desktop is controlled with ```yaml base::enable_desktop: true ``` By default this will install and enable Gnome as desktop and gdm as Display Manager. Without below options do not have any effect! The desktop configuration can be further refined and/or adapted by following keys: ```yaml desktop::display_manager: gdm # available options: gdm (default), lightdm # this will set the default session manager aka desktop desktop::session_manager: gnome-xorg # availale options: gnome-xorg (default on RHEL8), gnome-wayland (default on RHEL9), gnome-classic, xfce, ... ``` Individual desktops can be enabled/disabled via: ```yaml desktop::enable_gnome: true # true (default) desktop::enable_xfce: true # false (default) desktop::enable_icewm: true # false (default) ``` The installation of office applications can be enforced with ```yaml desktop::enable_office_apps: true ``` Further refinements can be done as documented in the other guides in this section. Finally here a rough overview of the destopprofile structure: ![Structure desktop profile](_static/desktop_profile.svg) [Structure desktop_profile](_static/desktop_profile.excalidraw)