Compare commits

..

46 Commits

Author SHA1 Message Date
Ryan Hughes
f634bfeeb6 Merge pull request #2048 from basecamp/dev
Omarchy 3.0.2
2025-09-28 17:10:27 -04:00
Ryan Hughes
ea6b6c6b7f Typo 2025-09-28 17:08:08 -04:00
Ryan Hughes
499e7383c2 Merge branch 'master' into dev 2025-09-28 15:25:11 -04:00
Ryan Hughes
9b8819d9b9 Merge pull request #2051 from shawnyeager/audio-switch-fix
Fix for '(null)' display on AirPod source selection
2025-09-28 15:22:17 -04:00
Ryan Hughes
a8f76783e3 Merge pull request #2050 from basecamp/revert-1859-audio-switch-fix
Revert "Fix for '(null)' display on AirPod source selection"
2025-09-28 15:20:09 -04:00
Ryan Hughes
796ef67ede Revert "Fix for '(null)' display on AirPod source selection" 2025-09-28 15:18:25 -04:00
Ryan Hughes
0eccf22921 Merge pull request #1766 from mrlarsendk/master
Add support for Broadcom BCM4331 chipset alongside BCM4360
2025-09-28 15:04:13 -04:00
Ryan Hughes
971422b757 Update install script name 2025-09-28 15:02:54 -04:00
Ryan Hughes
076da663f5 Merge pull request #1845 from djordje/fix-omarchy-tui-install
Fix omarchy-tui-install
2025-09-28 15:01:17 -04:00
Ryan Hughes
b92ebff29b Merge pull request #1859 from shawnyeager/audio-switch-fix
Fix for '(null)' display on AirPod source selection
2025-09-28 14:56:47 -04:00
Ryan Hughes
8e5b59995a Merge pull request #1920 from iamobservable/iamobservable/bug/screen-recording-no-longer-works-after-updating
Use output display or region geometry to record
2025-09-28 14:55:55 -04:00
Ryan Hughes
dc49358a81 Merge pull request #1957 from joelgaff/mac-keyboard-fixes-again
Add more Mac models to SPI keyboard support
2025-09-28 14:54:28 -04:00
Ryan Hughes
cd39bbf692 Fix conflict + rearrange 2025-09-28 14:53:25 -04:00
Joel Gaff, Jr
fba17b7da4 Add more Mac models to SPI keyboard support
Added:

MacBook 8,1
MacBook 9,1

MacBook 8,1 uses slightly different moduels from what I can tell, so I’ve added a case statment.  Please tweak as needed.
2025-09-28 14:53:25 -04:00
David Heinemeier Hansson
25df782e2f Suggest how to have a smaller-than-max-width single window aspect ratio 2025-09-26 18:52:27 +02:00
observable
d4b0ba5d94 Use output display or region geometry to record
The previous code did not identify the output display correctly,
leading to wf-recorder asking the user to select the region when the
user requested the display output to be selected.

With this change the bash script will use slurp with the -o flag to
identify the display output.

