I tested Omarchy Quattro, one of the first Linux distros to go all in on AI - and I didn't hate it
Back to Tutorials
techTutorialintermediate

I tested Omarchy Quattro, one of the first Linux distros to go all in on AI - and I didn't hate it

August 18, 20268 views4 min read

Learn to install and configure Hyprland window manager for AI-focused development environments, including workspace setup, keybindings, and customizations.

Introduction

In this tutorial, we'll explore how to set up and customize the Hyprland window manager on a Linux system, inspired by the Omarchy Quattro distribution's success with this tiling WM. Hyprland is a modern, dynamic tiling window manager that's gaining popularity for its performance and flexibility. We'll walk through installation, basic configuration, and customizing key features that make it appealing for AI-focused workflows.

Prerequisites

  • A Linux system with X11 or Wayland support
  • Basic understanding of terminal commands
  • Package manager access (apt for Ubuntu/Debian, pacman for Arch, etc.)
  • Basic knowledge of text editors (vim, nano, or your preferred editor)

Step 1: Installing Hyprland

Install Hyprland and Dependencies

First, we need to install Hyprland and its required dependencies. The installation process varies depending on your distribution.

For Arch-based systems:

sudo pacman -S hyprland waybar swaybg xorg-xwayland

For Debian/Ubuntu-based systems:

sudo apt update
sudo apt install hyprland waybar swaybg xwayland

Why this step: Hyprland requires several components to function properly, including a compositor, status bar (waybar), and X11 support for legacy applications. Installing these ensures a complete environment.

Step 2: Creating Configuration Directories

Set Up Configuration Structure

Hyprland uses a configuration directory structure. We need to create the necessary directories and files.

mkdir -p ~/.config/hypr
mkdir -p ~/.config/waybar

Why this step: The configuration files need to be in specific locations for Hyprland to recognize them. This creates the proper directory structure for our customizations.

Step 3: Basic Hyprland Configuration

Create Main Configuration File

Now we'll create the main Hyprland configuration file that defines window behavior, keybindings, and other core settings.

cat > ~/.config/hypr/hyprland.conf << EOF
# Basic Hyprland configuration

# Monitor settings
monitor=,preferred,auto,1

# Window rules
windowrule=tile,Firefox
windowrule=tile,Chromium
windowrule=tile,Google Chrome

# Keybindings
bind = $mod, Return, exec, alacritty
bind = $mod, q, killactive
bind = $mod, d, exec, rofi -show drun
bind = $mod, e, exec, thunar

# Workspace settings
workspace = 1, name:1
workspace = 2, name:2
workspace = 3, name:3
workspace = 4, name:4

# Animation settings
animations = true
animation = fade, 1, 5, default

# Border settings
decoration = true
border = 2

# Input settings
input = { 
  kb_layout = us
  kb_variant = 
  kb_options = 
}
EOF

Why this step: This configuration file sets up the fundamental behavior of Hyprland. We're defining keybindings for common actions, workspace management, and basic visual settings that make the environment efficient for productivity.

Step 4: Setting Up Waybar

Create Waybar Configuration

Waybar is the status bar that displays system information. We'll create a basic configuration for it.

cat > ~/.config/waybar/config << EOF
{
    "layer": "top",
    "position": "top",
    "height": 30,
    "modules-left": ["hyprland/window"],
    "modules-center": ["clock"],
    "modules-right": ["memory", "cpu", "temperature", "network", "pulseaudio", "battery", "tray"],
    "clock": {
        "format": "{:%H:%M}",
        "tooltip": true
    }
}
EOF

Why this step: A well-configured status bar is crucial for monitoring system resources and application states. The Waybar configuration provides essential system information at a glance.

Step 5: Customizing for AI Development

Enhanced Configuration for AI Workflows

For AI development, we want to optimize our environment for code editing, terminal usage, and application management.

cat > ~/.config/hypr/hyprland.conf << EOF
# Enhanced AI-focused Hyprland configuration

# Monitor settings
monitor=,preferred,auto,1

# Window rules for AI tools
windowrule=tile,Code
windowrule=tile,PyCharm
windowrule=tile,Visual Studio Code
windowrule=tile,Jupyter
windowrule=tile,Google Chrome
windowrule=tile,Firefox

# Keybindings for AI development
bind = $mod, c, exec, code
bind = $mod, t, exec, alacritty
bind = $mod, b, exec, brave
bind = $mod, f, exec, firefox
bind = $mod, j, exec, jupyter

# Workspace settings
workspace = 1, name:Dev
workspace = 2, name:Notebook
workspace = 3, name:Browser
workspace = 4, name:Chat

# Animation settings
animations = true
animation = fade, 1, 5, default

# Border settings
decoration = true
border = 2

# Input settings
input = { 
  kb_layout = us
  kb_variant = 
  kb_options = 
}

# Startup applications
exec-once = waybar
exec-once = swaybg -i ~/Pictures/wallpaper.jpg
EOF

Why this step: AI development requires specific tool arrangements. This configuration creates dedicated workspaces for different development tasks and optimizes window management for common AI development tools.

Step 6: Testing and Launching Hyprland

Start Hyprland Session

First, we need to make sure we have a proper session file to launch Hyprland.

cat > ~/.xprofile << EOF
#!/bin/sh
export XDG_CURRENT_DESKTOP=Hyprland
export XDG_SESSION_TYPE=wayland
export GDK_BACKEND=wayland
export QT_QPA_PLATFORM=wayland
export QT_WAYLAND_DISABLE_WINDOWDECORATION=1
EOF

Then, create a session launcher:

cat > ~/.local/bin/hyprland-session << EOF
#!/bin/bash
export XDG_CURRENT_DESKTOP=Hyprland
export XDG_SESSION_TYPE=wayland
export GDK_BACKEND=wayland
export QT_QPA_PLATFORM=wayland
export QT_WAYLAND_DISABLE_WINDOWDECORATION=1
exec Hyprland
EOF
chmod +x ~/.local/bin/hyprland-session

Why this step: Proper environment variables ensure that all applications launch correctly within the Hyprland environment. The session launcher provides a clean way to start Hyprland with the correct settings.

Step 7: Advanced Customization

Adding Custom Scripts

For AI development, we might want to add scripts for quick tasks:

cat > ~/.local/bin/ai-dev-setup << EOF
#!/bin/bash
# Quick setup for AI development
mkdir -p ~/ai_projects/{data,models,notebooks,src}
echo "AI development environment ready"
EOF
chmod +x ~/.local/bin/ai-dev-setup

Why this step: Custom scripts can automate repetitive tasks in AI development, such as setting up project directories or launching development environments.

Summary

In this tutorial, we've installed and configured Hyprland for an AI-focused development environment. We've set up the basic window manager, configured keybindings for common tasks, created a status bar, and optimized the environment for AI development workflows. The key advantages of this approach include:

  • Efficient window management with tiling and dynamic layouts
  • Customizable workspaces for different development tasks
  • Optimized keybindings for rapid application switching
  • Performance benefits from modern Wayland support

This setup provides a solid foundation for AI development that's both efficient and customizable, similar to what Omarchy Quattro offers with its focus on AI integration.

Source: ZDNet AI

Related Articles