Merge branch 'dev' into rc

This commit is contained in:
David Heinemeier Hansson
2026-02-21 15:13:42 +01:00
21 changed files with 232 additions and 119 deletions
+1
View File
@@ -129,6 +129,7 @@ misc {
# https://wiki.hypr.land/Configuring/Variables/#cursor
cursor {
hide_on_key_press = true
warp_on_change_workspace = 1
}
# Auto toggle scratchpad on switching workspace from scratchpad
+19 -22
View File
@@ -1,22 +1,26 @@
---
name: omarchy
description: >
REQUIRED for ANY changes to Linux desktop, window manager, or system config.
REQUIRED for end-user customization of Linux desktop, window manager, or system config.
Use when editing ~/.config/hypr/, ~/.config/waybar/, ~/.config/walker/,
~/.config/alacritty/, ~/.config/kitty/, ~/.config/ghostty/, ~/.config/mako/,
or ~/.config/omarchy/. Triggers: Hyprland, window rules, animations, keybindings,
monitors, gaps, borders, blur, opacity, waybar, walker, terminal config, themes,
wallpaper, night light, idle, lock screen, screenshots, layer rules, workspace
settings, display config, or any omarchy-* commands.
settings, display config, and user-facing omarchy commands. Excludes Omarchy
source development in ~/.local/share/omarchy/ and omarchy-dev-* workflows.
---
# Omarchy Skill
Manage [Omarchy](https://omarchy.org/) Linux systems - a beautiful, modern, opinionated Arch Linux distribution with Hyprland.
This skill is for end-user customization on installed systems.
It is not for contributing to Omarchy source code.
## When This Skill MUST Be Used
**ALWAYS invoke this skill when the user's request involves ANY of these:**
**ALWAYS invoke this skill for end-user requests involving ANY of these:**
- Editing ANY file in `~/.config/hypr/` (window rules, animations, keybindings, monitors, etc.)
- Editing ANY file in `~/.config/waybar/`, `~/.config/walker/`, `~/.config/mako/`
@@ -25,14 +29,16 @@ Manage [Omarchy](https://omarchy.org/) Linux systems - a beautiful, modern, opin
- Window behavior, animations, opacity, blur, gaps, borders
- Layer rules, workspace settings, display/monitor configuration
- Themes, wallpapers, fonts, appearance changes
- Any `omarchy-*` command
- User-facing `omarchy-*` commands (`omarchy-theme-*`, `omarchy-refresh-*`, `omarchy-restart-*`, etc.)
- Screenshots, screen recording, night light, idle behavior, lock screen
**If you're about to edit a config file in ~/.config/ on this system, STOP and use this skill first.**
**Do NOT use this skill for Omarchy development tasks** (editing files in `~/.local/share/omarchy/`, creating migrations, or running `omarchy-dev-*` workflows).
## Critical Safety Rules
**NEVER modify anything in `~/.local/share/omarchy/`** - but READING is safe and encouraged.
**For end-user customization tasks, NEVER modify anything in `~/.local/share/omarchy/`** - but READING is safe and encouraged.
This directory contains Omarchy's source files managed by git. Any changes will be:
- Lost on next `omarchy-update`
@@ -60,6 +66,8 @@ This directory contains Omarchy's source files managed by git. Any changes will
- `~/.config/omarchy/themes/<custom-name>/` - Custom themes (must be real directories)
- `~/.config/omarchy/hooks/` - Custom automation hooks
If the request is to develop Omarchy itself, this skill is out of scope. Follow repository development instructions instead of this skill.
## System Architecture
Omarchy is built on:
@@ -336,26 +344,15 @@ When user requests system changes:
2. **Is it a config edit?** Edit in `~/.config/`, never `~/.local/share/omarchy/`
3. **Is it a theme customization?** Create a NEW custom theme directory
4. **Is it automation?** Use hooks in `~/.config/omarchy/hooks/`
5. **Is it a package install?** Use `yay`
5. **Is it a package install?** Use `omarchy-pkg-add` (or `omarchy-pkg-aur-add` for AUR-only packages)
6. **Unsure if command exists?** Search with `compgen -c | grep omarchy`
## Development (AI Agents)
## Out of Scope
When contributing to Omarchy itself (e.g., fixing bugs, adding features), migrations are used to apply changes to existing installations.
### Creating Migrations
```bash
# ALWAYS use --no-edit flag or you will get stuck
omarchy-dev-add-migration --no-edit
```
This creates a new migration file and outputs its path without opening an editor. The migration filename is based on the git commit timestamp.
**Migration files** are shell scripts in `~/.local/share/omarchy/migrations/` that run once per system during `omarchy-update`. Use them for:
- Updating user configs with new defaults
- Installing new dependencies
- Running one-time setup tasks
This skill intentionally does not cover Omarchy source development. Do not use this skill for:
- Editing files in `~/.local/share/omarchy/` (`bin/`, `config/`, `default/`, `themes/`, `migrations/`, etc.)
- Creating or editing migrations
- Running `omarchy-dev-*` commands
## Example Requests
+98
View File
@@ -0,0 +1,98 @@
import QtQuick 2.0
import SddmComponents 2.0
Rectangle {
id: root
width: 640
height: 480
color: "#000000"
property string currentUser: userModel.lastUser
property int sessionIndex: {
for (var i = 0; i < sessionModel.rowCount(); i++) {
var name = (sessionModel.data(sessionModel.index(i, 0), Qt.DisplayRole) || "").toString()
if (name.indexOf("uwsm") !== -1)
return i
}
return sessionModel.lastIndex
}
Connections {
target: sddm
function onLoginFailed() {
errorMessage.text = "Login failed"
password.text = ""
password.focus = true
}
function onLoginSucceeded() {
errorMessage.text = ""
}
}
Column {
anchors.centerIn: parent
spacing: root.height * 0.04
width: parent.width
Image {
source: "logo.svg"
width: root.width * 0.35
height: Math.round(width * sourceSize.height / sourceSize.width)
fillMode: Image.PreserveAspectFit
anchors.horizontalCenter: parent.horizontalCenter
}
Row {
anchors.horizontalCenter: parent.horizontalCenter
spacing: root.width * 0.007
Text {
text: "\uf023"
color: "#ffffff"
font.family: "JetBrainsMono NF"
font.pixelSize: root.height * 0.025
anchors.verticalCenter: parent.verticalCenter
}
Rectangle {
width: root.width * 0.17
height: root.height * 0.04
color: "#000000"
border.color: "#ffffff"
border.width: 1
TextInput {
id: password
anchors.fill: parent
anchors.margins: root.height * 0.008
verticalAlignment: TextInput.AlignVCenter
echoMode: TextInput.Password
font.family: "JetBrainsMono NF"
font.pixelSize: root.height * 0.02
font.letterSpacing: root.height * 0.004
passwordCharacter: "\u2022"
color: "#ffffff"
focus: true
Keys.onPressed: {
if (event.key === Qt.Key_Return || event.key === Qt.Key_Enter) {
sddm.login(root.currentUser, password.text, root.sessionIndex)
event.accepted = true
}
}
}
}
}
Text {
id: errorMessage
text: ""
color: "#f7768e"
font.family: "JetBrainsMono NF"
font.pixelSize: root.height * 0.018
anchors.horizontalCenter: parent.horizontalCenter
}
}
Component.onCompleted: password.forceActiveFocus()
}
+1
View File
@@ -0,0 +1 @@
<svg fill="none" height="285" viewBox="0 0 1215 285" width="1215" xmlns="http://www.w3.org/2000/svg"><g fill="#9ece6a"><path clip-rule="evenodd" d="m720 120h-15v15h-14.998v14.999l-60.002.001v15.002l90-.002v.002h.002l-.002 89.998h-15v15h-13v15h-17v-89.998h-45v90l-45-.002v-89.998h-14.998v-30h14.998v-15.002h-14.998v-30.001h14.998v-75h15v-14.997h15v-15.002h105.002zm-90-.001h45v-74.997h-45z" fill-rule="evenodd"/><path clip-rule="evenodd" d="m105 30.002h15v14.997h15v180.001h-15v15h-15v15.002h-75v-15.002h-15v-15h-15v-180.001h15v-14.997h15v-15.002h75zm-60 194.998h45v-179.998h-45z" fill-rule="evenodd"/><path d="m300 15h60v15h15v14.999h15v180.001h-15v15h-15v15h-15l-.004-209.998h-44.994v-.002h-.002v210.002h-45v-210h-44.998v179.997h-.002v30.003h-15v-15.002h-15v-15h-14.998v-180.001h14.998v-14.999h15v-15h60v-15h45z"/><path clip-rule="evenodd" d="m555 225h-15v15h-15v15h-15v-105.001l-44.998.001v105.002h-45.002v-105.002h-15v-30.001h15v-75h15.002v-14.997h15v-15.002h105zm-89.998-105.001h44.998v-74.997h-44.998z" fill-rule="evenodd"/><path d="m885 75h-15v15h-15v15h-15v-59.998h-45v179.998h45v-59.998h15v14.997h15v15.001h15v30h-15v15h-15v15.002l-105-.002v-210.001h14.998v-14.997h15.002v-15.002h105z"/><path d="m960 119.999h45v-104.999h15v15h15v14.999h15v75.001h15v15h-15v90h-15v15h-15v15h-15v-105h-45v105.002l-45-.002v-105h-30v-15h15v-15.001h15v-75h15v-14.997h15v-15.002h15z"/><path d="m1125 119.999h45v-104.999h15v15h15v15h15v180h-15v15h-15v15.002l-75-.002v-15h-15v-15h-15v-45.001h15v-14.997-.002h30v60h45v-75h-90v-105.001h15v-14.997h15v-15.002h15z"/></g></svg>

After

Width:  |  Height:  |  Size: 1.5 KiB

+6
View File
@@ -0,0 +1,6 @@
[SddmGreeterTheme]
Name=Omarchy
Description=Minimal terminal-style login theme matching the Limine bootloader aesthetic
Author=Omarchy
Type=sddm-theme
Version=1.0
+1
View File
@@ -0,0 +1 @@
[General]
@@ -0,0 +1,2 @@
[Service]
TimeoutStopSec=5s