This has not been tested with wl-screenrec as no change has been made to
its call signature in omarchy-cmd-screenrecord and the wl-screenrec
binary is not included in the default omarchy installation.
2025-09-25 19:37:18 -05:00
Ryan Hughes
a74b426c9f Merge pull request #1947 from e-minguez/macbook10,1-spi-fix
feat: Added MacBook10,1 to the fix-apple-spi-keyboard.sh
2025-09-25 20:07:15 -04:00
Ryan Hughes
e0a50f12a7 Merge pull request #1945 from Furyfree/master
Add Helium browser to supported browsers list in omarchy-launch-webapp
2025-09-25 20:05:01 -04:00
Eduardo Mínguez
96b64189a6 feat: Added MacBook10,1 to the fix-apple-spi-keyboard.sh 2025-09-25 22:58:55 +02:00
Patrick Byrne
3376838dfb Fix Helium browser detection in launch script 2025-09-25 21:59:37 +02:00
Patrick Byrne
0f3e6f5101 Add Helium browser to supported browsers list in omarchy-launch-webapp 2025-09-25 21:54:07 +02:00
Djordje Kovacevic
4d9f932e6c Replace "--class" with "--class=" 2025-09-23 22:52:58 +02:00
Ryan Hughes
607915a5d1 Combine ifs 2025-09-21 18:12:21 -04:00
Shawn Yeager
38d536ba9d Fix for '(null)' display on AirPod source selection 2025-09-21 16:18:12 -05:00
David Heinemeier Hansson
c4d8ef6a15 Merge branch 'master' into dev 2025-09-21 07:57:07 -04:00
Kostas
2df8c5f7e0 Install libyaml before attempting to install ruby (#1835)
* Install libyaml before attempting to install ruby

* Use omarchy helper

And unsafe -Sy

---------

Co-authored-by: David Heinemeier Hansson <david@hey.com>
2025-09-21 07:56:56 -04:00
David Heinemeier Hansson
a820b72da9 Revert "Ensure libyaml is available for installs made before that was on the ISO"
This reverts commit ad01082a86.
2025-09-21 07:55:52 -04:00
David Heinemeier Hansson
39c27939f3 No longer used
Closes #1815
2025-09-21 07:51:04 -04:00
Ryan Hughes
0123cf7917 Merge pull request #1774 from John-Lin/patch-1
fix: ghostty config typos
2025-09-21 03:39:27 -04:00
Djordje Kovacevic
441ee10d70 Add migration to fix Docker and Disk Usage TUIs 2025-09-21 09:29:44 +02:00
Djordje Kovacevic
45465d3e7c Fix TUI install script
- $TERMINAL should remain variable
2025-09-21 08:40:48 +02:00
Ryan Hughes
a746812504 Limit pattern to prevent incorrect matches 2025-09-19 20:39:20 -04:00
David Heinemeier Hansson
ad01082a86 Ensure libyaml is available for installs made before that was on the ISO 2025-09-19 18:44:36 -04:00
David Heinemeier Hansson
ba743c623d Give output on what's intended to happen 2025-09-19 17:44:13 -04:00
David Heinemeier Hansson
779c1b9ecc Add Update > Hardware > Audio for restarting pipewire service 2025-09-19 17:44:03 -04:00
David Heinemeier Hansson
e4ab5bee14 Catch obsidian vault dialog too 2025-09-19 17:31:20 -04:00
Taha
f60b9d1cb4 Fix Matte Black theme ghostty and vscode configs (#1801)
* Update Matte Black ghostty.conf with more color settings

* Rename theme from 'MatteBlack' to 'Matte Black'
2025-09-19 15:41:52 -04:00
Johan Sørensen
70661d5d5b Hide hyperland cursor while typing (#1812) 2025-09-19 15:40:54 -04:00
David Heinemeier Hansson
ad155b2545 Ghostty needs a very different scrollfactor than Alacritty and Kitty
cc @mitchellh
2025-09-19 05:32:47 -05:00
Omar Skalli
206930def8 Improve theme-set-vscode to support jsonc and respect symlinks (#1756) 2025-09-18 16:43:01 -05:00
Che-Wei Lin
a965a333ea fix: ghostty config typos 2025-09-18 23:18:51 +08:00
Michael Larsen
4d50c8bd33 Clean up
Tested the logic on the MacBook. It worked and the install of the
drivers are reenabled.
2025-09-18 15:16:24 +02:00
Michael Larsen
ad30ef6339 Tried with a different approach for cleaner code 2025-09-18 14:53:04 +02:00
Michael Larsen
19d1ee2b00 Added fix for ealy 2013 macbook pro's using an older chipset, BCM4331 2025-09-18 13:01:26 +02:00
David Heinemeier Hansson
ed3b723c7f Merge branch 'master' into dev 2025-09-17 23:02:32 +02:00
David Heinemeier Hansson
28c4814f5a Fix osaka jade theme for ghostty 2025-09-17 21:03:44 +02:00
23 changed files with 102 additions and 38 deletions

View File

@@ -15,7 +15,7 @@ SCOPE="$1"
AUDIO=$([[ $2 == "audio" ]] && echo "--audio")
start_screenrecording() {
filename="$OUTPUT_DIR/screenrecording-$(date +'%Y-%m-%d_%H-%M-%S').mp4"
local filename="$OUTPUT_DIR/screenrecording-$(date +'%Y-%m-%d_%H-%M-%S').mp4"
if lspci | grep -qi 'nvidia'; then
wf-recorder $AUDIO -f "$filename" -c libx264 -p crf=23 -p preset=medium -p movflags=+faststart "$@" &
@@ -47,7 +47,8 @@ screenrecording_active() {
if screenrecording_active; then
stop_screenrecording
elif [[ "$SCOPE" == "output" ]]; then
start_screenrecording
output=$(slurp -o) || exit 1
start_screenrecording -g "$output"
else
region=$(slurp) || exit 1
start_screenrecording -g "$region"

View File

@@ -47,6 +47,7 @@ install_node() {
case "$1" in
ruby)
echo -e "Installing Ruby on Rails...\n"
omarchy-pkg-add libyaml
mise use --global ruby@latest
mise settings add idiomatic_version_file_enable_tools ruby
mise x ruby -- gem install rails --no-document

View File

@@ -7,7 +7,7 @@ fi
WINDOW_PATTERN="$1"
LAUNCH_COMMAND="${2:-"uwsm app -- $WINDOW_PATTERN"}"
WINDOW_ADDRESS=$(hyprctl clients -j | jq -r --arg p "$WINDOW_PATTERN" '.[]|select((.class+" "+.title)|test($p;"i"))|.address' | head -n1)
WINDOW_ADDRESS=$(hyprctl clients -j | jq -r --arg p "$WINDOW_PATTERN" '.[]|select((.class|test("\\b" + $p + "\\b";"i")) or (.title|test("\\b" + $p + "\\b";"i")))|.address' | head -n1)
if [[ -n $WINDOW_ADDRESS ]]; then
hyprctl dispatch focuswindow "address:$WINDOW_ADDRESS"

View File

@@ -3,7 +3,7 @@
browser=$(xdg-settings get default-web-browser)
case $browser in
google-chrome* | brave-browser* | microsoft-edge* | opera* | vivaldi*) ;;
google-chrome* | brave-browser* | microsoft-edge* | opera* | vivaldi* | helium-browser*) ;;
*) browser="chromium.desktop" ;;
esac

View File

@@ -430,7 +430,8 @@ show_update_config_menu() {
}
show_update_hardware_menu() {
case $(menu "Restart" "󱚾 Wi-Fi\n󰂯 Bluetooth") in
case $(menu "Restart" " Audio\n󱚾 Wi-Fi\n󰂯 Bluetooth") in
*Audio*) present_terminal omarchy-restart-pipewire ;;
*Wi-Fi*) present_terminal omarchy-restart-wifi ;;
*Bluetooth*) present_terminal omarchy-restart-bluetooth ;;
*) show_update_menu ;;

