Skip to content
All projects

Hyprlander

Command-line tool for the Hyprland window manager

Describe the change you want in plain language, and Hyprlander edits your Hyprland config for you.

Status
Shipped
Period
Sep 2025 - Nov 2025
Built with
  • Go
  • Gemini API
  • Hyprland

What it does

  • Built a command-line tool that manages and customizes the Hyprland window manager from plain-language requests, such as “make my desktop more minimalist”.
  • Used a ReAct agent architecture: the agent reasons about the request and the current setup, acts on the config files, observes the result, and iterates until the task is done.
  • Integrated the Gemini API to interpret requests, with actions that read, back up, and modify Hyprland config files.
  • Wrote it in Go, inspired by tools like gemini-cli and claude-code.

What it is

Hyprlander is a command-line tool that makes it easier to manage and customize the Hyprland window manager. Instead of digging through config files or memorizing syntax, you type what you want to change and it works out the edits.

How it works

Hyprlander runs a ReAct loop. The agent reasons about your request and your current Hyprland configuration, acts by reading, backing up, and modifying config files, then observes the result and checks for conflicts. It keeps iterating until the task is complete, using the Gemini API to interpret what you ask for.

Using it

Running hyprlander init stores your Gemini API key. After that, a request like hyprlander prompt “I’m having screen tearing issues” starts a conversation with your Hyprland setup.

What the agent can do

The agent is given three tools: read a file, write a file, and run a shell command. The write tool shows a diff of the change before it lands. It is built on Cobra for the command line and Google’s Go SDK for the Gemini API.

Where it stands

The command-line structure, the init flow, API key storage, and the ReAct agent core are done. Still on the roadmap: safer config edits with rollback, a tool for researching the Hyprland docs, and integration with community configs and themes.

How it works

  1. Your request

    “make my desktop more minimalist”

  2. Reason

    reads your request and current setup, with the Gemini API

  3. Act

    reads, backs up, and edits config files

    repeat until done
  4. Observe

    validates changes and checks for conflicts

A ReAct agent loop, written in Go.

Next projectFlutterGenerator