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
+45
View File
@@ -0,0 +1,45 @@
#!/bin/bash
# Add an EFI boot entry for the Omarchy UKI, allowing the system to boot directly
# without a bootloader like Limine. Requires UEFI firmware and a built UKI.
if [[ ! -d /sys/firmware/efi ]]; then
echo "Error: System is not booted in UEFI mode" >&2
exit 1
fi
if ! efibootmgr &>/dev/null; then
echo "Error: efibootmgr is not available or not functional" >&2
exit 1
fi
if cat /sys/class/dmi/id/bios_vendor 2>/dev/null | grep -qi "American Megatrends"; then
echo "Error: American Megatrends firmware may not safely support custom EFI entries" >&2
exit 1
fi
if cat /sys/class/dmi/id/bios_vendor 2>/dev/null | grep -qi "Apple"; then
echo "Error: Apple firmware uses its own boot manager" >&2
exit 1
fi
uki_file=$(find /boot/EFI/Linux/ -name "omarchy*.efi" -printf "%f\n" 2>/dev/null | head -1)
if [[ -z $uki_file ]]; then
echo "Error: No Omarchy UKI found in /boot/EFI/Linux/" >&2
exit 1
fi
boot_source=$(findmnt -n -o SOURCE /boot)
disk=$(echo "$boot_source" | sed 's/p\?[0-9]*$//')
part=$(echo "$boot_source" | grep -o 'p\?[0-9]*$' | sed 's/^p//')
if ! gum confirm "Setup direct boot (so snapshot booting must be done via bios)?"; then
echo "Creating EFI boot entry for $uki_file"
sudo efibootmgr --create \
--disk "$disk" \
--part "$part" \
--label "Omarchy" \
--loader "\\EFI\\Linux\\$uki_file"
fi
+3 -2
View File
@@ -566,14 +566,15 @@ show_about() {
} }
show_system_menu() { show_system_menu() {
local options=" Lock\n󱄄 Screensaver" local options="󱄄 Screensaver\n Lock\n󰍃 Logout"
[[ -f ~/.local/state/omarchy/toggles/suspend-on ]] && options="$options\n󰒲 Suspend" [[ -f ~/.local/state/omarchy/toggles/suspend-on ]] && options="$options\n󰒲 Suspend"
omarchy-hibernation-available && options="$options\n󰤁 Hibernate" omarchy-hibernation-available && options="$options\n󰤁 Hibernate"
options="$options\n󰜉 Restart\n󰐥 Shutdown" options="$options\n󰜉 Restart\n󰐥 Shutdown"
case $(menu "System" "$options") in case $(menu "System" "$options") in
*Lock*) omarchy-lock-screen ;;
*Screensaver*) omarchy-launch-screensaver force ;; *Screensaver*) omarchy-launch-screensaver force ;;
*Lock*) omarchy-lock-screen ;;
*Logout*) omarchy-system-logout ;;
*Suspend*) systemctl suspend ;; *Suspend*) systemctl suspend ;;
*Hibernate*) systemctl hibernate ;; *Hibernate*) systemctl hibernate ;;
*Restart*) omarchy-cmd-reboot ;; *Restart*) omarchy-cmd-reboot ;;
+6
View File
@@ -0,0 +1,6 @@
#!/bin/bash
# Refresh the SDDM theme from default
sudo rm -rf /usr/share/sddm/themes/omarchy
sudo cp -r $OMARCHY_PATH/default/sddm/omarchy /usr/share/sddm/themes/omarchy
+11
View File
@@ -0,0 +1,11 @@
#!/bin/bash
# Logout command that first closes all application windows (thus giving them a chance to save state),
# then stops the session, returning to the SDDM login screen.
# Schedule the session stop after closing windows (detached from terminal)
nohup bash -c "sleep 2 && uwsm stop" >/dev/null 2>&1 &
# Now close all windows
omarchy-hyprland-window-close-all
sleep 1 # Allow apps like Chrome to shutdown correctly
-74
View File
@@ -1,74 +0,0 @@
# What changed?
## Additions
- Add single screenshot flow on PrintScr with editing option pushed to notification by @ryanrhughes
- Add Tmux with tailored config for improved aesthetics and ergonomics accessible via `t` alias in any terminal by @dhh
- Add hibernation by default on new installs by @dhh
- Add hybrid GPU mode toggle via supergfxctl for compatible laptops through _Trigger > Hardware_ by @dhh
- Add full compatibility (volume/brightness/hybrid GPU switching) with Asus Zephyrus G14/16 laptops by @dhh
- Add Motorcomm YT6801 ethernet driver for Slimbook + Tuxedo laptops by @dhh
- Add automatic power profile switching when plugged/unplugged by @pomartel
- Add SSH port forwarding functions fip/dip/lip for web development by @dhh
- Add `eff` command to open fuzzy find results directly in your editor by @dhh
- Add NVIDIA GeForce Now installer and window rules via *Install > Gaming* by @dhh
- Add option to remove all preinstalls via *Remove > Preinstalls* by @dhh
- Add audio soft mixer as opt-in toggle via *Setup > Audio* by @dhh
- Add `~/.config/omarchy/extensions/menu.sh` for overloading any menu action by @bhaveshsooka
- Add nautilus-python for "Open in Ghostty" context menu by @pomartel
- Add automatic fallback to Alacritty for legacy GPUs on install by @yaroslavrick
- Add window rules for Bitwarden Chrome Extension by @sgruendel
- Add emoji picker auto-pasting by @pomartel
- Add back mainline Chromium now that upstream has live theming fixed by @dhh
### Aesthetics
- Add theme synced keyboard backlighting on Asus ROG laptops by @dhh
- Add new default wallpaper for Tokyo Night theme by @Maxteabag
- Add Miasma theme by @OldJobobo
- Add Vantablack theme by @bjarneo
- Add headset icon for audio in Waybar by @pomartel
## Keybindings
- Add `Super + Shift + Return` as alternative keybind for launching browser by @dhh
- Add `Super + Ctrl + C` as alternative capture keybind for machines without PrintScr button by @dhh
- Add `Super + Alt + Shift + F` to open nautilus in current directory of terminal by X
- Add `Super + Ctrl + Alt + Backspace` to toggle single-window square aspect ratio by @dhh
- Add `Super + Ctrl + Backspace` to toggle resolution between 1-1.6-2-3x by @dhh
- Add opening Nautilus in terminal's current working directory by @schwepmo
- Add scratchpad auto-toggle on workspace switch by @mitanjan
## Fixes
- Fix AUR package installation to prefer AUR over repos when available by @dhh
- Fix Ghostty high IO pressure on some machines by @NicolasDorier
- Fix NVIDIA environment variables for Maxwell/Pascal/Volta GPUs by @johnzfitch
- Fix JetBrains window rules not working properly by @NicolasDorier
- Fix Telegram stealing focus on every message by @ryanrhughes
- Fix Steam window opacity rules by @nptr
- Fix video PWA window rules by @dhh
- Fix Walker crashing and not restarting by @dhh
- Fix hibernation to work reliably across different laptops by @dhh
- Fix hyprlock fingerprint auth check by @dhh
- Fix update snapshots not being cleaned on failed updates by @Mridul-Agarwal
- Fix Windows VM clipboard sharing in RDP by @arcangelo7
- Fix Windows VM dynamic boot detection by @felixzsh
- Fix Windows VM timezone and add confirmation before VM removal by @pomartel
- Fix gum confirm color for "no" option by @dhh
- Fix omarchy-update-firmware premature exit by @nnutter
- Fix swayosd style path by @gilescope
- Fix yq dependency by replacing with pure bash TOML parsing by @dhh
- Fix AUR updates broken by interrupted git sessions by @dhh
- Fix Synaptics InterTouch touchpad detection by @Sameer292
- Fix Starship prompt sanitization by @jamesrobey
- Fix Chromium Wayland color manager flag removal by @shreyansh-malviya
- Fix Development remove menu icons by @annoyedmilk
- Fix kb_variant support in input.conf by @manuel-rams
- Fix wiremix default device character display by @l1ghty
- Fix opencode auto-update disabled for pacman management by @sgruendel
- Fix Waybar Omarchy glyph spacing with thin space by @horaceko
- Fix suspend-to-hibernate failing on several laptops by removing it as a default by @dhh
- Fix missing Wayland color manager disabling flag in Chromium by @shreyansh-malviya
- Fix x11 fallback in SDL_VIDEODRIVER for compatibility by @ryanrhughes
- Fix AUR packages shouldn't update until after system packages and migrations by @dhh
+3
View File
@@ -18,6 +18,9 @@ input {
# Increase sensitivity for mouse/trackpad (default: 0) # Increase sensitivity for mouse/trackpad (default: 0)
# sensitivity = 0.35 # sensitivity = 0.35
# Turn off mouse acceleration (default: false)
# force_no_accel = true
touchpad { touchpad {
# Use natural (inverse) scrolling # Use natural (inverse) scrolling
+1
View File
@@ -129,6 +129,7 @@ misc {
# https://wiki.hypr.land/Configuring/Variables/#cursor # https://wiki.hypr.land/Configuring/Variables/#cursor
cursor { cursor {
hide_on_key_press = true hide_on_key_press = true
warp_on_change_workspace = 1
} }
# Auto toggle scratchpad on switching workspace from scratchpad # Auto toggle scratchpad on switching workspace from scratchpad
+19 -22
View File
@@ -1,22 +1,26 @@
--- ---
name: omarchy name: omarchy
description: > 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/, Use when editing ~/.config/hypr/, ~/.config/waybar/, ~/.config/walker/,
~/.config/alacritty/, ~/.config/kitty/, ~/.config/ghostty/, ~/.config/mako/, ~/.config/alacritty/, ~/.config/kitty/, ~/.config/ghostty/, ~/.config/mako/,
or ~/.config/omarchy/. Triggers: Hyprland, window rules, animations, keybindings, or ~/.config/omarchy/. Triggers: Hyprland, window rules, animations, keybindings,
monitors, gaps, borders, blur, opacity, waybar, walker, terminal config, themes, monitors, gaps, borders, blur, opacity, waybar, walker, terminal config, themes,
wallpaper, night light, idle, lock screen, screenshots, layer rules, workspace 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 # Omarchy Skill
Manage [Omarchy](https://omarchy.org/) Linux systems - a beautiful, modern, opinionated Arch Linux distribution with Hyprland. 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 ## 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/hypr/` (window rules, animations, keybindings, monitors, etc.)
- Editing ANY file in `~/.config/waybar/`, `~/.config/walker/`, `~/.config/mako/` - 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 - Window behavior, animations, opacity, blur, gaps, borders
- Layer rules, workspace settings, display/monitor configuration - Layer rules, workspace settings, display/monitor configuration
- Themes, wallpapers, fonts, appearance changes - 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 - 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.** **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 ## 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: This directory contains Omarchy's source files managed by git. Any changes will be:
- Lost on next `omarchy-update` - 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/themes/<custom-name>/` - Custom themes (must be real directories)
- `~/.config/omarchy/hooks/` - Custom automation hooks - `~/.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 ## System Architecture
Omarchy is built on: 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/` 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 3. **Is it a theme customization?** Create a NEW custom theme directory
4. **Is it automation?** Use hooks in `~/.config/omarchy/hooks/` 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` 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. 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 Migrations - Creating or editing migrations
- Running `omarchy-dev-*` commands
```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
## Example Requests ## 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
+2
View File
@@ -1,3 +1,5 @@
sudo mkdir -p /etc/systemd/system.conf.d sudo mkdir -p /etc/systemd/system.conf.d
sudo cp "$OMARCHY_PATH/default/systemd/faster-shutdown.conf" /etc/systemd/system.conf.d/10-faster-shutdown.conf sudo cp "$OMARCHY_PATH/default/systemd/faster-shutdown.conf" /etc/systemd/system.conf.d/10-faster-shutdown.conf
sudo mkdir -p /etc/systemd/system/user@.service.d
sudo cp "$OMARCHY_PATH/default/systemd/user@.service.d/faster-shutdown.conf" /etc/systemd/system/user@.service.d/faster-shutdown.conf
sudo systemctl daemon-reload sudo systemctl daemon-reload
+2
View File
@@ -1,6 +1,8 @@
# Set default XCompose that is triggered with CapsLock # Set default XCompose that is triggered with CapsLock
tee ~/.XCompose >/dev/null <<EOF tee ~/.XCompose >/dev/null <<EOF
# Run omarchy-restart-xcompose to apply changes # Run omarchy-restart-xcompose to apply changes
# Include fast emoji access
include "%H/.local/share/omarchy/default/xcompose" include "%H/.local/share/omarchy/default/xcompose"
# Identification # Identification
+3 -3
View File
@@ -2,9 +2,9 @@ KEYRING_DIR="$HOME/.local/share/keyrings"
KEYRING_FILE="$KEYRING_DIR/Default_keyring.keyring" KEYRING_FILE="$KEYRING_DIR/Default_keyring.keyring"
DEFAULT_FILE="$KEYRING_DIR/default" DEFAULT_FILE="$KEYRING_DIR/default"
mkdir -p $KEYRING_DIR mkdir -p "$KEYRING_DIR"
cat << EOF | tee "$KEYRING_FILE" cat << EOF > "$KEYRING_FILE"
[keyring] [keyring]
display-name=Default keyring display-name=Default keyring
ctime=$(date +%s) ctime=$(date +%s)
@@ -13,7 +13,7 @@ lock-on-idle=false
lock-after=false lock-after=false
EOF EOF
cat << EOF | tee "$DEFAULT_FILE" cat << EOF > "$DEFAULT_FILE"
Default_keyring Default_keyring
EOF EOF
-16
View File
@@ -91,19 +91,3 @@ if [[ -n $EFI ]] && efibootmgr &>/dev/null; then
sudo efibootmgr -b "$bootnum" -B >/dev/null 2>&1 sudo efibootmgr -b "$bootnum" -B >/dev/null 2>&1
done < <(efibootmgr | grep -E "^Boot[0-9]{4}\*? Arch Linux Limine" | sed 's/^Boot\([0-9]\{4\}\).*/\1/') done < <(efibootmgr | grep -E "^Boot[0-9]{4}\*? Arch Linux Limine" | sed 's/^Boot\([0-9]\{4\}\).*/\1/')
fi fi
# Move this to a utility to allow manual activation
# if [[ -n $EFI ]] && efibootmgr &>/dev/null &&
# ! cat /sys/class/dmi/id/bios_vendor 2>/dev/null | grep -qi "American Megatrends" &&
# ! cat /sys/class/dmi/id/bios_vendor 2>/dev/null | grep -qi "Apple"; then
#
# uki_file=$(find /boot/EFI/Linux/ -name "omarchy*.efi" -printf "%f\n" 2>/dev/null | head -1)
#
# if [[ -n $uki_file ]]; then
# sudo efibootmgr --create \
# --disk "$(findmnt -n -o SOURCE /boot | sed 's/p\?[0-9]*$//')" \
# --part "$(findmnt -n -o SOURCE /boot | grep -o 'p\?[0-9]*$' | sed 's/^p//')" \
# --label "Omarchy" \
# --loader "\\EFI\\Linux\\$uki_file"
# fi
# fi
+10 -2
View File
@@ -1,5 +1,8 @@
sudo mkdir -p /etc/sddm.conf.d # Install omarchy SDDM theme
omarchy-refresh-sddm
# Setup SDDM login service
sudo mkdir -p /etc/sddm.conf.d
if [[ ! -f /etc/sddm.conf.d/autologin.conf ]]; then if [[ ! -f /etc/sddm.conf.d/autologin.conf ]]; then
cat <<EOF | sudo tee /etc/sddm.conf.d/autologin.conf cat <<EOF | sudo tee /etc/sddm.conf.d/autologin.conf
[Autologin] [Autologin]
@@ -7,9 +10,14 @@ User=$USER
Session=hyprland-uwsm Session=hyprland-uwsm
[Theme] [Theme]
Current=breeze Current=omarchy
EOF EOF
fi fi
# Prevent password-based SDDM logins from creating an encrypted login keyring
# (which conflicts with the passwordless Default_keyring used for auto-unlock)
sudo sed -i '/-auth.*pam_gnome_keyring\.so/d' /etc/pam.d/sddm
sudo sed -i '/-password.*pam_gnome_keyring\.so/d' /etc/pam.d/sddm
# Don't use chrootable here as --now will cause issues for manual installs # Don't use chrootable here as --now will cause issues for manual installs
sudo systemctl enable sddm.service sudo systemctl enable sddm.service
+7
View File
@@ -0,0 +1,7 @@
echo "Add Logout option to system menu"
omarchy-refresh-sddm
if [[ -f /etc/sddm.conf.d/autologin.conf ]]; then
sudo sed -i 's/^Current=.*/Current=omarchy/' /etc/sddm.conf.d/autologin.conf
fi
+10
View File
@@ -0,0 +1,10 @@
echo "Prevent SDDM password login from creating encrypted login keyring"
# Remove the encrypted login keyring if it exists (it conflicts with the passwordless Default_keyring)
rm -f "$HOME/.local/share/keyrings/login.keyring"
# Remove gnome-keyring auth/password lines from sddm PAM so password-based logins
# don't create an encrypted login keyring. Keep the session line to start the daemon,
# which will auto-unlock the passwordless Default_keyring.
sudo sed -i '/-auth.*pam_gnome_keyring\.so/d' /etc/pam.d/sddm
sudo sed -i '/-password.*pam_gnome_keyring\.so/d' /etc/pam.d/sddm
+2
View File
@@ -0,0 +1,2 @@
echo "Fix User Manager hanging on shutdown"
source $OMARCHY_PATH/install/config/fast-shutdown.sh