View File

@@ -1,4 +1,5 @@
#!/bin/bash
echo -e "Unblocking bluetooth...\n"
rfkill unblock bluetooth
rfkill list bluetooth

4
bin/omarchy-restart-pipewire Executable file
View File

@@ -0,0 +1,4 @@
#!/bin/bash
echo -e "Restarting pipewire audio service...\n"
systemctl --user restart pipewire.service

View File

@@ -1,4 +1,5 @@
#!/bin/bash
echo -e "Unblocking wifi...\n"
rfkill unblock wifi
rfkill list wifi

View File

@@ -1,5 +1,8 @@
#!/bin/bash
# Note: We cannot use `jq` to update settings.json because its JSONC (allows comments),
# which jq doesnt support.
VS_CODE_THEME="$HOME/.config/omarchy/current/theme/vscode.json"
VS_CODE_SETTINGS="$HOME/.config/Code/User/settings.json"
VS_CODE_SKIP_FLAG="$HOME/.local/state/omarchy/toggles/skip-vscode-theme-changes"
@@ -15,12 +18,29 @@ if omarchy-cmd-present code && [[ ! -f "$VS_CODE_SKIP_FLAG" ]]; then
code --install-extension "$extension" >/dev/null
fi
# Update theme in settings.json
jq -n --arg t "$theme_name" '(input? // {}) | .["workbench.colorTheme"] = $t' "$VS_CODE_SETTINGS" >"${VS_CODE_SETTINGS}.new"
# Create config file if there isn't already one
mkdir -p "$(dirname "$VS_CODE_SETTINGS")"
if [[ ! -f "$VS_CODE_SETTINGS" ]]; then
printf '{\n}\n' > "$VS_CODE_SETTINGS"
fi
# Create a `workbench.colorTheme` entry in settings.
if ! grep -q '"workbench.colorTheme"' "$VS_CODE_SETTINGS"; then
# Insert `"workbench.colorTheme": "",` immediately after the first `{`
# Use sed's first-match range (0,/{/) to only replace the first `{`
sed -i --follow-symlinks -E '0,/\{/{s/\{/{\
"workbench.colorTheme": "",/}' "$VS_CODE_SETTINGS"
fi
# Update theme
sed -i --follow-symlinks -E \
"s/(\"workbench.colorTheme\"[[:space:]]*:[[:space:]]*\")[^\"]*(\")/\1$theme_name\2/" \
"$VS_CODE_SETTINGS"
else
# Remove theme from settings.json when the theme doesn't have vscode support
jq 'del(.["workbench.colorTheme"])' "$VS_CODE_SETTINGS" >"${VS_CODE_SETTINGS}.new"
fi
if [[ -f "$VS_CODE_SETTINGS" ]]; then
sed -i --follow-symlinks -E '/"workbench\.colorTheme"[[:space:]]*:[^,}]*,?/d' "$VS_CODE_SETTINGS"
mv "${VS_CODE_SETTINGS}.new" "$VS_CODE_SETTINGS"
fi
fi
fi

