Compare commits

...
30 Commits
Author SHA1 Message Date
David Heinemeier Hansson 2924278be5 Remove the migration too 2026-04-22 07:52:25 +02:00
David Heinemeier HanssonandGitHub ca8e3c24de Revert "Add battery identifier to Waybar config" 2026-04-22 07:51:12 +02:00
David Heinemeier Hansson a3b7c41b9b Make iA writer theme fully back to work better on OLEDs 2026-04-21 22:28:02 +02:00
David Heinemeier Hansson ac08aaf834 Resume boosting didn't actually solve the real underlying problem
But a bios update to the XPS should.
2026-04-21 17:19:34 +02:00
David Heinemeier Hansson 5d2cdb5317 Remove xe cmdline args from limine conf too 2026-04-21 17:01:03 +02:00
David Heinemeier Hansson 58443c82c0 Remove default vrr on 2026-04-21 16:43:53 +02:00
David Heinemeier Hansson a70b05e8f3 New kernel patches mean we don't need to turn off the display features 2026-04-21 16:41:07 +02:00
David Heinemeier Hansson 9306f5ef29 Install video encoding processors for modern Intel CPU/GPU combos by default
Allows the use of Quick Sync Intel H264/265 exports in Kdenlive without
crashing!
2026-04-21 11:43:36 +02:00
Pete JacksonandGitHub b317bd5358 Enable pause_media for voxtype by default (#5364)
Pauses MPRIS media players when recording starts so music
doesn't bleed into dictation. Adds the setting to the default
config for new installs and a migration for existing users.
2026-04-20 13:53:22 +02:00
Lewis BuckleyandGitHub a9baa8f45f Migrate existing waybar configs to pin battery to BAT0 (#5369)
* Migrate existing waybar configs to pin battery to BAT0

Follow-up to #4918: that PR updated the default template, but
existing users keep their copy at ~/.config/waybar/config.jsonc
and won't pick up the fix without running omarchy-refresh-waybar
(which wipes local customizations). Patch the existing file in
place and restart waybar.

* Make battery-pin migration tolerant of whitespace variants

Per Copilot review: grep/sed patterns now match "battery" : {,
"battery":{, and "bat" : "..." variants that hand-edited configs
may use. Also only restart waybar when a battery block actually
exists to edit.
2026-04-20 13:52:04 +02:00
David Heinemeier HanssonandGitHub 7c9442f8d0 Merge pull request #4918 from danflood94/dev
Add battery identifier to Waybar config
2026-04-20 10:31:12 +02:00
David Heinemeier Hansson a71916794c Speed up the special workspace a little too 2026-04-19 18:26:16 +02:00
David Heinemeier Hansson c74c0ccf97 Speed up the window movements ever so slightly 2026-04-19 18:24:10 +02:00
David Heinemeier Hansson 0344348ff0 Better naming 2026-04-19 17:45:50 +02:00
David Heinemeier Hansson 7f9f0c25ed Reveal which flag wasn't working 2026-04-19 17:44:32 +02:00
David Heinemeier Hansson aa35454dda Fix ordering 2026-04-19 17:44:24 +02:00
David Heinemeier Hansson 2b323459df Closing/opening lid will toggle internal monitor on/off 2026-04-19 17:34:34 +02:00
David Heinemeier Hansson fa48d2398b Better description 2026-04-19 17:13:28 +02:00
David Heinemeier Hansson 96a08f91a5 Start the monitor watch so the feature is active right away 2026-04-19 17:12:53 +02:00
David Heinemeier Hansson d6aaf30e43 Ensure internal display is turned back on if the external one is disconnected 2026-04-19 17:11:48 +02:00
David Heinemeier Hansson bdead4a3d1 Don't need any notifications for this when the consequences are visible 2026-04-18 20:13:27 +02:00
David Heinemeier Hansson e852895e5c Use preexisting toggles setup 2026-04-17 16:03:06 +02:00
David Heinemeier Hansson adb8d01d57 Hint for disabling the ghost monitor on the 6K XDR 2026-04-17 15:47:54 +02:00
David Heinemeier Hansson db52ba346c Extract omarchy-toggle-enabled and use this with the waybar to persist 2026-04-17 15:45:44 +02:00
David Heinemeier Hansson 71bbcc8adc Use new shared omarchy-toggle 2026-04-17 15:37:36 +02:00
David Heinemeier Hansson 7db0ee9314 Use shared toggle feaeture 2026-04-17 15:35:36 +02:00
David Heinemeier Hansson 1b898b862c Make the window no-gaps flag permanent 2026-04-17 14:22:59 +02:00
David Heinemeier Hansson 79d3b8cec6 Move flags to persistent setup so hyprctl reload doesn't reset them 2026-04-17 14:16:47 +02:00
David Heinemeier Hansson 8912bcb81c Add mako restart to Update > Process 2026-04-17 09:37:58 +02:00
danflood94andGitHub 2f36270369 Add battery identifier to Waybar config
fix(waybar): pin battery to BAT0 to prevent crash on HID disconnect
2026-03-06 21:10:47 +00:00
47 changed files with 259 additions and 136 deletions
+13
View File
@@ -0,0 +1,13 @@
#!/bin/bash
# Disable the internal laptop display. No-op if already disabled or if it
# would leave no active display.
if omarchy-hyprland-monitors-many; then
if omarchy-hyprland-toggle-disabled internal-monitor-disable; then
omarchy-hyprland-toggle --enabled-notification "󰍹 Laptop display disabled" internal-monitor-disable
fi
else
notify-send -u low "󰍹 Can't disable the only active display"
exit 1
fi
+7
View File
@@ -0,0 +1,7 @@
#!/bin/bash
# Enable the internal laptop display. No-op if already enabled.
if omarchy-hyprland-toggle-enabled internal-monitor-disable; then
omarchy-hyprland-toggle --disabled-notification "󰍹 Laptop display enabled" internal-monitor-disable
fi
+9
View File
@@ -0,0 +1,9 @@
#!/bin/bash
# Re-enable the internal display if it was toggled off and no external monitors
# are currently active (e.g. external got disconnected live, during sleep, or
# wasn't present on boot).
if omarchy-hyprland-monitors-none && omarchy-hyprland-toggle-enabled internal-monitor-disable; then
omarchy-hyprland-monitor-internal-enable
fi
+3 -23
View File
@@ -1,29 +1,9 @@
#!/bin/bash
# Toggle the internal laptop display on/off.
# Useful when connected to an external monitor and you want to close the lid
# or just use the external display only.
INTERNAL=$(hyprctl monitors all -j | jq -r '.[] | select(.name | startswith("eDP")) | .name')
if [[ -z $INTERNAL ]]; then
notify-send -u low "󰍹 No internal display found"
exit 1
fi
DISABLED=$(hyprctl monitors all -j | jq -r --arg m "$INTERNAL" '.[] | select(.name == $m) | .disabled')
if [[ $DISABLED == "true" ]]; then
hyprctl keyword monitor "$INTERNAL,preferred,auto,auto"
hyprctl dispatch movecursor 0 0
notify-send -u low "󰍹 Internal display on"
if omarchy-hyprland-toggle-enabled internal-monitor-disable; then
omarchy-hyprland-monitor-internal-enable
else
ACTIVE_COUNT=$(hyprctl monitors -j | jq 'length')
if [[ $ACTIVE_COUNT -le 1 ]]; then
notify-send -u low "󰍹 Can't disable the only active display"
exit 1
fi
hyprctl keyword monitor "$INTERNAL,disable"
notify-send -u low "󰍹 Internal display off"
omarchy-hyprland-monitor-internal-disable
fi
+14
View File
@@ -0,0 +1,14 @@
#!/bin/bash
# Listen on Hyprland's event socket and recover the internal display whenever
# a monitor is removed.
SOCKET="$XDG_RUNTIME_DIR/hypr/$HYPRLAND_INSTANCE_SIGNATURE/.socket2.sock"
socat -U - "UNIX-CONNECT:$SOCKET" | while read -r event; do
case "$event" in
monitorremoved\>\>*|monitorremovedv2\>\>*)
omarchy-hyprland-monitor-internal-recover
;;
esac
done
+5
View File
@@ -0,0 +1,5 @@
#!/bin/bash
# Returns true when there are multiple monitors connected (so we can disable the internal one)
(( $(hyprctl monitors -j 2>/dev/null | jq length) > 1 ))
+5
View File
@@ -0,0 +1,5 @@
#!/bin/bash
# Returns true when no monitors are connected
(( $(hyprctl monitors -j 2>/dev/null | jq length) == 0 ))
+31
View File
@@ -0,0 +1,31 @@
#!/bin/bash
# Toggle permanent Hyprland flags by copying them into a directory that's sourced entirely.
ENABLED_NOTIFICATION=""
DISABLED_NOTIFICATION=""
while [[ $# -gt 1 ]]; do
case $1 in
--enabled-notification) ENABLED_NOTIFICATION="$2"; shift 2 ;;
--disabled-notification) DISABLED_NOTIFICATION="$2"; shift 2 ;;
*) break ;;
esac
done
FLAG_NAME="$1"
FLAG="$HOME/.local/state/omarchy/toggles/hypr/$FLAG_NAME.conf"
FLAG_SOURCE="$OMARCHY_PATH/default/hypr/toggles/$FLAG_NAME.conf"
if [[ -f $FLAG ]]; then
rm $FLAG
[[ -n $DISABLED_NOTIFICATION ]] && notify-send -u low "$DISABLED_NOTIFICATION"
elif [[ -f $FLAG_SOURCE ]]; then
cp $FLAG_SOURCE $FLAG
[[ -n $ENABLED_NOTIFICATION ]] && notify-send -u low "$ENABLED_NOTIFICATION"
else
echo "Flag not found: $FLAG_NAME"
exit 1
fi
hyprctl reload
+5
View File
@@ -0,0 +1,5 @@
#!/bin/bash
# Check if a Hyprland toggle is currently disabled (missing).
[[ ! -f "$HOME/.local/state/omarchy/toggles/hypr/$1.conf" ]]
+5
View File
@@ -0,0 +1,5 @@
#!/bin/bash
# Check if a Hyprland toggle is currently enabled.
[[ -f "$HOME/.local/state/omarchy/toggles/hypr/$1.conf" ]]
+2 -12
View File
@@ -1,15 +1,5 @@
#!/bin/bash
# Toggles the window gaps globally between no gaps and the default 10/5/2.
# Toggles the window gaps globally between no gaps and the default.
gaps=$(hyprctl getoption general:gaps_out -j | jq -r '.custom' | awk '{print $1}')
if [[ $gaps == "0" ]]; then
hyprctl keyword general:gaps_out 10
hyprctl keyword general:gaps_in 5
hyprctl keyword general:border_size 2
else
hyprctl keyword general:gaps_out 0
hyprctl keyword general:gaps_in 0
hyprctl keyword general:border_size 0
fi
omarchy-hyprland-toggle window-no-gaps
@@ -1,13 +1,8 @@
#!/bin/bash
# Check current single_window_aspect_ratio setting
CURRENT_VALUE=$(hyprctl getoption "layout:single_window_aspect_ratio" 2>/dev/null | head -1)
# Toggle single-window square aspect ratio.
# Parse vec2 output: "vec2: [1, 1]" or "vec2: [0, 0]"
if [[ $CURRENT_VALUE == *"[1, 1]"* ]]; then
hyprctl keyword layout:single_window_aspect_ratio "0 0"
notify-send -u low " Disable single-window square aspect ratio"
else
hyprctl keyword layout:single_window_aspect_ratio "1 1"
notify-send -u low " Enable single-window square aspect"
fi
omarchy-hyprland-toggle \
--enabled-notification " Enable single-window square aspect ratio" \
--disabled-notification " Disable single-window square aspect ratio" \
single-window-aspect-ratio
+1 -1
View File
@@ -11,7 +11,7 @@ fi
pgrep -f org.omarchy.screensaver && exit 0
# Allow screensaver to be turned off but also force started
if [[ -f ~/.local/state/omarchy/toggles/screensaver-off ]] && [[ $1 != "force" ]]; then
if omarchy-toggle-enabled screensaver-off && [[ $1 != "force" ]]; then
exit 1
fi
+4 -3
View File
@@ -277,7 +277,7 @@ show_setup_config_menu() {
show_setup_system_menu() {
local options=""
if [[ -f ~/.local/state/omarchy/toggles/suspend-off ]]; then
if omarchy-toggle-enabled suspend-off; then
options="$options󰒲 Enable Suspend"
else
options="$options󰒲 Disable Suspend"
@@ -529,9 +529,10 @@ show_update_channel_menu() {
esac
}
show_update_process_menu() {
case $(menu "Restart" " Hypridle\n Hyprsunset\n Swayosd\n󰌧 Walker\n󰍜 Waybar") in
case $(menu "Restart" " Hypridle\n Hyprsunset\n󰎟 Mako\n Swayosd\n󰌧 Walker\n󰍜 Waybar") in
*Hypridle*) omarchy-restart-hypridle ;;
*Hyprsunset*) omarchy-restart-hyprsunset ;;
*Mako*) omarchy-restart-mako ;;
*Swayosd*) omarchy-restart-swayosd ;;
*Walker*) omarchy-restart-walker ;;
*Waybar*) omarchy-restart-waybar ;;
@@ -578,7 +579,7 @@ show_about() {
show_system_menu() {
local options="󱄄 Screensaver\n Lock"
[[ ! -f ~/.local/state/omarchy/toggles/suspend-off ]] && options="$options\n󰒲 Suspend"
! omarchy-toggle-enabled suspend-off && options="$options\n󰒲 Suspend"
omarchy-hibernation-available && options="$options\n󰤁 Hibernate"
options="$options\n󰍃 Logout\n󰜉 Restart\n󰐥 Shutdown"
+5 -6
View File
@@ -7,9 +7,8 @@ VS_CODE_THEME="$HOME/.config/omarchy/current/theme/vscode.json"
set_theme() {
local editor_cmd="$1"
local settings_path="$2"
local skip_flag="$3"
omarchy-cmd-present "$editor_cmd" && [[ ! -f $skip_flag ]] || return 0
omarchy-cmd-present "$editor_cmd" || return 0
if [[ -f $VS_CODE_THEME ]]; then
theme_name=$(jq -r '.name' "$VS_CODE_THEME")
@@ -34,7 +33,7 @@ set_theme() {
fi
}
set_theme "code" "$HOME/.config/Code/User/settings.json" "$HOME/.local/state/omarchy/toggles/skip-vscode-theme-changes"
set_theme "code-insiders" "$HOME/.config/Code - Insiders/User/settings.json" "$HOME/.local/state/omarchy/toggles/skip-vscode-insiders-theme-changes"
set_theme "codium" "$HOME/.config/VSCodium/User/settings.json" "$HOME/.local/state/omarchy/toggles/skip-codium-theme-changes"
set_theme "cursor" "$HOME/.config/Cursor/User/settings.json" "$HOME/.local/state/omarchy/toggles/skip-cursor-theme-changes"
! omarchy-toggle-enabled skip-vscode-theme-changes && set_theme "code" "$HOME/.config/Code/User/settings.json"
! omarchy-toggle-enabled skip-vscode-insiders-theme-changes && set_theme "code-insiders" "$HOME/.config/Code - Insiders/User/settings.json"
! omarchy-toggle-enabled skip-codium-theme-changes && set_theme "codium" "$HOME/.config/VSCodium/User/settings.json"
! omarchy-toggle-enabled skip-cursor-theme-changes && set_theme "cursor" "$HOME/.config/Cursor/User/settings.json"
+26
View File
@@ -0,0 +1,26 @@
#!/bin/bash
# Toggle Omarchy features between enabled and disabled
ENABLED_NOTIFICATION=""
DISABLED_NOTIFICATION=""
while [[ $# -gt 1 ]]; do
case $1 in
--enabled-notification) ENABLED_NOTIFICATION="$2"; shift 2 ;;
--disabled-notification) DISABLED_NOTIFICATION="$2"; shift 2 ;;
*) break ;;
esac
done
FLAG_NAME="$1"
FLAG="$HOME/.local/state/omarchy/toggles/$FLAG_NAME"
if [[ -f $FLAG ]]; then
rm $FLAG
[[ -n $DISABLED_NOTIFICATION ]] && notify-send -u low "$DISABLED_NOTIFICATION"
else
mkdir -p "$(dirname $FLAG)"
touch $FLAG
[[ -n $ENABLED_NOTIFICATION ]] && notify-send -u low "$ENABLED_NOTIFICATION"
fi
+4
View File
@@ -0,0 +1,4 @@
#!/bin/bash
# Check if a toggle is enabled (flag file exists)
[[ -f "$HOME/.local/state/omarchy/toggles/$1" ]]
+4 -10
View File
@@ -1,12 +1,6 @@
#!/bin/bash
STATE_FILE=~/.local/state/omarchy/toggles/screensaver-off
if [[ -f $STATE_FILE ]]; then
rm -f $STATE_FILE
notify-send -u low "󱄄 Screensaver enabled"
else
mkdir -p "$(dirname $STATE_FILE)"
touch $STATE_FILE
notify-send -u low "󱄄 Screensaver disabled"
fi
omarchy-toggle \
--enabled-notification "󱄄 Screensaver disabled" \
--disabled-notification "󱄄 Screensaver enabled" \
screensaver-off
+4 -10
View File
@@ -1,12 +1,6 @@
#!/bin/bash
STATE_FILE=~/.local/state/omarchy/toggles/suspend-off
if [[ -f $STATE_FILE ]]; then
rm -f $STATE_FILE
notify-send -u low "󰒲 Suspend now available in system menu"
else
mkdir -p "$(dirname $STATE_FILE)"
touch $STATE_FILE
notify-send -u low "󰒲 Suspend removed from system menu"
fi
omarchy-toggle \
--enabled-notification "󰒲 Suspend removed from system menu" \
--disabled-notification "󰒲 Suspend now available in system menu" \
suspend-off
+2
View File
@@ -1,5 +1,7 @@
#!/bin/bash
omarchy-toggle waybar-off
if pgrep -x waybar >/dev/null; then
pkill -x waybar
else
+1 -1
View File
@@ -8,7 +8,7 @@
--light-header-color: #dbdbdb; /* H1-H3 */
--select-text-bg-color: #186a9a;
--accent-color: #4f525a;
--background-color: #101010;
--background-color: #000000;
--font-color: #bbbcbc;
--header-color: #bebebe; /* H4-H6 */
--border-color: #232629;
+3
View File
@@ -19,5 +19,8 @@ source = ~/.config/hypr/bindings.conf
source = ~/.config/hypr/looknfeel.conf
source = ~/.config/hypr/autostart.conf
# Toggle config flags dynamically
source = ~/.local/state/omarchy/toggles/hypr/*.conf
# Add any other personal Hyprland configuration below
# windowrule = workspace 5, match:class qemu
+4 -1
View File
@@ -4,7 +4,7 @@
# Optimized for retina-class 2x displays, like 13" 2.8K, 27" 5K, 32" 6K.
env = GDK_SCALE,2
monitor=,preferred,auto,auto,vrr,1
monitor=,preferred,auto,auto
# Good compromise for 27" or 32" 4K monitors (but fractional!)
# env = GDK_SCALE,1.75
@@ -21,3 +21,6 @@ monitor=,preferred,auto,auto,vrr,1
# Example for Framework 13 w/ 6K XDR Apple display
# monitor = DP-5, 6016x3384@60, auto, 2
# monitor = eDP-1, 2880x1920@120, auto, 2
# Disable the second ghost monitor on an Apple 6K XDR over Thunderbolt
# monitor=DP-2,disable
+3 -1
View File
@@ -1,12 +1,14 @@
exec-once = uwsm-app -- hypridle
exec-once = uwsm-app -- mako
exec-once = uwsm-app -- waybar
exec-once = ! omarchy-toggle-enabled waybar-off && uwsm-app -- waybar
exec-once = uwsm-app -- fcitx5 --disable notificationitem
exec-once = uwsm-app -- swaybg -i ~/.config/omarchy/current/background -m fill
exec-once = uwsm-app -- swayosd-server
exec-once = /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1
exec-once = omarchy-cmd-first-run
exec-once = omarchy-powerprofiles-init
exec-once = omarchy-hyprland-monitor-internal-recover
exec-once = uwsm-app -- omarchy-hyprland-monitor-watch
# Slow app launch fix -- set systemd vars
exec-once = systemctl --user import-environment $(env | cut -d'=' -f 1)
+2
View File
@@ -29,6 +29,8 @@ bindd = SUPER SHIFT ALT, COMMA, Restore last notification, exec, makoctl restore
bindd = SUPER CTRL, I, Toggle locking on idle, exec, omarchy-toggle-idle
bindd = SUPER CTRL, N, Toggle nightlight, exec, omarchy-toggle-nightlight
bindd = SUPER CTRL, Delete, Toggle laptop display, exec, omarchy-hyprland-monitor-internal-toggle
bindl = , switch:on:Lid Switch, exec, omarchy-hyprland-monitor-internal-disable
bindl = , switch:off:Lid Switch, exec, omarchy-hyprland-monitor-internal-enable
# Control Apple Display brightness
bindd = CTRL, F1, Apple Display brightness down, exec, omarchy-brightness-display-apple -5000
+2 -2
View File
@@ -91,7 +91,7 @@ animations {
animation = global, 1, 10, default
animation = border, 1, 5.39, easeOutQuint
animation = windows, 1, 4.79, easeOutQuint
animation = windows, 1, 3.79, easeOutQuint
animation = windowsIn, 1, 4.1, easeOutQuint, popin 87%
animation = windowsOut, 1, 1.49, linear, popin 87%
animation = fadeIn, 1, 1.73, almostLinear
@@ -103,7 +103,7 @@ animations {
animation = fadeLayersIn, 1, 1.79, almostLinear
animation = fadeLayersOut, 1, 1.39, almostLinear
animation = workspaces, 0, 0, ease
animation = specialWorkspace, 1, 4, easeOutQuint, slidevert
animation = specialWorkspace, 1, 3, easeOutQuint, slidevert
}
# See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more
+2
View File
@@ -0,0 +1,2 @@
# This directory is intended for permanent config toggle flags.
# Do not remove this file (as the directory always needs at least one file).
@@ -0,0 +1,2 @@
# Disable the internal laptop monitor
monitor=eDP-1,disable
@@ -0,0 +1,5 @@
# Avoid overly wide single-window layouts on wide screens
layout {
single_window_aspect_ratio = 1 1
}
+6
View File
@@ -0,0 +1,6 @@
# Remove all window gaps and borders
general {
gaps_out = 0
gaps_in = 0
border_size = 0
}
-16
View File
@@ -1,16 +0,0 @@
#!/bin/bash
# Temporarily switch to performance power profile on resume
# to avoid sluggishness while the system catches up, then
# restore the previous profile after 10 seconds.
if [[ $1 == "pre" ]]; then
mkdir -p /run/omarchy
powerprofilesctl get > /run/omarchy/power-profile-before-sleep
fi
if [[ $1 == "post" ]]; then
previous=$(cat /run/omarchy/power-profile-before-sleep 2>/dev/null || echo "balanced")
powerprofilesctl set performance
systemd-run --on-active=10 --timer-property=AccuracySec=1 powerprofilesctl set "$previous"
fi
+3
View File
@@ -25,6 +25,9 @@ sample_rate = 16000
# Maximum recording duration in seconds (safety limit)
max_duration_secs = 60
# Pause MPRIS media players during recording
pause_media = true
# [audio.feedback]
# Enable audio feedback sounds (beeps when recording starts/stops)
# enabled = true
+1 -2
View File
@@ -22,6 +22,7 @@ run_logged $OMARCHY_INSTALL/config/unmount-fuse.sh
run_logged $OMARCHY_INSTALL/config/sudoless-asdcontrol.sh
run_logged $OMARCHY_INSTALL/config/input-group.sh
run_logged $OMARCHY_INSTALL/config/omarchy-ai-skill.sh
run_logged $OMARCHY_INSTALL/config/omarchy-toggles.sh
run_logged $OMARCHY_INSTALL/config/kernel-modules-hook.sh
run_logged $OMARCHY_INSTALL/config/powerprofilesctl-rules.sh
run_logged $OMARCHY_INSTALL/config/wifi-powersave-rules.sh
@@ -43,10 +44,8 @@ run_logged $OMARCHY_INSTALL/config/hardware/intel/thermald.sh
run_logged $OMARCHY_INSTALL/config/hardware/intel/ipu7-camera.sh
run_logged $OMARCHY_INSTALL/config/hardware/intel/ptl-kernel.sh
run_logged $OMARCHY_INSTALL/config/hardware/intel/fix-wifi7-eht.sh
run_logged $OMARCHY_INSTALL/config/hardware/intel/resume-boost.sh
run_logged $OMARCHY_INSTALL/config/hardware/dell/fix-xps-haptic-touchpad.sh
run_logged $OMARCHY_INSTALL/config/hardware/dell/fix-xps-ptl-display.sh
run_logged $OMARCHY_INSTALL/config/hardware/asus/fix-audio-mixer.sh
run_logged $OMARCHY_INSTALL/config/hardware/asus/fix-mic.sh
@@ -1,20 +0,0 @@
# Fix display issues on Dell XPS Panther Lake (Xe3) systems.
# Xe PSR causes freezes and display glitches on both OLED and IPS panels.
# LG OLED panels also need Panel Replay disabled.
if omarchy-hw-match "XPS" && omarchy-hw-intel-ptl; then
echo "Detected Dell XPS on Panther Lake, applying display power-saving fixes..."
if omarchy-hw-dell-xps-oled; then
CMDLINE='KERNEL_CMDLINE[default]+=" xe.enable_psr=0 xe.enable_panel_replay=0"'
COMMENT='Disable Xe PSR and Panel Replay on Dell XPS Panther Lake OLED systems'
else
CMDLINE='KERNEL_CMDLINE[default]+=" xe.enable_psr=0"'
COMMENT='Disable Xe PSR on Dell XPS Panther Lake systems'
fi
sudo mkdir -p /etc/limine-entry-tool.d
cat <<EOF | sudo tee /etc/limine-entry-tool.d/dell-xps-ptl-display.conf >/dev/null
# $COMMENT
$CMDLINE
EOF
fi
@@ -1,8 +0,0 @@
# Boost CPU performance for 10 seconds after resume on Intel systems.
# The powersave governor with balance_power EPP is slow to ramp frequency
# after long suspends, causing noticeable sluggishness on wake.
if omarchy-hw-intel; then
sudo mkdir -p /usr/lib/systemd/system-sleep
sudo install -m 0755 -o root -g root "$OMARCHY_PATH/default/systemd/system-sleep/resume-boost" /usr/lib/systemd/system-sleep/
fi
@@ -1,9 +1,9 @@
# This installs hardware video acceleration for Intel GPUs
if INTEL_GPU=$(lspci | grep -iE 'vga|3d|display' | grep -i 'intel'); then
# HD Graphics / Iris / Xe / Arc use intel-media-driver
# HD Graphics / Iris / Xe / Arc use intel-media-driver + VPL
if [[ ${INTEL_GPU,,} =~ (hd\ graphics|uhd\ graphics|xe|iris|arc) ]]; then
omarchy-pkg-add intel-media-driver
omarchy-pkg-add intel-media-driver libvpl vpl-gpu-rt
elif [[ ${INTEL_GPU,,} =~ "gma" ]]; then
# Older generations from 2008 to ~2014-2017 use libva-intel-driver
omarchy-pkg-add libva-intel-driver
+3
View File
@@ -0,0 +1,3 @@
# Toggles are used to turn certain features on/off in a persistent way
mkdir -p ~/.local/state/omarchy/toggles/hypr
cp $OMARCHY_PATH/default/hypr/toggles/flags.conf ~/.local/state/omarchy/toggles/hypr/
+1
View File
@@ -112,6 +112,7 @@ sddm
signal-desktop
slurp
spotify
socat
starship
sushi
swaybg
+4
View File
@@ -55,6 +55,10 @@ tuxedo-drivers-nocompatcheck-dkms
yt6801-dkms
zram-generator
# Intel encoding processing
libvpl
vpl-gpu-rt
# Vulkan drivers (auto-detected by hardware)
vulkan-intel
vulkan-radeon
-8
View File
@@ -1,8 +0,0 @@
echo "Ensure xe.enable_psr=0 is set in CMDLINE for XPS Panther Lake systems"
if omarchy-hw-match "XPS" && omarchy-hw-intel-ptl && [[ -f /etc/default/limine ]]; then
if ! grep -Fq 'xe.enable_psr=0' /etc/default/limine; then
echo 'KERNEL_CMDLINE[default]+=" xe.enable_psr=0"' | sudo tee -a /etc/default/limine >/dev/null
sudo limine-mkinitcpio
fi
fi
+9
View File
@@ -0,0 +1,9 @@
echo "Add flags sourcing to hyprland.conf"
HYPR_CONF=~/.config/hypr/hyprland.conf
source $OMARCHY_PATH/install/config/omarchy-toggles.sh
if [[ -f $HYPR_CONF ]] && ! grep -q "toggles/hypr/\*\.conf" "$HYPR_CONF"; then
echo -e "\n# Toggle config flags dynamically\nsource = ~/.local/state/omarchy/toggles/hypr/*.conf" >> "$HYPR_CONF"
fi
+4
View File
@@ -0,0 +1,4 @@
echo "Install socat so we can reactivate internal display when external display is removed"
omarchy-pkg-add socat
uwsm-app -- omarchy-hyprland-monitor-watch &
+3
View File
@@ -0,0 +1,3 @@
echo "Install missing Intel VPL drivers (libvpl, vpl-gpu-rt) on systems with Intel GPUs"
bash "$OMARCHY_PATH/install/config/hardware/intel/video-acceleration.sh"
+14
View File
@@ -0,0 +1,14 @@
echo "Enable pause_media in voxtype config"
VOXTYPE_CONF=~/.config/voxtype/config.toml
if [[ -f $VOXTYPE_CONF ]] && ! grep -q 'pause_media' "$VOXTYPE_CONF"; then
if grep -q '^\[audio\]' "$VOXTYPE_CONF"; then
sed -i '/^\[audio\]/a\
\
# Pause MPRIS media players during recording\
pause_media = true' "$VOXTYPE_CONF"
else
printf '\n[audio]\n# Pause MPRIS media players during recording\npause_media = true\n' >> "$VOXTYPE_CONF"
fi
fi
+19
View File
@@ -0,0 +1,19 @@
echo "Dell XPS Panther Lake display kernel cmdline is no longer necessary"
DROP_IN="/etc/limine-entry-tool.d/dell-xps-ptl-display.conf"
DEFAULT_LIMINE="/etc/default/limine"
NEEDS_UPDATE=0
if [[ -f $DROP_IN ]]; then
sudo rm -f "$DROP_IN"
NEEDS_UPDATE=1
fi
if [[ -f $DEFAULT_LIMINE ]] && grep -q 'xe\.enable_psr' "$DEFAULT_LIMINE"; then
sudo sed -i -E '/^KERNEL_CMDLINE.*xe\.enable_psr/d; /^# .*(Dell XPS|Xe PSR|Panel Replay)/d' "$DEFAULT_LIMINE"
NEEDS_UPDATE=1
fi
if (( NEEDS_UPDATE )); then
sudo limine-update
fi
+7
View File
@@ -0,0 +1,7 @@
echo "Drop vrr,1 from default monitor line as it creates a small lag"
MONITORS_CONF=~/.config/hypr/monitors.conf
if [[ -f $MONITORS_CONF ]]; then
sed -i 's/^monitor=,preferred,auto,auto,vrr,1$/monitor=,preferred,auto,auto/' "$MONITORS_CONF"
fi
+5
View File
@@ -0,0 +1,5 @@
echo "Remove resume boost feature"
if [[ -f /usr/lib/systemd/system-sleep/resume-boost ]]; then
sudo rm /usr/lib/systemd/system-sleep/resume-boost
fi