mirror of
https://github.com/arthur-pbty/arthur-os.git
synced 2026-08-01 20:28:16 +02:00
Executable
+9
@@ -0,0 +1,9 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Returns true if AC power is connected.
|
||||
|
||||
for ac in /sys/class/power_supply/AC* /sys/class/power_supply/ADP*; do
|
||||
[[ -r $ac/online && $(cat "$ac/online") == "1" ]] && exit 0
|
||||
done
|
||||
|
||||
exit 1
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
# Switch between audio outputs while preserving the mute status. By default mapped to Super + Mute.
|
||||
|
||||
focused_monitor="$(hyprctl monitors -j | jq -r '.[] | select(.focused == true).name')"
|
||||
focused_monitor=$(omarchy-hyprland-monitor-focused)
|
||||
|
||||
sinks=$(pactl -f json list sinks | jq '[.[] | select((.ports | length == 0) or ([.ports[]? | .availability != "not available"] | any))]')
|
||||
sinks_count=$(echo "$sinks" | jq '. | length')
|
||||
|
||||
Executable
+9
@@ -0,0 +1,9 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Toggle microphone mute. Dell XPS systems get special handling for the hardware LED.
|
||||
|
||||
if omarchy-hw-match "XPS"; then
|
||||
omarchy-cmd-mic-mute-xps
|
||||
else
|
||||
swayosd-client --monitor "$(omarchy-hyprland-monitor-focused)" --input-volume mute-toggle
|
||||
fi
|
||||
Executable
+44
@@ -0,0 +1,44 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Toggle microphone mute on Dell XPS systems. Uses wpctl for reliable toggling
|
||||
# and syncs the ALSA capture switch so the hardware mic mute LED follows state.
|
||||
|
||||
wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle >/dev/null
|
||||
|
||||
if pactl get-source-mute @DEFAULT_SOURCE@ | rg -q 'yes'; then
|
||||
alsa_value='off,off'
|
||||
osd_message='Microphone muted'
|
||||
osd_icon='microphone-sensitivity-muted-symbolic'
|
||||
else
|
||||
alsa_value='on,on'
|
||||
osd_message='Microphone on'
|
||||
osd_icon='audio-input-microphone-symbolic'
|
||||
fi
|
||||
|
||||
if [[ -e /sys/class/leds/platform::micmute/brightness ]]; then
|
||||
default_source=$(pactl get-default-source)
|
||||
alsa_card=$(pactl -f json list sources | jq -r --arg source "$default_source" '
|
||||
.[] | select(.name == $source) |
|
||||
.properties["alsa.card"] // .properties["api.alsa.card"] // .properties["api.alsa.pcm.card"] // empty
|
||||
' | head -1)
|
||||
|
||||
if [[ -n $alsa_card ]]; then
|
||||
cards=("$alsa_card")
|
||||
else
|
||||
mapfile -t cards < <(compgen -G '/proc/asound/card*' | rg -o 'card[0-9]+' | sed 's/card//' | sort -u)
|
||||
fi
|
||||
|
||||
for card in "${cards[@]}"; do
|
||||
while IFS= read -r control; do
|
||||
if [[ $control != *"Jack Microphone"* ]]; then
|
||||
amixer -c "$card" cset "$control" "$alsa_value" >/dev/null 2>&1 || true
|
||||
break 2
|
||||
fi
|
||||
done < <(amixer -c "$card" controls 2>/dev/null | rg -o "name='[^']*Microphone Capture Switch'")
|
||||
done
|
||||
fi
|
||||
|
||||
swayosd-client \
|
||||
--monitor "$(omarchy-hyprland-monitor-focused)" \
|
||||
--custom-message "$osd_message" \
|
||||
--custom-icon "$osd_icon"
|
||||
@@ -11,7 +11,6 @@ Trigger protocol used by these Synaptics touchpads.
|
||||
import fcntl, glob, os, struct, sys
|
||||
|
||||
VENDOR = "06CB"
|
||||
PRODUCT = "D01A"
|
||||
REPORT_ID = 0x37
|
||||
INTENSITY = 40 # 0-100
|
||||
|
||||
@@ -34,7 +33,7 @@ def find_hidraw():
|
||||
try:
|
||||
with open(uevent) as f:
|
||||
content = f.read().upper()
|
||||
if f"0000{VENDOR}" in content and f"0000{PRODUCT}" in content:
|
||||
if f"0000{VENDOR}" in content:
|
||||
return os.path.join("/dev", os.path.basename(path))
|
||||
except OSError:
|
||||
continue
|
||||
@@ -46,7 +45,7 @@ def find_touchpad_event():
|
||||
try:
|
||||
with open(path) as f:
|
||||
name = f.read().strip().upper()
|
||||
if VENDOR in name and PRODUCT in name and "TOUCHPAD" in name:
|
||||
if VENDOR in name and "TOUCHPAD" in name:
|
||||
event = path.split("/")[-3]
|
||||
return os.path.join("/dev/input", event)
|
||||
except OSError:
|
||||
|
||||
@@ -14,9 +14,22 @@ if ! command -v limine-mkinitcpio &>/dev/null; then
|
||||
fi
|
||||
|
||||
MKINITCPIO_CONF="/etc/mkinitcpio.conf.d/omarchy_resume.conf"
|
||||
SWAP_FILE="/swap/swapfile"
|
||||
RESUME_DROP_IN="/etc/limine-entry-tool.d/resume.conf"
|
||||
|
||||
# Check if hibernation is already configured
|
||||
if [[ -f $MKINITCPIO_CONF ]] && grep -q "^HOOKS+=(resume)$" "$MKINITCPIO_CONF"; then
|
||||
# Fix empty resume_offset if btrfs map-swapfile failed during initial setup
|
||||
if [[ -f $RESUME_DROP_IN ]] && grep -q 'resume_offset="$' "$RESUME_DROP_IN" && [[ -f $SWAP_FILE ]]; then
|
||||
RESUME_OFFSET=$(sudo btrfs inspect-internal map-swapfile -r "$SWAP_FILE" 2>/dev/null)
|
||||
if [[ -n $RESUME_OFFSET ]]; then
|
||||
echo "Fixing empty resume_offset ($RESUME_OFFSET)"
|
||||
sudo sed -i "s/resume_offset=\"$/resume_offset=$RESUME_OFFSET\"/" "$RESUME_DROP_IN"
|
||||
sudo sed -i "s/resume_offset=\"$/resume_offset=$RESUME_OFFSET\"/" /etc/default/limine
|
||||
sudo limine-mkinitcpio
|
||||
sudo limine-update
|
||||
fi
|
||||
fi
|
||||
echo "Hibernation is already set up"
|
||||
exit 0
|
||||
fi
|
||||
@@ -29,7 +42,6 @@ if [[ $1 != "--force" ]]; then
|
||||
fi
|
||||
|
||||
SWAP_SUBVOLUME="/swap"
|
||||
SWAP_FILE="$SWAP_SUBVOLUME/swapfile"
|
||||
|
||||
# Create btrfs subvolume for swap
|
||||
if ! sudo btrfs subvolume show "$SWAP_SUBVOLUME" &>/dev/null; then
|
||||
@@ -68,15 +80,18 @@ sudo cp -p "$OMARCHY_PATH/default/systemd/system-sleep/keyboard-backlight" /usr/
|
||||
|
||||
# Add resume= kernel parameters so the initramfs resume hook knows where to find the
|
||||
# hibernation image. Without these, resume happens late (after GPU drivers load) and fails.
|
||||
RESUME_DROP_IN="/etc/limine-entry-tool.d/resume.conf"
|
||||
if [[ ! -f $RESUME_DROP_IN ]]; then
|
||||
echo "Adding resume kernel parameters"
|
||||
sudo swapon -p 0 "$SWAP_FILE" 2>/dev/null
|
||||
RESUME_DEVICE=$(findmnt -no SOURCE -T "$SWAP_FILE" | sed 's/\[.*\]//')
|
||||
RESUME_OFFSET=$(sudo btrfs inspect-internal map-swapfile -r "$SWAP_FILE")
|
||||
sudo mkdir -p /etc/limine-entry-tool.d
|
||||
echo "KERNEL_CMDLINE[default]+=\" resume=$RESUME_DEVICE resume_offset=$RESUME_OFFSET\"" | sudo tee "$RESUME_DROP_IN" >/dev/null
|
||||
sudo tee -a /etc/default/limine < "$RESUME_DROP_IN" >/dev/null
|
||||
if [[ -n $RESUME_OFFSET ]]; then
|
||||
sudo mkdir -p /etc/limine-entry-tool.d
|
||||
echo "KERNEL_CMDLINE[default]+=\" resume=$RESUME_DEVICE resume_offset=$RESUME_OFFSET\"" | sudo tee "$RESUME_DROP_IN" >/dev/null
|
||||
sudo tee -a /etc/default/limine < "$RESUME_DROP_IN" >/dev/null
|
||||
else
|
||||
echo "Warning: Could not determine resume offset for $SWAP_FILE" >&2
|
||||
fi
|
||||
fi
|
||||
|
||||
# Use ACPI alarm for RTC wakeup on s2idle systems (needed for suspend-then-hibernate)
|
||||
|
||||
Executable
+7
@@ -0,0 +1,7 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Match Dell XPS systems with LG OLED panel on Intel Panther Lake (Xe3) GPU.
|
||||
|
||||
omarchy-hw-match "XPS" \
|
||||
&& omarchy-hw-intel-ptl \
|
||||
&& test "$(od -An -tx1 -j8 -N2 /sys/class/drm/card*-eDP-*/edid 2>/dev/null | tr -d ' \n')" = "30e4"
|
||||
Executable
+5
@@ -0,0 +1,5 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Print the name of the currently focused Hyprland monitor.
|
||||
|
||||
hyprctl monitors -j | jq -r '.[] | select(.focused == true).name'
|
||||
Executable
+29
@@ -0,0 +1,29 @@
|
||||
#!/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"
|
||||
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"
|
||||
fi
|
||||
@@ -18,7 +18,5 @@ case "$CURRENT_INT" in
|
||||
*) NEW_SCALE=1 ;;
|
||||
esac
|
||||
|
||||
hyprctl keyword misc:disable_scale_notification true
|
||||
hyprctl keyword monitor "$ACTIVE_MONITOR,${WIDTH}x${HEIGHT}@${REFRESH_RATE},auto,$NEW_SCALE"
|
||||
hyprctl keyword misc:disable_scale_notification false
|
||||
notify-send -u low " Display scaling set to ${NEW_SCALE}x"
|
||||
|
||||
@@ -18,7 +18,7 @@ fi
|
||||
# Silently quit Walker on overlay
|
||||
walker -q
|
||||
|
||||
focused=$(hyprctl monitors -j | jq -r '.[] | select(.focused == true).name')
|
||||
focused=$(omarchy-hyprland-monitor-focused)
|
||||
terminal=$(xdg-terminal-exec --print-id)
|
||||
|
||||
for m in $(hyprctl monitors -j | jq -r '.[] | .name'); do
|
||||
|
||||
@@ -9,7 +9,7 @@ fi
|
||||
|
||||
# Ensure walker service is running
|
||||
if ! pgrep -f "walker --gapplication-service" > /dev/null; then
|
||||
setsid uwsm-app -- walker --gapplication-service &
|
||||
setsid uwsm-app -- env GSK_RENDERER=cairo walker --gapplication-service &
|
||||
fi
|
||||
|
||||
exec walker --width 644 --maxheight 300 --minheight 300 "$@"
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
browser=$(xdg-settings get default-web-browser)
|
||||
|
||||
case $browser in
|
||||
google-chrome* | brave-browser* | microsoft-edge* | opera* | vivaldi* | helium*) ;;
|
||||
google-chrome* | brave* | microsoft-edge* | opera* | vivaldi* | helium*) ;;
|
||||
*) browser="chromium.desktop" ;;
|
||||
esac
|
||||
|
||||
|
||||
+4
-4
@@ -168,7 +168,7 @@ show_share_menu() {
|
||||
}
|
||||
|
||||
show_toggle_menu() {
|
||||
case $(menu "Toggle" " Screensaver\n Nightlight\n Idle Lock\n Top Bar\n Workspace Layout\n Window Gaps\n 1-Window Ratio\n Display Scaling") in
|
||||
case $(menu "Toggle" " Screensaver\n Nightlight\n Idle Lock\n Top Bar\n Workspace Layout\n Window Gaps\n 1-Window Ratio\n Monitor Scaling\n Laptop Display") in
|
||||
|
||||
*Screensaver*) omarchy-toggle-screensaver ;;
|
||||
*Nightlight*) omarchy-toggle-nightlight ;;
|
||||
@@ -178,6 +178,7 @@ show_toggle_menu() {
|
||||
*Ratio*) omarchy-hyprland-window-single-square-aspect-toggle ;;
|
||||
*Gaps*) omarchy-hyprland-window-gaps-toggle ;;
|
||||
*Scaling*) omarchy-hyprland-monitor-scaling-cycle ;;
|
||||
*Laptop*) omarchy-hyprland-monitor-internal-toggle ;;
|
||||
*) back_to show_trigger_menu ;;
|
||||
esac
|
||||
}
|
||||
@@ -221,7 +222,6 @@ show_font_menu() {
|
||||
show_setup_menu() {
|
||||
local options=" Audio\n Wifi\n Bluetooth\n Power Profile\n System Sleep\n Monitors"
|
||||
[[ -f ~/.config/hypr/bindings.conf ]] && options="$options\n Keybindings"
|
||||
options="$options\n Key Remapping"
|
||||
[[ -f ~/.config/hypr/input.conf ]] && options="$options\n Input"
|
||||
options="$options\n DNS\n Security\n Config"
|
||||
|
||||
@@ -234,7 +234,6 @@ show_setup_menu() {
|
||||
*Monitors*) open_in_editor ~/.config/hypr/monitors.conf ;;
|
||||
*Keybindings*) open_in_editor ~/.config/hypr/bindings.conf ;;
|
||||
*Input*) open_in_editor ~/.config/hypr/input.conf ;;
|
||||
*Key\ Remapping*) omarchy-setup-makima && open_in_editor "$HOME/.config/makima/AT Translated Set 2 keyboard.toml" && omarchy-restart-makima ;;
|
||||
*DNS*) present_terminal omarchy-setup-dns ;;
|
||||
*Security*) show_setup_security_menu ;;
|
||||
*Config*) show_setup_config_menu ;;
|
||||
@@ -556,10 +555,11 @@ show_update_config_menu() {
|
||||
}
|
||||
|
||||
show_update_hardware_menu() {
|
||||
case $(menu "Restart" " Audio\n Wi-Fi\n Bluetooth") in
|
||||
case $(menu "Restart" " Audio\n Wi-Fi\n Bluetooth\n Trackpad") in
|
||||
*Audio*) present_terminal omarchy-restart-pipewire ;;
|
||||
*Wi-Fi*) present_terminal omarchy-restart-wifi ;;
|
||||
*Bluetooth*) present_terminal omarchy-restart-bluetooth ;;
|
||||
*Trackpad*) present_terminal omarchy-restart-trackpad ;;
|
||||
*) show_update_menu ;;
|
||||
esac
|
||||
}
|
||||
|
||||
@@ -46,8 +46,12 @@ parse_keycodes() {
|
||||
while IFS= read -r line; do
|
||||
if [[ $line =~ code:([0-9]+) ]]; then
|
||||
code="${BASH_REMATCH[1]}"
|
||||
symbol=$(lookup_keycode_cached "$code" "$XKB_KEYMAP_CACHE")
|
||||
echo "${line/code:${code}/$symbol}"
|
||||
if [[ $code == "201" ]]; then
|
||||
echo "${line/SUPER SHIFT,code:201/,COPILOT KEY}"
|
||||
else
|
||||
symbol=$(lookup_keycode_cached "$code" "$XKB_KEYMAP_CACHE")
|
||||
echo "${line/code:${code}/$symbol}"
|
||||
fi
|
||||
elif [[ $line =~ mouse:([0-9]+) ]]; then
|
||||
code="${BASH_REMATCH[1]}"
|
||||
|
||||
|
||||
@@ -18,7 +18,7 @@ mkdir -p "$HOME/.local/bin"
|
||||
|
||||
cat > "$HOME/.local/bin/$command" <<EOF
|
||||
#!/bin/bash
|
||||
exec npx --yes $package "\$@"
|
||||
exec mise exec node@latest -- npx --yes $package "\$@"
|
||||
EOF
|
||||
|
||||
chmod +x "$HOME/.local/bin/$command"
|
||||
|
||||
Executable
+11
@@ -0,0 +1,11 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Set the correct power profile on boot based on current AC/battery state.
|
||||
# The udev rules only fire on state *changes*, so without this, booting
|
||||
# on AC leaves you in the default balanced mode.
|
||||
|
||||
if omarchy-battery-present && ! omarchy-ac-present; then
|
||||
omarchy-powerprofiles-set battery
|
||||
else
|
||||
omarchy-powerprofiles-set ac
|
||||
fi
|
||||
Executable
+22
@@ -0,0 +1,22 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Set the power profile to the requested level, falling back to balanced
|
||||
# if the requested profile isn't available on this machine.
|
||||
#
|
||||
# Usage: omarchy-powerprofiles-set <ac|battery>
|
||||
|
||||
mapfile -t profiles < <(powerprofilesctl list | awk '/^\s*[* ]\s*[a-zA-Z0-9\-]+:$/ { gsub(/^[*[:space:]]+|:$/,""); print }')
|
||||
|
||||
case "$1" in
|
||||
ac)
|
||||
# Prefer performance, fall back to balanced
|
||||
if [[ " ${profiles[*]} " == *" performance "* ]]; then
|
||||
powerprofilesctl set performance
|
||||
else
|
||||
powerprofilesctl set balanced
|
||||
fi
|
||||
;;
|
||||
battery)
|
||||
powerprofilesctl set balanced
|
||||
;;
|
||||
esac
|
||||
@@ -1,5 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Restart makima - key remapping service for remapping Copilot key to Omarchy Menu
|
||||
|
||||
sudo systemctl restart makima
|
||||
@@ -1,8 +1,23 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Reload the intel_quicki2c driver to fix a dead trackpad.
|
||||
# The THC (Touch Host Controller) can fail to initialize interrupts
|
||||
# during boot or after suspend, leaving the trackpad registered but
|
||||
# not delivering events.
|
||||
# Reset the trackpad by unbinding and rebinding its driver.
|
||||
# Covers both driver paths:
|
||||
# - i2c_hid_acpi (DesignWare I2C, e.g. XPS 14/16 Synaptics trackpad)
|
||||
# - intel_quicki2c (THC Touch Host Controller)
|
||||
|
||||
sudo modprobe -r intel_quicki2c && sudo modprobe intel_quicki2c
|
||||
# Try i2c_hid_acpi path (DesignWare I2C trackpads)
|
||||
for dev in /sys/bus/i2c/drivers/i2c_hid_acpi/i2c-*; do
|
||||
[ -e "$dev" ] || continue
|
||||
I2C_DEVICE=$(basename "$dev")
|
||||
echo "Resetting $I2C_DEVICE via i2c_hid_acpi unbind/rebind..."
|
||||
echo "$I2C_DEVICE" | sudo tee /sys/bus/i2c/drivers/i2c_hid_acpi/unbind > /dev/null
|
||||
sleep 1
|
||||
echo "$I2C_DEVICE" | sudo tee /sys/bus/i2c/drivers/i2c_hid_acpi/bind > /dev/null
|
||||
echo "Done"
|
||||
done
|
||||
|
||||
# Also try THC path
|
||||
if lsmod | grep -q intel_quicki2c; then
|
||||
echo "Reloading intel_quicki2c..."
|
||||
sudo modprobe -r intel_quicki2c && sudo modprobe intel_quicki2c
|
||||
fi
|
||||
|
||||
@@ -1,22 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Setup makima - key remapping service for remapping Copilot key to Omarchy Menu
|
||||
|
||||
CONFIG_FILE="$HOME/.config/makima/AT Translated Set 2 keyboard.toml"
|
||||
|
||||
if [[ ! -f $CONFIG_FILE ]]; then
|
||||
omarchy-pkg-add makima-bin
|
||||
|
||||
mkdir -p "$HOME/.config/makima"
|
||||
cp "$OMARCHY_PATH/default/makima/AT Translated Set 2 keyboard.toml" "$CONFIG_FILE"
|
||||
|
||||
sudo mkdir -p /etc/systemd/system/makima.service.d
|
||||
sudo tee /etc/systemd/system/makima.service.d/override.conf >/dev/null <<EOF
|
||||
[Service]
|
||||
User=$USER
|
||||
Environment="MAKIMA_CONFIG=/home/$USER/.config/makima"
|
||||
EOF
|
||||
|
||||
sudo systemctl daemon-reload
|
||||
sudo systemctl enable --now makima 2>/dev/null || true
|
||||
fi
|
||||
@@ -9,7 +9,7 @@ progress="$(awk -v p="$percent" 'BEGIN{printf "%.2f", p/100}')"
|
||||
[[ $progress == "0.00" ]] && progress="0.01"
|
||||
|
||||
swayosd-client \
|
||||
--monitor "$(hyprctl monitors -j | jq -r '.[]|select(.focused==true).name')" \
|
||||
--monitor "$(omarchy-hyprland-monitor-focused)" \
|
||||
--custom-icon display-brightness \
|
||||
--custom-progress "$progress" \
|
||||
--custom-progress-text "${percent}%"
|
||||
|
||||
@@ -9,7 +9,7 @@ progress="$(awk -v p="$percent" 'BEGIN{printf "%.2f", p/100}')"
|
||||
[[ $progress == "0.00" ]] && progress="0.01"
|
||||
|
||||
swayosd-client \
|
||||
--monitor "$(hyprctl monitors -j | jq -r '.[]|select(.focused==true).name')" \
|
||||
--monitor "$(omarchy-hyprland-monitor-focused)" \
|
||||
--custom-icon keyboard-brightness \
|
||||
--custom-progress "$progress" \
|
||||
--custom-progress-text "${percent}%"
|
||||
|
||||
@@ -14,11 +14,11 @@ if omarchy-cmd-present chromium || omarchy-cmd-present brave; then
|
||||
|
||||
if omarchy-cmd-present chromium; then
|
||||
echo "{\"BrowserThemeColor\": \"$THEME_HEX_COLOR\", \"BrowserColorScheme\": \"device\"}" | tee "/etc/chromium/policies/managed/color.json" >/dev/null
|
||||
chromium --refresh-platform-policy --no-startup-window >/dev/null
|
||||
chromium --refresh-platform-policy --no-startup-window &>/dev/null
|
||||
fi
|
||||
|
||||
if omarchy-cmd-present brave; then
|
||||
echo "{\"BrowserThemeColor\": \"$THEME_HEX_COLOR\", \"BrowserColorScheme\": \"device\"}" | tee "/etc/brave/policies/managed/color.json" >/dev/null
|
||||
brave --refresh-platform-policy --no-startup-window >/dev/null
|
||||
brave --refresh-platform-policy --no-startup-window &>/dev/null
|
||||
fi
|
||||
fi
|
||||
|
||||
@@ -2,6 +2,13 @@
|
||||
|
||||
set -e
|
||||
|
||||
# Run the update inside a PTY so pacman/yay keep showing download progress
|
||||
# while still logging the full session for later analysis.
|
||||
if [[ -z $OMARCHY_UPDATE_LOGGED ]]; then
|
||||
script_command=$(printf '%q ' "$0" "$@")
|
||||
exec env OMARCHY_UPDATE_LOGGED=1 script -qefc "$script_command" "/tmp/omarchy-update.log"
|
||||
fi
|
||||
|
||||
trap 'echo ""; echo -e "\033[0;31mSomething went wrong during the update!\n\nPlease review the output above carefully, correct the error, and retry the update.\n\nIf you need assistance, get help from the community at https://omarchy.org/discord\033[0m"' ERR
|
||||
|
||||
if [[ $1 == "-y" ]] || omarchy-update-confirm; then
|
||||
|
||||
@@ -6,5 +6,10 @@ echo -e "\e[32mUpdate Omarchy\e[0m"
|
||||
|
||||
omarchy-update-time
|
||||
|
||||
# Suppress Hyprland config errors while git updates default config files mid-pull
|
||||
hyprctl keyword debug:suppress_errors true &>/dev/null || true
|
||||
|
||||
git -C $OMARCHY_PATH pull --autostash
|
||||
git -C $OMARCHY_PATH --no-pager diff --check || git -C $OMARCHY_PATH reset --merge
|
||||
|
||||
hyprctl reload &>/dev/null || true
|
||||
|
||||
@@ -2,13 +2,6 @@
|
||||
|
||||
set -e
|
||||
|
||||
# Run the update inside a PTY so pacman/yay keep showing download progress
|
||||
# while still logging the full session for later analysis.
|
||||
if [[ -z $OMARCHY_UPDATE_LOGGED ]]; then
|
||||
script_command=$(printf '%q ' "$0" "$@")
|
||||
exec env OMARCHY_UPDATE_LOGGED=1 script -qefc "$script_command" "/tmp/omarchy-update.log"
|
||||
fi
|
||||
|
||||
# Ensure screensaver/sleep doesn't set in during updates
|
||||
hyprctl dispatch tagwindow +noidle &>/dev/null || true
|
||||
|
||||
|
||||
@@ -0,0 +1,2 @@
|
||||
[Desktop Entry]
|
||||
Hidden=true
|
||||
+73
-47
@@ -1,18 +1,18 @@
|
||||
#? Config file for btop
|
||||
#? Config file for btop v.1.4.6
|
||||
|
||||
#* Name of a btop++/bpytop/bashtop formatted ".theme" file, "Default" and "TTY" for builtin themes.
|
||||
#* Themes should be placed in "../share/btop/themes" relative to binary or "$HOME/.config/btop/themes"
|
||||
color_theme = "current"
|
||||
|
||||
#* If the theme set background should be shown, set to False if you want terminal background transparency.
|
||||
theme_background = True
|
||||
theme_background = true
|
||||
|
||||
#* Sets if 24-bit truecolor should be used, will convert 24-bit colors to 256 color (6x6x6 color cube) if false.
|
||||
truecolor = True
|
||||
truecolor = true
|
||||
|
||||
#* Set to true to force tty mode regardless if a real tty has been detected or not.
|
||||
#* Will force 16-color mode and TTY theme, set all graph symbols to "tty" and swap out other non tty friendly symbols.
|
||||
force_tty = False
|
||||
force_tty = false
|
||||
|
||||
#* Define presets for the layout of the boxes. Preset 0 is always all boxes shown with default settings. Max 9 presets.
|
||||
#* Format: "box_name:P:G,box_name:P:G" P=(0 or 1) for alternate positions, G=graph symbol to use for box.
|
||||
@@ -22,10 +22,13 @@ presets = "cpu:1:default,proc:0:default cpu:0:default,mem:0:default,net:0:defaul
|
||||
|
||||
#* Set to True to enable "h,j,k,l,g,G" keys for directional control in lists.
|
||||
#* Conflicting keys for h:"help" and k:"kill" is accessible while holding shift.
|
||||
vim_keys = True
|
||||
vim_keys = true
|
||||
|
||||
#* Rounded corners on boxes, is ignored if TTY mode is ON.
|
||||
rounded_corners = True
|
||||
rounded_corners = true
|
||||
|
||||
#* Use terminal synchronized output sequences to reduce flickering on supported terminals.
|
||||
terminal_sync = true
|
||||
|
||||
#* Default symbols to use for graph creation, "braille", "block" or "tty".
|
||||
#* "braille" offers the highest resolution but might not be included in all fonts.
|
||||
@@ -60,37 +63,40 @@ update_ms = 2000
|
||||
proc_sorting = "cpu lazy"
|
||||
|
||||
#* Reverse sorting order, True or False.
|
||||
proc_reversed = False
|
||||
proc_reversed = false
|
||||
|
||||
#* Show processes as a tree.
|
||||
proc_tree = False
|
||||
proc_tree = false
|
||||
|
||||
#* Use the cpu graph colors in the process list.
|
||||
proc_colors = True
|
||||
proc_colors = true
|
||||
|
||||
#* Use a darkening gradient in the process list.
|
||||
proc_gradient = True
|
||||
proc_gradient = true
|
||||
|
||||
#* If process cpu usage should be of the core it's running on or usage of the total available cpu power.
|
||||
proc_per_core = False
|
||||
proc_per_core = false
|
||||
|
||||
#* Show process memory as bytes instead of percent.
|
||||
proc_mem_bytes = True
|
||||
proc_mem_bytes = true
|
||||
|
||||
#* Show cpu graph for each process.
|
||||
proc_cpu_graphs = True
|
||||
proc_cpu_graphs = true
|
||||
|
||||
#* Use /proc/[pid]/smaps for memory information in the process info box (very slow but more accurate)
|
||||
proc_info_smaps = False
|
||||
proc_info_smaps = false
|
||||
|
||||
#* Show proc box on left side of screen instead of right.
|
||||
proc_left = False
|
||||
proc_left = false
|
||||
|
||||
#* (Linux) Filter processes tied to the Linux kernel(similar behavior to htop).
|
||||
proc_filter_kernel = False
|
||||
proc_filter_kernel = false
|
||||
|
||||
#* In tree-view, always accumulate child process resources in the parent process.
|
||||
proc_aggregate = False
|
||||
proc_aggregate = false
|
||||
|
||||
#* Should cpu and memory usage display be preserved for dead processes when paused.
|
||||
keep_dead_proc_usage = false
|
||||
|
||||
#* Sets the CPU stat shown in upper half of the CPU graph, "total" is always available.
|
||||
#* Select from a list of detected attributes from the options menu.
|
||||
@@ -104,25 +110,28 @@ cpu_graph_lower = "Auto"
|
||||
show_gpu_info = "Auto"
|
||||
|
||||
#* Toggles if the lower CPU graph should be inverted.
|
||||
cpu_invert_lower = True
|
||||
cpu_invert_lower = true
|
||||
|
||||
#* Set to True to completely disable the lower CPU graph.
|
||||
cpu_single_graph = False
|
||||
cpu_single_graph = false
|
||||
|
||||
#* Show cpu box at bottom of screen instead of top.
|
||||
cpu_bottom = False
|
||||
cpu_bottom = false
|
||||
|
||||
#* Shows the system uptime in the CPU box.
|
||||
show_uptime = True
|
||||
show_uptime = true
|
||||
|
||||
#* Shows the CPU package current power consumption in watts. Requires running `make setcap` or `make setuid` or running with sudo.
|
||||
show_cpu_watts = true
|
||||
|
||||
#* Show cpu temperature.
|
||||
check_temp = True
|
||||
check_temp = true
|
||||
|
||||
#* Which sensor to use for cpu temperature, use options menu to select from list of available sensors.
|
||||
cpu_sensor = "Auto"
|
||||
|
||||
#* Show temperatures for cpu cores also if check_temp is True and sensors has been found.
|
||||
show_coretemp = True
|
||||
show_coretemp = true
|
||||
|
||||
#* Set a custom mapping between core and coretemp, can be needed on certain cpus to get correct temperature for correct core.
|
||||
#* Use lm-sensors or similar to see which cores are reporting temperatures on your machine.
|
||||
@@ -134,63 +143,66 @@ cpu_core_map = ""
|
||||
temp_scale = "celsius"
|
||||
|
||||
#* Use base 10 for bits/bytes sizes, KB = 1000 instead of KiB = 1024.
|
||||
base_10_sizes = False
|
||||
base_10_sizes = false
|
||||
|
||||
#* Show CPU frequency.
|
||||
show_cpu_freq = True
|
||||
show_cpu_freq = true
|
||||
|
||||
#* How to calculate CPU frequency, available values: "first", "range", "lowest", "highest" and "average".
|
||||
freq_mode = "first"
|
||||
|
||||
#* Draw a clock at top of screen, formatting according to strftime, empty string to disable.
|
||||
#* Special formatting: /host = hostname | /user = username | /uptime = system uptime
|
||||
clock_format = "%X"
|
||||
|
||||
#* Update main ui in background when menus are showing, set this to false if the menus is flickering too much for comfort.
|
||||
background_update = True
|
||||
background_update = true
|
||||
|
||||
#* Custom cpu model name, empty string to disable.
|
||||
custom_cpu_name = ""
|
||||
|
||||
#* Optional filter for shown disks, should be full path of a mountpoint, separate multiple values with whitespace " ".
|
||||
#* Begin line with "exclude=" to change to exclude filter, otherwise defaults to "most include" filter. Example: disks_filter="exclude=/boot /home/user".
|
||||
#* Only disks matching the filter will be shown. Prepend exclude= to only show disks not matching the filter. Examples: disk_filter="/boot /home/user", disks_filter="exclude=/boot /home/user"
|
||||
disks_filter = ""
|
||||
|
||||
#* Show graphs instead of meters for memory values.
|
||||
mem_graphs = True
|
||||
mem_graphs = true
|
||||
|
||||
#* Show mem box below net box instead of above.
|
||||
mem_below_net = False
|
||||
mem_below_net = false
|
||||
|
||||
#* Count ZFS ARC in cached and available memory.
|
||||
zfs_arc_cached = True
|
||||
zfs_arc_cached = true
|
||||
|
||||
#* If swap memory should be shown in memory box.
|
||||
show_swap = True
|
||||
show_swap = true
|
||||
|
||||
#* Show swap as a disk, ignores show_swap value above, inserts itself after first disk.
|
||||
swap_disk = True
|
||||
swap_disk = true
|
||||
|
||||
#* If mem box should be split to also show disks info.
|
||||
show_disks = True
|
||||
show_disks = true
|
||||
|
||||
#* Filter out non physical disks. Set this to False to include network disks, RAM disks and similar.
|
||||
only_physical = True
|
||||
only_physical = true
|
||||
|
||||
#* Read disks list from /etc/fstab. This also disables only_physical.
|
||||
use_fstab = True
|
||||
use_fstab = true
|
||||
|
||||
#* Setting this to True will hide all datasets, and only show ZFS pools. (IO stats will be calculated per-pool)
|
||||
zfs_hide_datasets = False
|
||||
zfs_hide_datasets = false
|
||||
|
||||
#* Set to true to show available disk space for privileged users.
|
||||
disk_free_priv = False
|
||||
disk_free_priv = false
|
||||
|
||||
#* Toggles if io activity % (disk busy time) should be shown in regular disk usage view.
|
||||
show_io_stat = True
|
||||
show_io_stat = true
|
||||
|
||||
#* Toggles io mode for disks, showing big graphs for disk read/write speeds.
|
||||
io_mode = False
|
||||
io_mode = false
|
||||
|
||||
#* Set to True to show combined read/write io graphs in io mode.
|
||||
io_graph_combined = False
|
||||
io_graph_combined = false
|
||||
|
||||
#* Set the top speed for the io graphs in MiB/s (100 by default), use format "mountpoint:speed" separate disks with whitespace " ".
|
||||
#* Example: "/mnt/media:100 /:20 /boot:1".
|
||||
@@ -202,29 +214,44 @@ net_download = 100
|
||||
net_upload = 100
|
||||
|
||||
#* Use network graphs auto rescaling mode, ignores any values set above and rescales down to 10 Kibibytes at the lowest.
|
||||
net_auto = True
|
||||
net_auto = true
|
||||
|
||||
#* Sync the auto scaling for download and upload to whichever currently has the highest scale.
|
||||
net_sync = True
|
||||
net_sync = true
|
||||
|
||||
#* Starts with the Network Interface specified here.
|
||||
net_iface = ""
|
||||
|
||||
#* "True" shows bitrates in base 10 (Kbps, Mbps). "False" shows bitrates in binary sizes (Kibps, Mibps, etc.). "Auto" uses base_10_sizes.
|
||||
base_10_bitrate = "Auto"
|
||||
|
||||
#* Show battery stats in top right if battery is present.
|
||||
show_battery = True
|
||||
show_battery = true
|
||||
|
||||
#* Which battery to use if multiple are present. "Auto" for auto detection.
|
||||
selected_battery = "Auto"
|
||||
|
||||
#* Set loglevel for "~/.config/btop/btop.log" levels are: "ERROR" "WARNING" "INFO" "DEBUG".
|
||||
#* Show power stats of battery next to charge indicator.
|
||||
show_battery_watts = true
|
||||
|
||||
#* Set loglevel for "~/.local/state/btop.log" levels are: "ERROR" "WARNING" "INFO" "DEBUG".
|
||||
#* The level set includes all lower levels, i.e. "DEBUG" will show all logging info.
|
||||
log_level = "WARNING"
|
||||
|
||||
#* Automatically save current settings to config file on exit.
|
||||
save_config_on_exit = true
|
||||
|
||||
#* Measure PCIe throughput on NVIDIA cards, may impact performance on certain cards.
|
||||
nvml_measure_pcie_speeds = True
|
||||
nvml_measure_pcie_speeds = true
|
||||
|
||||
#* Measure PCIe throughput on AMD cards, may impact performance on certain cards.
|
||||
rsmi_measure_pcie_speeds = true
|
||||
|
||||
#* Horizontally mirror the GPU graph.
|
||||
gpu_mirror_graph = True
|
||||
gpu_mirror_graph = true
|
||||
|
||||
#* Set which GPU vendors to show. Available values are "nvidia amd intel"
|
||||
shown_gpus = "nvidia amd intel"
|
||||
|
||||
#* Custom gpu0 model name, empty string to disable.
|
||||
custom_gpu_name0 = ""
|
||||
@@ -243,4 +270,3 @@ custom_gpu_name4 = ""
|
||||
|
||||
#* Custom gpu5 model name, empty string to disable.
|
||||
custom_gpu_name5 = ""
|
||||
|
||||
|
||||
@@ -32,3 +32,8 @@ bindd = SUPER SHIFT ALT, X, X Post, exec, omarchy-launch-webapp "https://x.com/c
|
||||
# Overwrite existing bindings, like putting Omarchy Menu on Super + Space
|
||||
# unbind = SUPER, SPACE
|
||||
# bindd = SUPER, SPACE, Omarchy menu, exec, omarchy-menu
|
||||
|
||||
# Logitech MX Keys
|
||||
# bind = SUPER SHIFT, S, exec, omarchy-cmd-screenshot # Print Screen Button
|
||||
# bind = SUPER, H, exec, voxtype record toggle # Dictation Button
|
||||
# bind = SUPER, PERIOD, exec, omarchy-launch-walker -m symbols # Emoji Button
|
||||
|
||||
@@ -11,7 +11,7 @@ input {
|
||||
|
||||
# Change speed of keyboard repeat
|
||||
repeat_rate = 40
|
||||
repeat_delay = 600
|
||||
repeat_delay = 250
|
||||
|
||||
# Start with numlock on by default
|
||||
numlock_by_default = true
|
||||
|
||||
+1
-1
@@ -2,7 +2,7 @@ if command -v mise &> /dev/null; then
|
||||
eval "$(mise activate bash)"
|
||||
fi
|
||||
|
||||
if command -v starship &> /dev/null; then
|
||||
if [[ $- == *i* ]] && [[ ${TERM:-} != "dumb" ]] && command -v starship &> /dev/null; then
|
||||
eval "$(starship init bash)"
|
||||
fi
|
||||
|
||||
|
||||
@@ -6,6 +6,7 @@ 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
|
||||
|
||||
# Slow app launch fix -- set systemd vars
|
||||
exec-once = systemctl --user import-environment $(env | cut -d'=' -f 1)
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
# Only display the OSD on the currently focused monitor
|
||||
$osdclient = swayosd-client --monitor "$(hyprctl monitors -j | jq -r '.[] | select(.focused == true).name')"
|
||||
$osdclient = swayosd-client --monitor "$(omarchy-hyprland-monitor-focused)"
|
||||
|
||||
# Laptop multimedia keys for volume and LCD brightness (with OSD)
|
||||
bindeld = ,XF86AudioRaiseVolume, Volume up, exec, $osdclient --output-volume raise
|
||||
bindeld = ,XF86AudioLowerVolume, Volume down, exec, $osdclient --output-volume lower
|
||||
bindeld = ,XF86AudioMute, Mute, exec, $osdclient --output-volume mute-toggle
|
||||
bindeld = ,XF86AudioMicMute, Mute microphone, exec, $osdclient --input-volume mute-toggle
|
||||
bindeld = ,XF86AudioMicMute, Mute microphone, exec, omarchy-cmd-mic-mute
|
||||
bindeld = ,XF86MonBrightnessUp, Brightness up, exec, omarchy-brightness-display +5%
|
||||
bindeld = ,XF86MonBrightnessDown, Brightness down, exec, omarchy-brightness-display 5%-
|
||||
bindeld = ,XF86KbdBrightnessUp, Keyboard brightness up, exec, omarchy-brightness-keyboard up
|
||||
|
||||
@@ -4,6 +4,7 @@ bindd = SUPER CTRL, E, Emoji picker, exec, omarchy-launch-walker -m symbols
|
||||
bindd = SUPER CTRL, C, Capture menu, exec, omarchy-menu capture
|
||||
bindd = SUPER CTRL, O, Toggle menu, exec, omarchy-menu toggle
|
||||
bindd = SUPER ALT, SPACE, Omarchy menu, exec, omarchy-menu
|
||||
bindd = SUPER SHIFT, code:201, Omarchy menu, exec, omarchy-menu
|
||||
bindd = SUPER, ESCAPE, System menu, exec, omarchy-menu system
|
||||
bindld = , XF86PowerOff, Power menu, exec, omarchy-menu system
|
||||
bindd = SUPER, K, Show key bindings, exec, omarchy-menu-keybindings
|
||||
@@ -27,6 +28,7 @@ bindd = SUPER SHIFT ALT, COMMA, Restore last notification, exec, makoctl restore
|
||||
# Toggles
|
||||
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
|
||||
|
||||
# Control Apple Display brightness
|
||||
bindd = CTRL, F1, Apple Display brightness down, exec, omarchy-brightness-display-apple -5000
|
||||
|
||||
@@ -122,6 +122,7 @@ master {
|
||||
misc {
|
||||
disable_hyprland_logo = true
|
||||
disable_splash_rendering = true
|
||||
disable_scale_notification = true
|
||||
focus_on_activate = true
|
||||
anr_missed_pings = 3
|
||||
on_focus_under_fullscreen = 1
|
||||
|
||||
@@ -1,7 +0,0 @@
|
||||
# Run omarchy-restart-makima after any changes
|
||||
|
||||
[remap]
|
||||
KEY_LEFTMETA-KEY_LEFTSHIFT-KEY_F23 = ["KEY_LEFTMETA", "KEY_LEFTALT", "KEY_SPACE"]
|
||||
|
||||
[settings]
|
||||
GRAB_DEVICE = "true"
|
||||
@@ -0,0 +1,16 @@
|
||||
#!/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
|
||||
@@ -15,7 +15,6 @@ run_logged $OMARCHY_INSTALL/config/fix-powerprofilesctl-shebang.sh
|
||||
run_logged $OMARCHY_INSTALL/config/docker.sh
|
||||
run_logged $OMARCHY_INSTALL/config/mimetypes.sh
|
||||
run_logged $OMARCHY_INSTALL/config/nautilus-python.sh
|
||||
run_logged $OMARCHY_INSTALL/config/remove-fcitx5-autostart.sh
|
||||
run_logged $OMARCHY_INSTALL/config/localdb.sh
|
||||
run_logged $OMARCHY_INSTALL/config/walker-elephant.sh
|
||||
run_logged $OMARCHY_INSTALL/config/fast-shutdown.sh
|
||||
@@ -44,6 +43,7 @@ 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
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
# Fix Dell XPS haptic touchpad.
|
||||
# The Synaptics haptic touchpad (06CB:D01A) uses the HID Manual Trigger
|
||||
# The Synaptics haptic touchpad (vendor 06CB) uses the HID Manual Trigger
|
||||
# protocol, but the kernel's HID haptic subsystem only supports Auto Trigger.
|
||||
# This sets up a lightweight daemon that monitors touchpad button events and
|
||||
# sends haptic pulses via HID feature reports on the hidraw device.
|
||||
|
||||
@@ -1,21 +1,20 @@
|
||||
# Fix display issues on Dell XPS 2026+ with LG OLED panel and Intel Panther Lake (Xe3) GPU.
|
||||
# Power-saving features cause the screen to run at 10hz.
|
||||
if omarchy-hw-match "XPS" \
|
||||
&& omarchy-hw-intel-ptl \
|
||||
&& test "$(od -An -tx1 -j8 -N2 /sys/class/drm/card*-eDP-*/edid 2>/dev/null | tr -d ' \n')" = "30e4"; then
|
||||
# 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..."
|
||||
|
||||
echo "Detected Dell XPS with LG OLED panel on Panther Lake, applying display power-saving fix..."
|
||||
|
||||
CMDLINE='KERNEL_CMDLINE[default]+=" xe.enable_panel_replay=0"'
|
||||
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
|
||||
# Fix Dell XPS OLED display issues by disabling Xe PSR2 power-saving feature
|
||||
# $COMMENT
|
||||
$CMDLINE
|
||||
EOF
|
||||
|
||||
# Also append to /etc/default/limine if it exists, since it overrides drop-in configs
|
||||
if [ -f /etc/default/limine ] && ! grep -q 'xe.enable_panel_replay' /etc/default/limine; then
|
||||
echo "$CMDLINE" | sudo tee -a /etc/default/limine >/dev/null
|
||||
fi
|
||||
fi
|
||||
|
||||
@@ -6,5 +6,6 @@ if omarchy-hw-intel && omarchy-battery-present; then
|
||||
cpu_model=$(grep -m1 "^model\s*:" /proc/cpuinfo 2>/dev/null | cut -d: -f2 | tr -d ' ')
|
||||
if [[ "$cpu_model" =~ ^(151|154|170|172|183|186|189|191|204)$ ]]; then
|
||||
omarchy-pkg-add intel-lpmd
|
||||
sudo systemctl enable intel_lpmd.service
|
||||
fi
|
||||
fi
|
||||
|
||||
@@ -0,0 +1,8 @@
|
||||
# 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,22 +1,9 @@
|
||||
if omarchy-battery-present; then
|
||||
mapfile -t profiles < <(omarchy-powerprofiles-list)
|
||||
|
||||
if (( ${#profiles[@]} > 1 )); then
|
||||
|
||||
# Default AC profile:
|
||||
# 3 profiles → performance
|
||||
# 2 profiles → balanced
|
||||
ac_profile="${profiles[2]:-${profiles[1]}}"
|
||||
|
||||
# Default Battery profile (balanced)
|
||||
battery_profile="${profiles[1]}"
|
||||
|
||||
cat <<EOF | sudo tee "/etc/udev/rules.d/99-power-profile.rules"
|
||||
SUBSYSTEM=="power_supply", ATTR{type}=="Mains", ATTR{online}=="0", RUN+="/usr/bin/powerprofilesctl set $battery_profile"
|
||||
SUBSYSTEM=="power_supply", ATTR{type}=="Mains", ATTR{online}=="1", RUN+="/usr/bin/powerprofilesctl set $ac_profile"
|
||||
cat <<EOF | sudo tee "/etc/udev/rules.d/99-power-profile.rules"
|
||||
SUBSYSTEM=="power_supply", ATTR{type}=="Mains", ATTR{online}=="0", RUN+="/usr/bin/systemd-run --no-block --collect --unit=omarchy-power-profile-battery --property=After=power-profiles-daemon.service $HOME/.local/share/omarchy/bin/omarchy-powerprofiles-set battery"
|
||||
SUBSYSTEM=="power_supply", ATTR{type}=="Mains", ATTR{online}=="1", RUN+="/usr/bin/systemd-run --no-block --collect --unit=omarchy-power-profile-ac --property=After=power-profiles-daemon.service $HOME/.local/share/omarchy/bin/omarchy-powerprofiles-set ac"
|
||||
EOF
|
||||
|
||||
sudo udevadm control --reload
|
||||
sudo udevadm trigger --subsystem-match=power_supply
|
||||
fi
|
||||
sudo udevadm control --reload 2>/dev/null
|
||||
sudo udevadm trigger --subsystem-match=power_supply 2>/dev/null
|
||||
fi
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
sudo rm -f /etc/xdg/autostart/org.fcitx.Fcitx5.desktop
|
||||
@@ -22,3 +22,6 @@ sudo chmod a+rw /etc/chromium/policies/managed
|
||||
|
||||
sudo mkdir -p /etc/brave/policies/managed
|
||||
sudo chmod a+rw /etc/brave/policies/managed
|
||||
|
||||
# Default Chromium to follow system appearance ("device") instead of dark
|
||||
echo '{"browser":{"theme":{"color_scheme":0}}}' | sudo tee /usr/lib/chromium/initial_preferences >/dev/null
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
if omarchy-battery-present; then
|
||||
cat <<EOF | sudo tee "/etc/udev/rules.d/99-wifi-powersave.rules"
|
||||
SUBSYSTEM=="power_supply", ATTR{type}=="Mains", ATTR{online}=="0", RUN+="$HOME/.local/share/omarchy/bin/omarchy-wifi-powersave on"
|
||||
SUBSYSTEM=="power_supply", ATTR{type}=="Mains", ATTR{online}=="1", RUN+="$HOME/.local/share/omarchy/bin/omarchy-wifi-powersave off"
|
||||
SUBSYSTEM=="power_supply", ATTR{type}=="Mains", ATTR{online}=="0", RUN+="/usr/bin/systemd-run --no-block --collect --unit=omarchy-wifi-powersave-on $HOME/.local/share/omarchy/bin/omarchy-wifi-powersave on"
|
||||
SUBSYSTEM=="power_supply", ATTR{type}=="Mains", ATTR{online}=="1", RUN+="/usr/bin/systemd-run --no-block --collect --unit=omarchy-wifi-powersave-off $HOME/.local/share/omarchy/bin/omarchy-wifi-powersave off"
|
||||
EOF
|
||||
|
||||
sudo udevadm control --reload
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
echo "6Ghz Wi-Fi + Intel graphics acceleration for existing installations"
|
||||
|
||||
bash "$OMARCHY_PATH/install/config/hardware/set-wireless-regdom.sh"
|
||||
bash "$OMARCHY_PATH/install/config/hardware/intel.sh"
|
||||
bash "$OMARCHY_PATH/install/config/hardware/intel/video-acceleration.sh"
|
||||
|
||||
@@ -1,3 +0,0 @@
|
||||
echo "Remove Fcitx5 XDG autostart desktop entry"
|
||||
|
||||
source $OMARCHY_PATH/install/config/remove-fcitx5-autostart.sh
|
||||
@@ -1,5 +1,5 @@
|
||||
echo "Install Intel GPU hardware acceleration drivers if missing"
|
||||
|
||||
if lspci | grep -iE 'vga|3d|display' | grep -qi 'intel'; then
|
||||
source "$OMARCHY_PATH/install/config/hardware/intel.sh"
|
||||
source "$OMARCHY_PATH/install/config/hardware/intel/video-acceleration.sh"
|
||||
fi
|
||||
|
||||
@@ -0,0 +1,3 @@
|
||||
echo "Update npx wrappers to run through mise node@latest"
|
||||
|
||||
source "$OMARCHY_PATH/install/packaging/npx.sh"
|
||||
@@ -0,0 +1,5 @@
|
||||
echo "Enable Intel LPMD service if installed"
|
||||
|
||||
if pacman -Q intel-lpmd &>/dev/null; then
|
||||
sudo systemctl enable --now intel_lpmd.service
|
||||
fi
|
||||
@@ -0,0 +1,6 @@
|
||||
echo "Copy Fcitx5 autostart desktop file to ~/.config/autostart"
|
||||
|
||||
mkdir -p ~/.config/autostart/
|
||||
cp "$OMARCHY_PATH/config/autostart/org.fcitx.Fcitx5.desktop" ~/.config/autostart/
|
||||
|
||||
omarchy-restart-xcompose
|
||||
@@ -0,0 +1,4 @@
|
||||
echo "Fix AC power udev rules to use systemd-run"
|
||||
|
||||
source $OMARCHY_PATH/install/config/powerprofilesctl-rules.sh
|
||||
source $OMARCHY_PATH/install/config/wifi-powersave-rules.sh
|
||||
@@ -0,0 +1,9 @@
|
||||
echo "Set Chromium appearance mode to device (follow system) by default"
|
||||
|
||||
echo '{"browser":{"theme":{"color_scheme":0}}}' | sudo tee /usr/lib/chromium/initial_preferences >/dev/null
|
||||
|
||||
# Update existing Chromium profiles to use "device" instead of "dark"
|
||||
PREFS="$HOME/.config/chromium/Default/Preferences"
|
||||
if [[ -f "$PREFS" ]] && command -v jq &>/dev/null; then
|
||||
jq '.browser.theme.color_scheme = 0' "$PREFS" > "$PREFS.tmp" && mv "$PREFS.tmp" "$PREFS"
|
||||
fi
|
||||
@@ -0,0 +1,11 @@
|
||||
echo "Remove makima key remapping service (Copilot key now handled natively by Hyprland)"
|
||||
|
||||
if systemctl is-enabled makima &>/dev/null; then
|
||||
sudo systemctl disable --now makima
|
||||
fi
|
||||
|
||||
sudo rm -rf /etc/systemd/system/makima.service.d
|
||||
sudo rm -f /etc/udev/rules.d/99-uinput.rules
|
||||
rm -rf "$HOME/.config/makima"
|
||||
|
||||
omarchy-pkg-drop makima-bin
|
||||
@@ -0,0 +1,8 @@
|
||||
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
|
||||
@@ -0,0 +1,17 @@
|
||||
echo "Fix empty resume_offset in hibernation config"
|
||||
|
||||
RESUME_DROP_IN="/etc/limine-entry-tool.d/resume.conf"
|
||||
SWAP_FILE="/swap/swapfile"
|
||||
|
||||
if [[ -f $RESUME_DROP_IN ]] && grep -q 'resume_offset="$' "$RESUME_DROP_IN" && [[ -f $SWAP_FILE ]]; then
|
||||
RESUME_OFFSET=$(sudo btrfs inspect-internal map-swapfile -r "$SWAP_FILE" 2>/dev/null)
|
||||
if [[ -n $RESUME_OFFSET ]]; then
|
||||
sudo sed -i "s/resume_offset=\"$/resume_offset=$RESUME_OFFSET\"/" "$RESUME_DROP_IN"
|
||||
sudo sed -i "s/resume_offset=\"$/resume_offset=$RESUME_OFFSET\"/" /etc/default/limine
|
||||
sudo limine-mkinitcpio
|
||||
sudo limine-update
|
||||
echo "Fixed: resume_offset=$RESUME_OFFSET"
|
||||
else
|
||||
echo "Warning: Could not determine resume offset for $SWAP_FILE"
|
||||
fi
|
||||
fi
|
||||
Reference in New Issue
Block a user