View File

@@ -43,7 +43,7 @@ cat >"$DESKTOP_FILE" <<EOF
Version=1.0
Name=$APP_NAME
Comment=$APP_NAME
Exec=$TERMINAL --class $APP_CLASS -e $APP_EXEC
Exec=\$TERMINAL --class=$APP_CLASS -e $APP_EXEC
Terminal=false
Type=Application
Icon=$ICON_PATH

View File

@@ -12,7 +12,7 @@ window-padding-y = 14
confirm-close-surface=false
resize-overlay = never
# Cursor stlying
# Cursor styling
cursor-style = "block"
cursor-style-blink = false
shell-integration-features = no-cursor

View File

@@ -27,8 +27,9 @@ input {
}
}
# Scroll faster in the terminal
windowrule = scrolltouchpad 1.5, tag:terminal
# Scroll nicely in the terminal
windowrule = scrolltouchpad 1.5, class:(Alacritty|kitty)
windowrule = scrolltouchpad 0.2, class:com.mitchellh.ghostty
# Enable touchpad gestures for changing workspaces
# See https://wiki.hyprland.org/Configuring/Gestures/

View File

@@ -15,3 +15,9 @@ decoration {
# Use round window corners
# rounding = 8
}
# https://wiki.hypr.land/Configuring/Dwindle-Layout/
dwindle {
# Avoid overly wide single-window layouts on wide screens
# single_window_aspect_ratio = 1 1
}

View File

@@ -4,7 +4,7 @@ windowrule = center, tag:floating-window
windowrule = size 800 600, tag:floating-window
windowrule = tag +floating-window, class:(blueberry.py|Impala|Wiremix|org.gnome.NautilusPreviewer|com.gabm.satty|Omarchy|About|TUI.float)
windowrule = tag +floating-window, class:(xdg-desktop-portal-gtk|sublime_text|DesktopEditors|org.gnome.Nautilus), title:^(Open.*Files?|Open Folder|Save.*Files?|Save.*As|Save|All Files)
windowrule = tag +floating-window, class:(xdg-desktop-portal-gtk|sublime_text|DesktopEditors|org.gnome.Nautilus), title:^(Open.*Files?|Open [F|f]older.*|Save.*Files?|Save.*As|Save|All Files)
# Fullscreen screensaver
windowrule = fullscreen, class:Screensaver

View File

@@ -87,3 +87,8 @@ misc {
disable_splash_rendering = true
focus_on_activate = true
}
# https://wiki.hypr.land/Configuring/Variables/#cursor
cursor {
hide_on_key_press = true
}

View File

@@ -24,6 +24,6 @@ run_logged $OMARCHY_INSTALL/config/hardware/usb-autosuspend.sh
run_logged $OMARCHY_INSTALL/config/hardware/ignore-power-button.sh
run_logged $OMARCHY_INSTALL/config/hardware/nvidia.sh
run_logged $OMARCHY_INSTALL/config/hardware/fix-f13-amd-audio-input.sh
run_logged $OMARCHY_INSTALL/config/hardware/fix-apple-bcm4360.sh
run_logged $OMARCHY_INSTALL/config/hardware/fix-apple-bcm43xx.sh
run_logged $OMARCHY_INSTALL/config/hardware/fix-apple-spi-keyboard.sh
run_logged $OMARCHY_INSTALL/config/hardware/fix-apple-t2.sh

View File

