Skip to Content
Building OsDesktop Customization

Desktop Customization

Configure GNOME desktop settings for Ubuntu and Debian desktop images.

Enabling Desktop

Include the desktop feature in your build:

Create an Ubuntu desktop workstation with GNOME

This installs:

  • GNOME Shell
  • GDM display manager
  • Core GNOME applications
  • NetworkManager

Customization Options

Theme

Set the overall appearance:

"desktop": { "theme": "dark" }
ValueDescription
lightLight mode (default)
darkDark mode
systemFollow system preference

Accent Color

Customize the accent color (GNOME 46+):

"desktop": { "accentColor": "blue" }

Available colors: blue, teal, green, yellow, orange, red, pink, purple

Wallpaper

Set a custom desktop background:

"desktop": { "wallpaper": "/usr/share/backgrounds/custom.png" }

You can include custom wallpapers via startup scripts or packages.

Favorites

Configure dock/dash favorites:

"desktop": { "favorites": [ "firefox.desktop", "org.gnome.Terminal.desktop", "org.gnome.Nautilus.desktop", "code.desktop" ] }

Fonts

Configure system fonts:

"desktop": { "fonts": { "interface": "Inter 11", "document": "Inter 11", "monospace": "JetBrains Mono 10" } }

Power Management

Configure power settings:

"desktop": { "power": { "screenBlankTimeout": 300, "suspendOnIdle": false, "lidCloseAction": "nothing" } }

Shell Extensions

Enable GNOME Shell extensions:

"desktop": { "extensions": [ "dash-to-dock@micxgx.gmail.com", "appindicatorsupport@rgcjonas.gmail.com" ] }

Complete Example

"desktop": { "theme": "dark", "accentColor": "purple", "wallpaper": "/usr/share/backgrounds/company-logo.png", "favorites": [ "firefox.desktop", "org.gnome.Terminal.desktop", "code.desktop", "slack.desktop" ], "fonts": { "interface": "Ubuntu 11", "monospace": "Ubuntu Mono 12" }, "power": { "screenBlankTimeout": 600, "suspendOnIdle": false }, "extensions": [ "dash-to-dock@micxgx.gmail.com" ] }

Natural Language Examples

Development Workstation

Create an Ubuntu desktop for development with: - Dark theme - VS Code, Firefox, and Terminal in dock - JetBrains Mono font - No screen lock timeout

Corporate Desktop

Ubuntu desktop with: - Light theme - Company wallpaper at /opt/branding/wallpaper.png - Chrome, Slack, and LibreOffice in favorites - 10 minute screen timeout

Minimal Desktop

Debian with minimal GNOME desktop - No extra applications - Dark theme - Just terminal and file manager

Application Installation

Desktop builds can include additional applications:

Install these desktop applications: - VS Code - Slack - Zoom - LibreOffice

OpenFactory adds these to the image via packages or Flatpak.

Headless Alternative

For servers, use the headless feature instead:

Create a headless Debian server (no GUI)

This provides a minimal installation without any desktop components.

Verification

Desktop settings are applied via dconf during build. You can verify:

  1. File Browser - Check /etc/dconf/db/local.d/
  2. Test Results - GDM and GNOME session start correctly

Limitations

  • Desktop customization is only available for GNOME
  • Some settings require GNOME 40+ or 46+
  • Extension availability varies by distribution
  • Custom themes require additional packages