@@ -1,5 +0,0 @@
# Install wifi drivers for 2013-2015 MacBooks using the BCM4360 chip
if lspci -nnv | grep -A2 "14e4:43a0" | grep -q "106b:"; then
echo "Apple BCM4360 detected"
sudo pacman -S --noconfirm --needed broadcom-wl dkms linux-headers
fi

View File

@@ -0,0 +1,11 @@
# Install Wi-Fi drivers for Broadcom chips on MacBooks:
# - BCM4360 (20132015)
# - BCM4331 (2012, early 2013)
pci_info=$(lspci -nnv)
if echo "$pci_info" | grep -q "106b:" &&
(echo "$pci_info" | grep -q "14e4:43a0" || echo "$pci_info" | grep -q "14e4:4331"); then
echo "Apple BCM4360 / BCM4331 detected"
sudo pacman -S --noconfirm --needed broadcom-wl dkms linux-headers
fi

View File

@@ -1,7 +1,12 @@
# Detect MacBook models that need SPI keyboard modules
if [[ "$(cat /sys/class/dmi/id/product_name 2>/dev/null)" =~ MacBook12,1|MacBookPro13,[123]|MacBookPro14,[123] ]]; then
product_name="$(cat /sys/class/dmi/id/product_name 2>/dev/null)"
if [[ "$product_name" =~ MacBook[89],1|MacBook1[02],1|MacBookPro13,[123]|MacBookPro14,[123] ]]; then
echo "Detected MacBook with SPI keyboard"
sudo pacman -S --noconfirm --needed macbook12-spi-driver-dkms
echo "MODULES=(applespi intel_lpss_pci spi_pxa2xx_platform)" | sudo tee /etc/mkinitcpio.conf.d/macbook_spi_modules.conf >/dev/null
if [[ "$product_name" == "MacBook8,1" ]]; then
echo "MODULES=(applespi spi_pxa2xx_platform spi_pxa2xx_pci)" | sudo tee /etc/mkinitcpio.conf.d/macbook_spi_modules.conf >/dev/null
else
echo "MODULES=(applespi intel_lpss_pci spi_pxa2xx_platform)" | sudo tee /etc/mkinitcpio.conf.d/macbook_spi_modules.conf >/dev/null
fi
fi

View File

@@ -1,14 +0,0 @@
# Called by Omarchy ISO setup before starting configurator and archinstall
source "$OMARCHY_INSTALL/preflight/set-size-vars.sh"
source "$OMARCHY_INSTALL/helpers/logo.sh"
source "$OMARCHY_INSTALL/preflight/gum.sh"
source "$OMARCHY_INSTALL/helpers/tail-log-output.sh"
source "$OMARCHY_INSTALL/helpers/trap-errors.sh"
source $OMARCHY_INSTALL/helpers/chroot.sh
source $OMARCHY_INSTALL/helpers/logo.sh
source $OMARCHY_INSTALL/helpers/gum.sh
source $OMARCHY_INSTALL/helpers/errors.sh
source $OMARCHY_INSTALL/helpers/logging.sh
source $OMARCHY_INSTALL/helpers/layout.sh

17
migrations/1758436991.sh Normal file
View File

@@ -0,0 +1,17 @@
echo "Fix Disk Usage and Docker TUIs"
APP_DIR="$HOME/.local/share/applications"
ICON_DIR="$APP_DIR/icons"
# Don't use omarchy-tui-remove to preserve icons
if [[ -f "$APP_DIR/Docker.desktop" ]]; then
rm "$APP_DIR/Docker.desktop"
omarchy-tui-install "Docker" "lazydocker" tile "$ICON_DIR/Docker.png"
fi
if [[ -f "$APP_DIR/Disk Usage.desktop" ]]; then
rm "$APP_DIR/Disk Usage.desktop"
omarchy-tui-install "Disk Usage" "bash -c 'dust -r; read -n 1 -s'" float "$ICON_DIR/Disk Usage.png"
fi

View File

@@ -1,3 +1,12 @@
background = #121212
foreground = #BEBEBE
cursor-color = #EAEAEA
cursor-text = #121212
selection-background = #333333
selection-foreground = #EAEAEA
# normal colors
palette = 0=#333333
palette = 1=#D35F5F

View File

@@ -1,4 +1,4 @@
{
"name": "MatteBlack",
"name": "Matte Black",
"extension": "TahaYVR.matteblack"
}