Compare commits

..

1 Commits

Author SHA1 Message Date
David Heinemeier Hansson
f883aa1331 Allow custom editor, like we do custom terminal 2025-09-16 15:13:09 +02:00
79 changed files with 119 additions and 1102 deletions

View File

@@ -8,82 +8,31 @@ if [[ ! -d "$OUTPUT_DIR" ]]; then
exit 1 exit 1
fi fi
SCOPE="" # Selects region or output
AUDIO="false" SCOPE="$1"
WEBCAM="false"
for arg in "$@"; do # Selects audio inclusion or not
case "$arg" in AUDIO=$([[ $2 == "audio" ]] && echo "--audio")
--with-audio) AUDIO="true" ;;
--with-webcam) WEBCAM="true" ;;
output|region) SCOPE="$arg" ;;
esac
done
cleanup_webcam() {
pkill -f "WebcamOverlay" 2>/dev/null
}
start_webcam_overlay() {
cleanup_webcam
# Get monitor scale
local scale=$(hyprctl monitors -j | jq -r '.[] | select(.focused == true) | .scale')
# Target width (base 360px, scaled to monitor)
local target_width=$(awk "BEGIN {printf \"%.0f\", 360 * $scale}")
# Try preferred 16:9 resolutions in order, use first available
local preferred_resolutions=("640x360" "1280x720" "1920x1080")
local video_size_arg=""
local available_formats=$(v4l2-ctl --list-formats-ext -d /dev/video0 2>/dev/null)
for resolution in "${preferred_resolutions[@]}"; do
if echo "$available_formats" | grep -q "$resolution"; then
video_size_arg="-video_size $resolution"
break
fi
done
ffplay -f v4l2 $video_size_arg -framerate 30 /dev/video0 \
-vf "scale=${target_width}:-1" \
-window_title "WebcamOverlay" \
-noborder \
-fflags nobuffer -flags low_delay \
-probesize 32 -analyzeduration 0 \
-loglevel quiet &
sleep 1
}
start_screenrecording() { start_screenrecording() {
local filename="$OUTPUT_DIR/screenrecording-$(date +'%Y-%m-%d_%H-%M-%S').mp4" filename="$OUTPUT_DIR/screenrecording-$(date +'%Y-%m-%d_%H-%M-%S').mp4"
local audio_args=""
# Merge audio tracks into one - separate tracks only play one at a time in most players if lspci | grep -qi 'nvidia'; then
[[ "$AUDIO" == "true" ]] && audio_args="-a default_output|default_input" wf-recorder $AUDIO -f "$filename" -c libx264 -p crf=23 -p preset=medium -p movflags=+faststart "$@" &
else
wl-screenrec $AUDIO -f "$filename" --ffmpeg-encoder-options="-c:v libx264 -crf 23 -preset medium -movflags +faststart" "$@" &
fi
gpu-screen-recorder -w "$@" -f 60 -c mp4 -o "$filename" $audio_args &
toggle_screenrecording_indicator toggle_screenrecording_indicator
} }
stop_screenrecording() { stop_screenrecording() {
pkill -SIGINT -f "gpu-screen-recorder" # SIGINT required to save video properly pkill -x wl-screenrec
pkill -x wf-recorder
# Wait a maximum of 5 seconds to finish before hard killing
local count=0
while pgrep -f "gpu-screen-recorder" >/dev/null && [ $count -lt 50 ]; do
sleep 0.1
count=$((count + 1))
done
if pgrep -f "gpu-screen-recorder" >/dev/null; then
pkill -9 -f "gpu-screen-recorder"
cleanup_webcam
notify-send "Screen recording error" "Recording process had to be force-killed. Video may be corrupted." -u critical -t 5000
else
cleanup_webcam
notify-send "Screen recording saved to $OUTPUT_DIR" -t 2000 notify-send "Screen recording saved to $OUTPUT_DIR" -t 2000
fi
sleep 0.2 # ensures the process is actually dead before we check
toggle_screenrecording_indicator toggle_screenrecording_indicator
} }
@@ -92,51 +41,14 @@ toggle_screenrecording_indicator() {
} }
screenrecording_active() { screenrecording_active() {
pgrep -f "gpu-screen-recorder" >/dev/null || pgrep -x slurp >/dev/null || pgrep -f "WebcamOverlay" >/dev/null pgrep -x wl-screenrec >/dev/null || pgrep -x wf-recorder >/dev/null
} }
if screenrecording_active; then if screenrecording_active; then
if pgrep -x slurp >/dev/null; then
pkill -x slurp 2>/dev/null
elif pgrep -f "WebcamOverlay" >/dev/null && ! pgrep -f "gpu-screen-recorder" >/dev/null; then
cleanup_webcam
else
stop_screenrecording stop_screenrecording
fi
elif [[ "$SCOPE" == "output" ]]; then elif [[ "$SCOPE" == "output" ]]; then
[[ "$WEBCAM" == "true" ]] && start_webcam_overlay start_screenrecording
if ! output=$(slurp -o -f "%o"); then
[[ "$WEBCAM" == "true" ]] && cleanup_webcam
exit 1
fi
if [[ -z "$output" ]]; then
notify-send "Error" "Could not detect monitor" -u critical
[[ "$WEBCAM" == "true" ]] && cleanup_webcam
exit 1
fi
start_screenrecording "$output"
else else
[[ "$WEBCAM" == "true" ]] && start_webcam_overlay region=$(slurp) || exit 1
start_screenrecording -g "$region"
scale=$(hyprctl monitors -j | jq -r '.[] | select(.focused == true) | .scale')
if ! region=$(slurp -f "%wx%h+%x+%y"); then
[[ "$WEBCAM" == "true" ]] && cleanup_webcam
exit 1
fi
if [[ "$region" =~ ^([0-9]+)x([0-9]+)\+([0-9]+)\+([0-9]+)$ ]]; then
w=$(awk "BEGIN {printf \"%.0f\", ${BASH_REMATCH[1]} * $scale}")
h=$(awk "BEGIN {printf \"%.0f\", ${BASH_REMATCH[2]} * $scale}")
x=$(awk "BEGIN {printf \"%.0f\", ${BASH_REMATCH[3]} * $scale}")
y=$(awk "BEGIN {printf \"%.0f\", ${BASH_REMATCH[4]} * $scale}")
scaled_region="${w}x${h}+${x}+${y}"
else
scaled_region="$region"
fi
start_screenrecording region -region "$scaled_region"
fi fi

View File

@@ -7,7 +7,7 @@ screensaver_in_focus() {
exit_screensaver() { exit_screensaver() {
hyprctl keyword cursor:invisible false hyprctl keyword cursor:invisible false
pkill -x tte 2>/dev/null pkill -x tte 2>/dev/null
pkill -f "alacritty --class Screensaver" 2>/dev/null pkill -f "$TERMINAL --class Screensaver" 2>/dev/null
exit 0 exit 0
} }

View File

@@ -13,11 +13,6 @@ if [[ -n "$font_name" && "$font_name" != "CNCLD" ]]; then
pkill -USR1 kitty pkill -USR1 kitty
fi fi
if [[ -f ~/.config/ghostty/config ]]; then
sed -i "s/font-family = \".*\"/font-family = \"$font_name\"/g" ~/.config/ghostty/config
pkill -SIGUSR2 ghostty
fi
sed -i "s/font-family: .*/font-family: '$font_name';/g" ~/.config/waybar/style.css sed -i "s/font-family: .*/font-family: '$font_name';/g" ~/.config/waybar/style.css
sed -i "s/font-family: .*/font-family: '$font_name';/g" ~/.config/swayosd/style.css sed -i "s/font-family: .*/font-family: '$font_name';/g" ~/.config/swayosd/style.css
xmlstarlet ed -L \ xmlstarlet ed -L \

View File

@@ -1,13 +0,0 @@
#!/bin/bash
if [[ -f ~/.config/chromium-flags.conf ]]; then
CONF=~/.config/chromium-flags.conf
grep -qxF -- "--oauth2-client-id=77185425430.apps.googleusercontent.com" "$CONF" ||
echo "--oauth2-client-id=77185425430.apps.googleusercontent.com" >>"$CONF"
grep -qxF -- "--oauth2-client-secret=OTJgUOQcT7lO7GsGZq2G4IlT" "$CONF" ||
echo "--oauth2-client-secret=OTJgUOQcT7lO7GsGZq2G4IlT" >>"$CONF"
echo "Now you can login to your Google Account in Chromium."
fi

View File

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

View File

@@ -1,19 +0,0 @@
#!/bin/bash
if (($# == 0)); then
echo "Usage: omarchy-install-terminal [alacritty|ghostty|kitty]"
exit 1
fi
package="$1"
# Install package
omarchy-pkg-add $package
# Set as default terminal
echo "Setting $package as new default terminal..."
sed -i "/export TERMINAL=/ c\export TERMINAL=$package" ~/.config/uwsm/default
# Relaunch is needed for new default to take effect
echo
gum confirm "Relaunch Hyprland to use new terminal?" && uwsm stop

View File

@@ -1,3 +1,3 @@
#!/bin/bash #!/bin/bash
exec setsid uwsm app -- alacritty --class=Omarchy -o font.size=9 -e bash -c 'fastfetch; read -n 1 -s' exec setsid uwsm app -- "$TERMINAL" --class=Omarchy -o font.size=9 -e bash -c 'fastfetch; read -n 1 -s'

View File

@@ -1,10 +1,13 @@
#!/bin/bash #!/bin/bash
case "${EDITOR:-nvim}" in case "$EDITOR" in
nvim | vim | nano | micro | hx) nvim | vim | nano | micro | hx)
exec setsid uwsm app -- "$TERMINAL" -e "$EDITOR" "$@" exec setsid uwsm app -- "$TERMINAL" -e "$EDITOR" "$@"
;; ;;
*) code | codium | subl | gedit | kate | zeditor)
exec setsid uwsm app -- "$EDITOR" "$@" exec setsid uwsm app -- "$EDITOR" "$@"
;; ;;
*)
exec setsid uwsm app -- "$TERMINAL" -e nvim "$@"
;;
esac esac

View File

@@ -1,4 +1,4 @@
#!/bin/bash #!/bin/bash
cmd="$*" cmd="$*"
exec setsid uwsm app -- alacritty --class=Omarchy --title=Omarchy -e bash -c "omarchy-show-logo; $cmd; omarchy-show-done" exec setsid uwsm app -- "$TERMINAL" --class=Omarchy -e bash -c "omarchy-show-logo; $cmd; omarchy-show-done"

View File

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

View File

@@ -6,7 +6,7 @@ if ! command -v tte &>/dev/null; then
fi fi
# Exit early if screensave is already running # Exit early if screensave is already running
pgrep -f "alacritty --class Screensaver" && exit 0 pgrep -f "$TERMINAL --class Screensaver" && exit 0
# Allow screensaver to be turned off but also force started # Allow screensaver to be turned off but also force started
if [[ -f ~/.local/state/omarchy/toggles/screensaver-off ]] && [[ $1 != "force" ]]; then if [[ -f ~/.local/state/omarchy/toggles/screensaver-off ]] && [[ $1 != "force" ]]; then

View File

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

View File

@@ -37,7 +37,7 @@ menu() {
} }
terminal() { terminal() {
alacritty --class=Omarchy -e "$@" $TERMINAL --class Omarchy -e "$@"
} }
present_terminal() { present_terminal() {
@@ -61,10 +61,6 @@ install_font() {
present_terminal "echo 'Installing $1...'; sudo pacman -S --noconfirm --needed $2 && sleep 2 && omarchy-font-set '$3'" present_terminal "echo 'Installing $1...'; sudo pacman -S --noconfirm --needed $2 && sleep 2 && omarchy-font-set '$3'"
} }
install_terminal() {
present_terminal "omarchy-install-terminal $1"
}
aur_install() { aur_install() {
present_terminal "echo 'Installing $1 from AUR...'; yay -S --noconfirm $2" present_terminal "echo 'Installing $1 from AUR...'; yay -S --noconfirm $2"
} }
@@ -232,7 +228,7 @@ show_setup_security_menu() {
} }
show_install_menu() { show_install_menu() {
case $(menu "Install" "󰣇 Package\n󰣇 AUR\n Web App\n TUI\n Service\n Style\n󰵮 Development\n Editor\n Terminal\n󱚤 AI\n Gaming") in case $(menu "Install" "󰣇 Package\n󰣇 AUR\n Web App\n TUI\n Service\n Style\n󰵮 Development\n Editor\n󱚤 AI\n Gaming") in
*Package*) terminal omarchy-pkg-install ;; *Package*) terminal omarchy-pkg-install ;;
*AUR*) terminal omarchy-pkg-aur-install ;; *AUR*) terminal omarchy-pkg-aur-install ;;
*Web*) present_terminal omarchy-webapp-install ;; *Web*) present_terminal omarchy-webapp-install ;;
@@ -241,7 +237,6 @@ show_install_menu() {
*Style*) show_install_style_menu ;; *Style*) show_install_style_menu ;;
*Development*) show_install_development_menu ;; *Development*) show_install_development_menu ;;
*Editor*) show_install_editor_menu ;; *Editor*) show_install_editor_menu ;;
*Terminal*) show_install_terminal_menu ;;
*AI*) show_install_ai_menu ;; *AI*) show_install_ai_menu ;;
*Gaming*) show_install_gaming_menu ;; *Gaming*) show_install_gaming_menu ;;
*) show_main_menu ;; *) show_main_menu ;;
@@ -249,11 +244,10 @@ show_install_menu() {
} }
show_install_service_menu() { show_install_service_menu() {
case $(menu "Install" " Dropbox\n Tailscale\n󰟵 Bitwarden\n Chromium Account") in case $(menu "Install" " Dropbox\n Tailscale\n󰟵 Bitwarden") in
*Dropbox*) present_terminal omarchy-install-dropbox ;; *Dropbox*) present_terminal omarchy-install-dropbox ;;
*Tailscale*) present_terminal omarchy-install-tailscale ;; *Tailscale*) present_terminal omarchy-install-tailscale ;;
*Bitwarden*) install_and_launch "Bitwarden" "bitwarden bitwarden-cli" "bitwarden" ;; *Bitwarden*) install_and_launch "Bitwarden" "bitwarden bitwarden-cli" "bitwarden" ;;
*Chromium*) present_terminal omarchy-install-chromium-google-account ;;
*) show_install_menu ;; *) show_install_menu ;;
esac esac
} }
@@ -270,15 +264,6 @@ show_install_editor_menu() {
esac esac
} }
show_install_terminal_menu() {
case $(menu "Install" " Alacritty\n Ghostty\n Kitty") in
*Alacritty*) install_terminal "alacritty" ;;
*Ghostty*) install_terminal "ghostty" ;;
*Kitty*) install_terminal "kitty" ;;
*) show_install_menu ;;
esac
}
show_install_ai_menu() { show_install_ai_menu() {
ollama_pkg=$( ollama_pkg=$(
(command -v nvidia-smi &>/dev/null && echo ollama-cuda) || (command -v nvidia-smi &>/dev/null && echo ollama-cuda) ||
@@ -384,9 +369,8 @@ show_remove_menu() {
} }
show_update_menu() { show_update_menu() {
case $(menu "Update" " Omarchy\n Branch\n Config\n󰸌 Extra Themes\n Process\n󰇅 Hardware\n Password\n Timezone") in case $(menu "Update" " Omarchy\n Config\n󰸌 Extra Themes\n Process\n󰇅 Hardware\n Password\n Timezone") in
*Omarchy*) present_terminal omarchy-update ;; *Omarchy*) present_terminal omarchy-update ;;
*Branch*) show_update_branch_menu ;;
*Config*) show_update_config_menu ;; *Config*) show_update_config_menu ;;
*Themes*) present_terminal omarchy-theme-update ;; *Themes*) present_terminal omarchy-theme-update ;;
*Process*) show_update_process_menu ;; *Process*) show_update_process_menu ;;
@@ -397,13 +381,6 @@ show_update_menu() {
esac esac
} }
show_update_branch_menu() {
case $(menu "Branch" "master\ndev" "" "$(omarchy-version-branch)") in
*master*) present_terminal "omarchy-update-branch master" ;;
*dev*) present_terminal "omarchy-update-branch dev" ;;
*) show_update_menu ;;
esac
}
show_update_process_menu() { show_update_process_menu() {
case $(menu "Restart" " Hypridle\n Hyprsunset\n Swayosd\n󰌧 Walker\n󰍜 Waybar") in case $(menu "Restart" " Hypridle\n Hyprsunset\n Swayosd\n󰌧 Walker\n󰍜 Waybar") in
*Hypridle*) omarchy-restart-hypridle ;; *Hypridle*) omarchy-restart-hypridle ;;
@@ -430,8 +407,7 @@ show_update_config_menu() {
} }
show_update_hardware_menu() { show_update_hardware_menu() {
case $(menu "Restart" " Audio\n󱚾 Wi-Fi\n󰂯 Bluetooth") in case $(menu "Restart" "󱚾 Wi-Fi\n󰂯 Bluetooth") in
*Audio*) present_terminal omarchy-restart-pipewire ;;
*Wi-Fi*) present_terminal omarchy-restart-wifi ;; *Wi-Fi*) present_terminal omarchy-restart-wifi ;;
*Bluetooth*) present_terminal omarchy-restart-bluetooth ;; *Bluetooth*) present_terminal omarchy-restart-bluetooth ;;
*) show_update_menu ;; *) show_update_menu ;;
@@ -459,13 +435,12 @@ show_system_menu() {
} }
show_main_menu() { show_main_menu() {
go_to_menu "$(menu "Go" "󰀻 Apps\n󰧑 Learn\n󱓞 Trigger\n Style\n Setup\n󰉉 Install\n󰭌 Remove\n Update\n About\n System")" go_to_menu "$(menu "Go" "󰀻 Apps\n󱓞 Trigger\n Style\n Setup\n󰉉 Install\n󰭌 Remove\n Update\n󰧑 Learn\n About\n System")"
} }
go_to_menu() { go_to_menu() {
case "${1,,}" in case "${1,,}" in
*apps*) walker -p "Launch…" ;; *apps*) walker -p "Launch…" ;;
*learn*) show_learn_menu ;;
*trigger*) show_trigger_menu ;; *trigger*) show_trigger_menu ;;
*share*) show_share_menu ;; *share*) show_share_menu ;;
*style*) show_style_menu ;; *style*) show_style_menu ;;
@@ -477,6 +452,7 @@ go_to_menu() {
*install*) show_install_menu ;; *install*) show_install_menu ;;
*remove*) show_remove_menu ;; *remove*) show_remove_menu ;;
*update*) show_update_menu ;; *update*) show_update_menu ;;
*learn*) show_learn_menu ;;
*about*) omarchy-launch-about ;; *about*) omarchy-launch-about ;;
*system*) show_system_menu ;; *system*) show_system_menu ;;
esac esac

View File

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

View File

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

View File

@@ -1,7 +1,7 @@
#!/bin/bash #!/bin/bash
pkill walker pkill walker
# FIXME: Just deal with the memory leak for now. # FIXME: Reenable the walker service once the memory leak has been fixed
# See https://github.com/basecamp/omarchy/issues/698 # See https://github.com/basecamp/omarchy/issues/698
setsid uwsm app -- walker --gapplication-service & # setsid uwsm app -- walker --gapplication-service &
echo # Always end in success so we don't terminate further running echo # Always end in success so we don't terminate further running

View File

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

View File

@@ -2,6 +2,5 @@
case "$TERMINAL" in case "$TERMINAL" in
"alacritty") touch ~/.config/alacritty/alacritty.toml ;; "alacritty") touch ~/.config/alacritty/alacritty.toml ;;
"kitty") killall -SIGUSR1 kitty ;; "kitty") pkill -USR1 kitty ;;
"ghostty") killall -SIGUSR2 ghostty ;;
esac esac

View File

@@ -1,46 +1,25 @@
#!/bin/bash #!/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_THEME="$HOME/.config/omarchy/current/theme/vscode.json"
VS_CODE_SETTINGS="$HOME/.config/Code/User/settings.json" VS_CODE_SETTINGS="$HOME/.config/Code/User/settings.json"
VS_CODE_SKIP_FLAG="$HOME/.local/state/omarchy/toggles/skip-vscode-theme-changes" VS_CODE_SKIP_FLAG="$HOME/.local/state/omarchy/toggles/skip-vscode-theme-changes"
if omarchy-cmd-present code && [[ ! -f "$VS_CODE_SKIP_FLAG" ]]; then if omarchy-cmd-present code && [[ ! -f "$VS_CODE_SKIP_FLAG" ]]; then
if [[ -f "$VS_CODE_THEME" ]]; then if [[ -f "$VS_CODE_THEME" ]]; then
theme_name=$(jq -r '.name' "$VS_CODE_THEME")
extension=$(jq -r '.extension' "$VS_CODE_THEME")
# Install VS Code theme extension # Install VS Code theme extension
extension=$(jq -r '.extension' "$VS_CODE_THEME")
if [[ -n "$extension" ]] && ! code --list-extensions | grep -Fxq "$extension"; then if [[ -n "$extension" ]] && ! code --list-extensions | grep -Fxq "$extension"; then
notify-send " Installing VS Code theme for $theme_name" notify-send " Installing VS Code theme for $THEME_NAME"
code --install-extension "$extension" >/dev/null code --install-extension "$extension" >/dev/null
fi fi
# Create config file if there isn't already one # Update theme in settings.json
mkdir -p "$(dirname "$VS_CODE_SETTINGS")" theme_name=$(jq -r '.name' "$VS_CODE_THEME")
if [[ ! -f "$VS_CODE_SETTINGS" ]]; then jq -n --arg t "$theme_name" '(input? // {}) | .["workbench.colorTheme"] = $t' "$VS_CODE_SETTINGS" >"${VS_CODE_SETTINGS}.new"
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 else
# Remove theme from settings.json when the theme doesn't have vscode support # Remove theme from settings.json when the theme doesn't have vscode support
if [[ -f "$VS_CODE_SETTINGS" ]]; then jq 'del(.["workbench.colorTheme"])' "$VS_CODE_SETTINGS" >"${VS_CODE_SETTINGS}.new"
sed -i --follow-symlinks -E '/"workbench\.colorTheme"[[:space:]]*:[^,}]*,?/d' "$VS_CODE_SETTINGS" fi
fi mv "${VS_CODE_SETTINGS}.new" "$VS_CODE_SETTINGS"
fi
fi fi

View File

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

View File

@@ -1,33 +0,0 @@
#!/bin/bash
set -e
if (($# == 0)); then
echo "Usage: omarchy-verion-branch-set [master|dev]"
exit 1
fi
branch="$1"
# Snapshot before switching branch
omarchy-snapshot create || [ $? -eq 127 ]
if ! git -C "$OMARCHY_PATH" diff --quiet || ! git -C "$OMARCHY_PATH" diff --cached --quiet; then
stashed=true
git -C "$OMARCHY_PATH" stash push -u -m "Autostash before switching to $branch"
else
stashed=false
fi
# Switch branches
git -C "$OMARCHY_PATH" switch "$branch"
# Reapply stash if we made one
if [[ $stashed == true ]]; then
if ! git -C "$OMARCHY_PATH" stash pop; then
echo "⚠️ Conflicts when applying stash — stash kept"
fi
fi
# Update the system from the new branch
omarchy-update-perform

View File

@@ -24,9 +24,7 @@ if [[ -z "$APP_NAME" || -z "$APP_URL" || -z "$ICON_REF" ]]; then
fi fi
# Refer to local icon or fetch remotely from URL # Refer to local icon or fetch remotely from URL
ICON_DIR="$HOME/.local/share/applications/icons"
if [[ $ICON_REF =~ ^https?:// ]]; then if [[ $ICON_REF =~ ^https?:// ]]; then
ICON_PATH="$ICON_DIR/$APP_NAME.png"
if curl -sL -o "$ICON_PATH" "$ICON_REF"; then if curl -sL -o "$ICON_PATH" "$ICON_REF"; then
ICON_PATH="$ICON_DIR/$APP_NAME.png" ICON_PATH="$ICON_DIR/$APP_NAME.png"
else else
@@ -34,7 +32,7 @@ if [[ $ICON_REF =~ ^https?:// ]]; then
exit 1 exit 1
fi fi
else else
ICON_PATH="$ICON_DIR/$ICON_REF" ICON_PATH="$HOME/.local/share/applications/icons/$ICON_REF"
fi fi
# Use custom exec if provided, otherwise default behavior # Use custom exec if provided, otherwise default behavior

View File

@@ -2,3 +2,5 @@
--ozone-platform-hint=wayland --ozone-platform-hint=wayland
--enable-features=TouchpadOverscrollHistoryNavigation --enable-features=TouchpadOverscrollHistoryNavigation
--load-extension=~/.local/share/omarchy/default/chromium/extensions/copy-url --load-extension=~/.local/share/omarchy/default/chromium/extensions/copy-url
--oauth2-client-id=77185425430.apps.googleusercontent.com
--oauth2-client-secret=OTJgUOQcT7lO7GsGZq2G4IlT

View File

@@ -1,21 +0,0 @@
# Dynamic theme colors
config-file = ?"~/.config/omarchy/current/theme/ghostty.conf"
# Font
font-family = "CaskaydiaMono Nerd Font"
font-style = Regular
font-size = 9
# Window
window-padding-x = 14
window-padding-y = 14
confirm-close-surface=false
resize-overlay = never
# Cursor styling
cursor-style = "block"
cursor-style-blink = false
shell-integration-features = no-cursor
# Keyboard bindings
keybind = f11=toggle_fullscreen

View File

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

View File

@@ -15,9 +15,3 @@ decoration {
# Use round window corners # Use round window corners
# rounding = 8 # 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

@@ -1,30 +0,0 @@
include ~/.config/omarchy/current/theme/kitty.conf
# Font
font_family CaskaydiaMono Nerd Font
bold_italic_font auto
font_size 9.0
# Window
window_padding_width 14
window_padding_height 14
hide_window_decorations yes
show_window_resize_notification no
confirm_os_window_close 0
# Keybindings
map F11 toggle_fullscreen
# Allow remote access
single_instance yes
allow_remote_control yes
# Aesthetics
cursor_shape block
enable_audio_bell no
# Minimal Tab bar styling
tab_bar_edge bottom
tab_bar_style powerline
tab_powerline_style slanted
tab_title_template {title}{' :{}:'.format(num_windows) if num_windows > 1 else ''}

View File

@@ -12,4 +12,3 @@ source = ~/.local/share/omarchy/default/hypr/apps/steam.conf
source = ~/.local/share/omarchy/default/hypr/apps/system.conf source = ~/.local/share/omarchy/default/hypr/apps/system.conf
source = ~/.local/share/omarchy/default/hypr/apps/terminals.conf source = ~/.local/share/omarchy/default/hypr/apps/terminals.conf
source = ~/.local/share/omarchy/default/hypr/apps/walker.conf source = ~/.local/share/omarchy/default/hypr/apps/walker.conf
source = ~/.local/share/omarchy/default/hypr/apps/webcam-overlay.conf

View File

@@ -1,4 +1,4 @@
# Float Steam # Float Steam, fullscreen RetroArch
windowrule = float, class:steam windowrule = float, class:steam
windowrule = center, class:steam, title:Steam windowrule = center, class:steam, title:Steam
windowrule = opacity 1 1, class:steam windowrule = opacity 1 1, class:steam

View File

@@ -4,7 +4,7 @@ windowrule = center, tag:floating-window
windowrule = size 800 600, 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:(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 [F|f]older.*|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 Folder|Save.*Files?|Save.*As|Save|All Files)
# Fullscreen screensaver # Fullscreen screensaver
windowrule = fullscreen, class:Screensaver windowrule = fullscreen, class:Screensaver

View File

@@ -1,2 +1,2 @@
# Define terminal tag to style them uniformly # Define terminal tag to style them uniformly
windowrule = tag +terminal, class:(Alacritty|kitty|com.mitchellh.ghostty) windowrule = tag +terminal, class:(Alacritty|kitty|ghostty)

View File

@@ -1,6 +0,0 @@
# Webcam overlay for screen recording
windowrule = float, title:WebcamOverlay
windowrule = pin, title:WebcamOverlay
windowrule = noinitialfocus, title:WebcamOverlay
windowrule = nodim, title:WebcamOverlay
windowrule = move 100%-w-40 100%-w-40, title:WebcamOverlay # There's a typo in the hyprland rule so 100%-w on the height param is actually correct here

View File

@@ -4,7 +4,6 @@ exec-once = uwsm app -- waybar
exec-once = uwsm app -- fcitx5 exec-once = uwsm app -- fcitx5
exec-once = uwsm app -- swaybg -i ~/.config/omarchy/current/background -m fill exec-once = uwsm app -- swaybg -i ~/.config/omarchy/current/background -m fill
exec-once = uwsm app -- swayosd-server exec-once = uwsm app -- swayosd-server
exec-once = uwsm app -- walker --gapplication-service &
exec-once = /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1 exec-once = /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1
exec-once = wl-clip-persist --clipboard regular --all-mime-type-regex '^(?!x-kde-passwordManagerHint).+' exec-once = wl-clip-persist --clipboard regular --all-mime-type-regex '^(?!x-kde-passwordManagerHint).+'
exec-once = omarchy-cmd-first-run exec-once = omarchy-cmd-first-run

View File

@@ -7,7 +7,6 @@ bindd = SUPER, J, Toggle split, togglesplit, # dwindle
bindd = SUPER, P, Pseudo window, pseudo, # dwindle bindd = SUPER, P, Pseudo window, pseudo, # dwindle
bindd = SUPER, V, Toggle floating, togglefloating, bindd = SUPER, V, Toggle floating, togglefloating,
bindd = SHIFT, F11, Force full screen, fullscreen, 0 bindd = SHIFT, F11, Force full screen, fullscreen, 0
bindd = ALT, F11, Full width, fullscreen, 1
# Move focus with SUPER + arrow keys # Move focus with SUPER + arrow keys
bindd = SUPER, left, Move focus left, movefocus, l bindd = SUPER, left, Move focus left, movefocus, l

View File

@@ -36,9 +36,9 @@ bindd = CTRL, PRINT, Screenshot of display, exec, omarchy-cmd-screenshot output
# Screen recordings # Screen recordings
bindd = ALT, PRINT, Screen record a region, exec, omarchy-cmd-screenrecord region bindd = ALT, PRINT, Screen record a region, exec, omarchy-cmd-screenrecord region
bindd = ALT SHIFT, PRINT, Screen record a region with audio, exec, omarchy-cmd-screenrecord region --with-audio bindd = ALT SHIFT, PRINT, Screen record a region with audio, exec, omarchy-cmd-screenrecord region audio
bindd = CTRL ALT, PRINT, Screen record display, exec, omarchy-cmd-screenrecord output bindd = CTRL ALT, PRINT, Screen record display, exec, omarchy-cmd-screenrecord output
bindd = CTRL ALT SHIFT, PRINT, Screen record display with audio, exec, omarchy-cmd-screenrecord output --with-audio bindd = CTRL ALT SHIFT, PRINT, Screen record display with audio, exec, omarchy-cmd-screenrecord output audio
# Color picker # Color picker
bindd = SUPER, PRINT, Color picker, exec, pkill hyprpicker || hyprpicker -a bindd = SUPER, PRINT, Color picker, exec, pkill hyprpicker || hyprpicker -a

View File

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

View File

@@ -1,6 +1,6 @@
#!/bin/bash #!/bin/bash
if pgrep -f "gpu-screen-recorder" >/dev/null; then if pgrep -x wl-screenrec >/dev/null || pgrep -x wf-recorder >/dev/null; then
echo '{"text": "󰻂", "tooltip": "Stop recording", "class": "active"}' echo '{"text": "󰻂", "tooltip": "Stop recording", "class": "active"}'
else else
echo '{"text": ""}' echo '{"text": ""}'

View File

@@ -9,8 +9,8 @@ run_logged $OMARCHY_INSTALL/config/increase-lockout-limit.sh
run_logged $OMARCHY_INSTALL/config/ssh-flakiness.sh run_logged $OMARCHY_INSTALL/config/ssh-flakiness.sh
run_logged $OMARCHY_INSTALL/config/detect-keyboard-layout.sh run_logged $OMARCHY_INSTALL/config/detect-keyboard-layout.sh
run_logged $OMARCHY_INSTALL/config/xcompose.sh run_logged $OMARCHY_INSTALL/config/xcompose.sh
run_logged $OMARCHY_INSTALL/config/mise-ruby.sh
run_logged $OMARCHY_INSTALL/config/mise-work.sh run_logged $OMARCHY_INSTALL/config/mise-work.sh
run_logged $OMARCHY_INSTALL/config/fix-powerprofilesctl-shebang.sh
run_logged $OMARCHY_INSTALL/config/docker.sh run_logged $OMARCHY_INSTALL/config/docker.sh
run_logged $OMARCHY_INSTALL/config/mimetypes.sh run_logged $OMARCHY_INSTALL/config/mimetypes.sh
run_logged $OMARCHY_INSTALL/config/localdb.sh run_logged $OMARCHY_INSTALL/config/localdb.sh
@@ -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/ignore-power-button.sh
run_logged $OMARCHY_INSTALL/config/hardware/nvidia.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-f13-amd-audio-input.sh
run_logged $OMARCHY_INSTALL/config/hardware/fix-apple-bcm43xx.sh run_logged $OMARCHY_INSTALL/config/hardware/fix-apple-bcm4360.sh
run_logged $OMARCHY_INSTALL/config/hardware/fix-apple-spi-keyboard.sh run_logged $OMARCHY_INSTALL/config/hardware/fix-apple-spi-keyboard.sh
run_logged $OMARCHY_INSTALL/config/hardware/fix-apple-t2.sh run_logged $OMARCHY_INSTALL/config/hardware/fix-apple-t2.sh

View File

@@ -1,2 +0,0 @@
# Ensure we use system python3 and not mise's python3
sudo sed -i '/env python3/ c\#!/bin/python3' /usr/bin/powerprofilesctl

View File

@@ -0,0 +1,5 @@
# 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

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

View File

@@ -0,0 +1,26 @@
# Install Ruby using gcc-14 for compatibility
mise settings set ruby.ruby_build_opts "CC=gcc-14 CXX=g++-14"
# Trust .ruby-version
mise settings add idiomatic_version_file_enable_tools ruby
# Install pre-built Ruby + Rails for x86_64
if [[ $(uname -m) == "x86_64" ]]; then
RUBY_VERSION="3.4.5"
RUBY_TARBALL="ruby-$RUBY_VERSION-rails-8.0.2.1-x86_64.tar.gz"
RUBY_URL="https://pkgs.omarchy.org/ruby/$RUBY_TARBALL"
MISE_RUBY_DIR="$HOME/.local/share/mise/installs/ruby"
OFFLINE_CACHE="/var/cache/omarchy/ruby"
mkdir -p "$MISE_RUBY_DIR"
if [[ -n ${OMARCHY_ONLINE_INSTALL:-} ]]; then
echo "Downloading pre-built Ruby $RUBY_VERSION..."
curl -fsSL "$RUBY_URL" | tar -xz -C "$MISE_RUBY_DIR"
else
echo "Installing Ruby from offline cache..."
tar -xzf "$OFFLINE_CACHE/$RUBY_TARBALL" -C "$MISE_RUBY_DIR"
fi
mise use --global "ruby@${RUBY_VERSION}"
fi

View File

@@ -1,2 +1,2 @@
notify-send " Update System" "When you have internet, click to update the system." -u critical notify-send " Update System" "When you have internet, click to update the system." -t 30000
notify-send "👋 Welcome to Omarchy" "You're in for a great computing adventure. Have fun!" -t 30000 notify-send "👋 Welcome to Omarchy" "You're in for a great computing adventure. Have fun!" -t 30000

View File

@@ -126,11 +126,7 @@ catch_errors() {
break break
;; ;;
"View full log") "View full log")
if command -v less &>/dev/null; then
less "$OMARCHY_INSTALL_LOG_FILE" less "$OMARCHY_INSTALL_LOG_FILE"
else
tail "$OMARCHY_INSTALL_LOG_FILE"
fi
;; ;;
"Upload log for support") "Upload log for support")
omarchy-upload-install-log omarchy-upload-install-log

14
install/iso.sh Normal file
View File

@@ -0,0 +1,14 @@
# 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

View File

@@ -31,11 +31,11 @@ fd
ffmpegthumbnailer ffmpegthumbnailer
fontconfig fontconfig
fzf fzf
gcc14
github-cli github-cli
gnome-calculator gnome-calculator
gnome-keyring gnome-keyring
gnome-themes-extra gnome-themes-extra
gpu-screen-recorder
gum gum
gvfs-mtp gvfs-mtp
gvfs-smb gvfs-smb
@@ -57,7 +57,6 @@ kvantum-qt5
lazydocker lazydocker
lazygit lazygit
less less
libyaml
libqalculate libqalculate
libreoffice libreoffice
llvm llvm
@@ -114,12 +113,14 @@ unzip
uwsm uwsm
walker-bin walker-bin
waybar waybar
wf-recorder
whois whois
wireless-regdb wireless-regdb
wiremix wiremix
wireplumber wireplumber
wl-clip-persist wl-clip-persist
wl-clipboard wl-clipboard
wl-screenrec
woff2-font-awesome woff2-font-awesome
xdg-desktop-portal-gtk xdg-desktop-portal-gtk
xdg-desktop-portal-hyprland xdg-desktop-portal-hyprland

View File

@@ -16,8 +16,6 @@ if [[ -f $OMARCHY_INSTALL_LOG_FILE ]] && grep -q "Total:" "$OMARCHY_INSTALL_LOG_
if [ -n "$TOTAL_TIME" ]; then if [ -n "$TOTAL_TIME" ]; then
echo_in_style "Installed in $TOTAL_TIME" echo_in_style "Installed in $TOTAL_TIME"
fi fi
else
echo_in_style "Finished installing"
fi fi
if sudo test -f /etc/sudoers.d/99-omarchy-installer; then if sudo test -f /etc/sudoers.d/99-omarchy-installer; then

0
migrations/1757021485.sh Normal file → Executable file
View File

3
migrations/1757871769.sh Normal file
View File

@@ -0,0 +1,3 @@
echo "Refresh chromium-flags.conf to add option of logging in to Google account for settings sync"
omarchy-refresh-config chromium-flags.conf

View File

@@ -14,8 +14,3 @@ fi
if grep -q "bindd = SUPER, N, Neovim" ~/.config/hypr/bindings.conf; then if grep -q "bindd = SUPER, N, Neovim" ~/.config/hypr/bindings.conf; then
sed -i '/SUPER, N, Neovim, exec/ c\bindd = SUPER, N, Editor, exec, omarchy-launch-editor' ~/.config/hypr/bindings.conf sed -i '/SUPER, N, Neovim, exec/ c\bindd = SUPER, N, Editor, exec, omarchy-launch-editor' ~/.config/hypr/bindings.conf
fi fi
# Use default terminal for keybinding
if grep -q "terminal = uwsm app" ~/.config/hypr/bindings.conf; then
sed -i '/terminal = uwsm app -- alacritty/ c\$terminal = uwsm app -- $TERMINAL' ~/.config/hypr/bindings.conf
fi

View File

@@ -1,11 +0,0 @@
echo "Copy configs for ghostty + kitty so they're available as alternative terminal options"
if [[ ! -f ~/.config/ghostty/config ]]; then
mkdir -p ~/.config/ghostty
cp -Rpf $OMARCHY_PATH/config/ghostty/config ~/.config/ghostty/config
fi
if [[ ! -f ~/.config/kitty/kitty.conf ]]; then
mkdir -p ~/.config/kitty
cp -Rpf $OMARCHY_PATH/config/kitty/kitty.conf ~/.config/kitty/kitty.conf
fi

View File

@@ -1,3 +0,0 @@
echo "Prevent powerprofilesctl from using Mise python and not working"
bash $OMARCHY_PATH/install/config/fix-powerprofilesctl-shebang.sh

View File

@@ -1,3 +0,0 @@
echo "Remove Ruby build options to force GCC14 now that GCC15 is compatible"
mise settings unset ruby.ruby_build_opts

View File

@@ -1,17 +0,0 @@
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 +0,0 @@
echo "Change omarchy-screenrecord to use gpu-screen-recorder"
omarchy-pkg-drop wf-recorder wl-screenrec
omarchy-pkg-add gpu-screen-recorder

View File

@@ -1 +0,0 @@
theme = Catppuccin Latte

View File

@@ -1,78 +0,0 @@
## name: Catppuccin Latte 🐑
## author: Pocco81 (https://github.com/Pocco81)
## license: MIT
## upstream: https://github.com/catppuccin/kitty/blob/main/latte.conf
## blurb: Soothing pastel theme for the high-spirited!
# The basic colors
foreground #4C4F69
background #EFF1F5
selection_foreground #EFF1F5
selection_background #DC8A78
# Cursor colors
cursor #DC8A78
cursor_text_color #EFF1F5
# URL underline color when hovering with mouse
url_color #7287FD
# Kitty window border colors
active_border_color #8839EF
inactive_border_color #7C7F93
bell_border_color #E64553
# OS Window titlebar colors
wayland_titlebar_color system
macos_titlebar_color system
# Tab bar colors
active_tab_foreground #EFF1F5
active_tab_background #8839EF
inactive_tab_foreground #4C4F69
inactive_tab_background #9CA0B0
tab_bar_background #BCC0CC
# Colors for marks (marked text in the terminal)
mark1_foreground #EFF1F5
mark1_background #1E66F5
mark2_foreground #EFF1F5
mark2_background #8839EF
mark3_foreground #EFF1F5
mark3_background #209FB5
# The 16 terminal colors
# black
color0 #4C4F69
color8 #6C6F85
# red
color1 #D20F39
color9 #D20F39
# green
color2 #40A02B
color10 #40A02B
# yellow
color3 #DF8E1D
color11 #DF8E1D
# blue
color4 #1E66F5
color12 #1E66F5
# magenta
color5 #EA76CB
color13 #EA76CB
# cyan
color6 #179299
color14 #179299
# white
color7 #ACB0BE
color15 #ACB0BE

View File

@@ -1 +0,0 @@
theme = Catppuccin Mocha

View File

@@ -1,78 +0,0 @@
## name: Catppuccin Mocha 🌿
## author: Pocco81 (https://github.com/Pocco81)
## license: MIT
## upstream: https://github.com/catppuccin/kitty/blob/main/mocha.conf
## blurb: Soothing pastel theme for the high-spirited!
# The basic colors
foreground #CDD6F4
background #1E1E2E
selection_foreground #1E1E2E
selection_background #F5E0DC
# Cursor colors
cursor #F5E0DC
cursor_text_color #1E1E2E
# URL underline color when hovering with mouse
url_color #B4BEFE
# Kitty window border colors
active_border_color #CBA6F7
inactive_border_color #8E95B3
bell_border_color #EBA0AC
# OS Window titlebar colors
wayland_titlebar_color system
macos_titlebar_color system
# Tab bar colors
active_tab_foreground #11111B
active_tab_background #CBA6F7
inactive_tab_foreground #CDD6F4
inactive_tab_background #181825
tab_bar_background #11111B
# Colors for marks (marked text in the terminal)
mark1_foreground #1E1E2E
mark1_background #87B0F9
mark2_foreground #1E1E2E
mark2_background #CBA6F7
mark3_foreground #1E1E2E
mark3_background #74C7EC
# The 16 terminal colors
# black
color0 #43465A
color8 #43465A
# red
color1 #F38BA8
color9 #F38BA8
# green
color2 #A6E3A1
color10 #A6E3A1
# yellow
color3 #F9E2AF
color11 #F9E2AF
# blue
color4 #87B0F9
color12 #87B0F9
# magenta
color5 #F5C2E7
color13 #F5C2E7
# cyan
color6 #94E2D5
color14 #94E2D5
# white
color7 #CDD6F4
color15 #A1A8C9

View File

@@ -1 +0,0 @@
theme = Everforest Dark Hard

View File

@@ -1,69 +0,0 @@
## name: Everforest Dark Hard
## author: Sainnhe Park
## license: MIT
## upstream: https://github.com/ewal/kitty-everforest/blob/master/themes/everforest_dark_hard.conf
## blurb: A green based color scheme designed to be warm and soft
foreground #d3c6aa
background #272e33
selection_foreground #9da9a0
selection_background #464e53
cursor #d3c6aa
cursor_text_color #2e383c
url_color #7fbbb3
active_border_color #a7c080
inactive_border_color #4f5b58
bell_border_color #e69875
visual_bell_color none
wayland_titlebar_color system
macos_titlebar_color system
active_tab_background #272e33
active_tab_foreground #d3c6aa
inactive_tab_background #374145
inactive_tab_foreground #9da9a0
tab_bar_background #2e383c
tab_bar_margin_color none
mark1_foreground #272e33
mark1_background #7fbbb3
mark2_foreground #272e33
mark2_background #d3c6aa
mark3_foreground #272e33
mark3_background #d699b6
#: black
color0 #343f44
color8 #868d80
#: red
color1 #e67e80
color9 #e67e80
#: green
color2 #a7c080
color10 #a7c080
#: yellow
color3 #dbbc7f
color11 #dbbc7f
#: blue
color4 #7fbbb3
color12 #7fbbb3
#: magenta
color5 #d699b6
color13 #d699b6
#: cyan
color6 #83c092
color14 #83c092
#: white
color7 #859289
color15 #9da9a0

View File

@@ -1 +0,0 @@
theme = Gruvbox Dark

View File

@@ -1,40 +0,0 @@
## name: Gruvbox Dark
## author: Pavel Pertsev
## license: MIT/X11
## upstream: https://raw.githubusercontent.com/gruvbox-community/gruvbox-contrib/master/kitty/gruvbox-dark.conf
selection_foreground #ebdbb2
selection_background #d65d0e
background #282828
foreground #ebdbb2
color0 #3c3836
color1 #cc241d
color2 #98971a
color3 #d79921
color4 #458588
color5 #b16286
color6 #689d6a
color7 #a89984
color8 #928374
color9 #fb4934
color10 #b8bb26
color11 #fabd2f
color12 #83a598
color13 #d3869b
color14 #8ec07c
color15 #fbf1c7
cursor #bdae93
cursor_text_color #665c54
url_color #458588
# START_AUTOGENERATED_TAB_STYLE
# Feel free to update these colors manually and remove these comments.
active_tab_foreground #eeeeee
active_tab_background #d65d0e
inactive_tab_foreground #ebdbb2
inactive_tab_background #202020
# END_AUTOGENERATED_TAB_STYLE

View File

@@ -1 +0,0 @@
theme = Kanagawa Wave

View File

@@ -1,68 +0,0 @@
## name: Kanagawa
## author: Tommaso Laurenzi
## license: MIT
## upstream: https://github.com/rebelot/kanagawa.nvim/
## blurb: NeoVim dark colorscheme inspired by the colors of the famous painting
## by Katsushika Hokusai.
#: The basic colors
foreground #dcd7ba
background #1f1f28
selection_foreground #c8c093
selection_background #2d4f67
#: Cursor colors
cursor #c8c093
#: URL underline color when overing with mouse
url_color #72a7bc
#: Tab bar colors
active_tab_foreground #c8c093
active_tab_background #1f1f28
inactive_tab_foreground #727169
inactive_tab_background #1f1f28
#: The basic 16 colors
#: black
color0 #16161d
color8 #727169
#: red
color1 #c34043
color9 #e82424
#: green
color2 #76946a
color10 #98bb6c
#: yellow
color3 #c0a36e
color11 #e6c384
#: blue
color4 #7e9cd8
color12 #7fb4ca
#: magenta
color5 #957fb8
color13 #938aa9
#: cyan
color6 #6a9589
color14 #7aa89f
#: white
color7 #c8c093
color15 #dcd7ba
#: You can set the remaining 240 colors as color16 to color255.
color16 #ffa066
color17 #ff5d62

View File

@@ -1,28 +0,0 @@
background = #121212
foreground = #BEBEBE
cursor-color = #EAEAEA
cursor-text = #121212
selection-background = #333333
selection-foreground = #EAEAEA
# normal colors
palette = 0=#333333
palette = 1=#D35F5F
palette = 2=#FFC107
palette = 3=#B91C1C
palette = 4=#E68E0D
palette = 5=#D35F5F
palette = 6=#BEBEBE
palette = 7=#BEBEBE
# bright colors
palette = 8=#8A8A8D
palette = 9=#B91C1C
palette = 10=#FFC107
palette = 11=#B90A0A
palette = 12=#F59E0B
palette = 13=#B91C1C
palette = 14=#EAEAEA
palette = 15=#FFFFFF

View File

@@ -1,54 +0,0 @@
## name: Matte Black
foreground #bebebe
background #121212
selection_foreground #121212
selection_background #333333
cursor #eaeaea
cursor_text_color #121212
# URL underline color when hovering with mouse
url_color #bebebe
# Kitty window border colors
active_border_color #595959
inactive_border_color #595959
bell_border_color #595959
# OS Window titlebar colors
wayland_titlebar_color system
macos_titlebar_color system
# Tab bar colors
active_tab_foreground #bebebe
active_tab_background #121212
inactive_tab_foreground #bebebe
inactive_tab_background #121212
tab_bar_background #bebebe
# Colors for marks (marked text in the terminal)
mark1_foreground #121212
mark1_background #404040
mark2_foreground #121212
mark2_background #121212
mark3_foreground #121212
mark3_background #a6a6a6
color0 #333333
color8 #8a8a8d
color1 #D35F5F
color9 #B91C1C
color2 #FFC107
color10 #FFC107
color3 #b91c1c
color11 #b90a0a
color4 #e68e0d
color12 #f59e0b
color5 #D35F5F
color13 #B91C1C
color6 #bebebe
color14 #eaeaea
color7 #bebebe
color15 #ffffff

View File

@@ -1,4 +1,4 @@
{ {
"name": "Matte Black", "name": "Matte Black Theme",
"extension": "TahaYVR.matteblack" "extension": "cleanthemes.matte-black-theme"
} }

View File

@@ -1 +0,0 @@
theme = Nord

View File

@@ -1,40 +0,0 @@
# Nord Colorscheme for Kitty
foreground #D8DEE9
background #2E3440
selection_foreground #000000
selection_background #FFFACD
url_color #0087BD
cursor #81A1C1
# black
color0 #3B4252
color8 #4C566A
# red
color1 #BF616A
color9 #BF616A
# green
color2 #A3BE8C
color10 #A3BE8C
# yellow
color3 #EBCB8B
color11 #EBCB8B
# blue
color4 #81A1C1
color12 #81A1C1
# magenta
color5 #B48EAD
color13 #B48EAD
# cyan
color6 #88C0D0
color14 #8FBCBB
# white
color7 #E5E9F0
color15 #ECEFF4

View File

@@ -1,25 +0,0 @@
# primary
background = #111c18
foreground = #C1C497
cursor-color = #D7C995
cursor-text = #000000
# normal colors
palette = 0=#23372B
palette = 1=#FF5345
palette = 2=#549e6a
palette = 3=#459451
palette = 4=#509475
palette = 5=#D2689C
palette = 6=#2DD5B7
palette = 7=#F6F5DD
# bright colors
palette = 8=#53685B
palette = 9=#db9f9c
palette = 10=#143614
palette = 11=#E5C736
palette = 12=#ACD4CF
palette = 13=#75bbb3
palette = 14=#8CD3CB
palette = 15=#9eebb3

View File

@@ -1,44 +0,0 @@
## name :osaka-jade
foreground #C1C497
background #111C18
selection_foreground #111C18
selection_background #C1C497
cursor #D7C995
cursor_text_color #000000
active_tab_foreground #111C18
active_tab_background #C1C497
inactive_tab_foreground #C1C497
inactive_tab_background #111C18
# black
color0 #23372B
color8 #53685B
# red
color1 #FF5345
color9 #DB9F9C
# green
color2 #549E6A
color10 #143614
# yellow
color3 #459451
color11 #E5C736
# blue
color4 #509475
color12 #ACD4CF
# magenta
color5 #D2689C
color13 #75BBB3
# cyan
color6 #2DD5B7
color14 #8CD3CB
# white
color7 #F6F5DD
color15 #9EEBB3

View File

@@ -1 +0,0 @@
theme = Monokai Pro Ristretto

View File

@@ -1,53 +0,0 @@
## name : Ristretto
foreground #e6d9db
background #2c2525
selection_foreground #e6d9db
selection_background #403e41
cursor #c3b7b8
cursor_text_color #c3b7b8
url_color #e6d9db
active_border_color #595959
inactive_border_color #595959
bell_border_color #595959
active_tab_foreground #e6d9db
active_tab_background #2c2525
inactive_tab_foreground #e6d9db
inactive_tab_background #2c2525
tab_bar_background #e6d9db
mark1_foreground #2c2525
mark1_background #404040
mark2_foreground #2c2525
mark2_background #2c2525
mark3_foreground #2c2525
mark3_background #a6a6a6
color0 #72696a
color8 #948a8b
color1 #fd6883
color9 #ff8297
color2 #adda78
color10 #c8e292
color3 #f9cc6c
color11 #fcd675
color4 #f38d70
color12 #f8a788
color5 #a8a9eb
color13 #bebffd
color6 #85dacc
color14 #9bf1e1
color7 #e6d9db
color15 #f1e5e7

View File

@@ -1 +0,0 @@
theme = Rose Pine Dawn

View File

@@ -1,51 +0,0 @@
## name: Rose-Pine
foreground #575279
background #faf4ed
selection_foreground #575279
selection_background #dfdad9
cursor #cecacd
cursor_text_color #575279
url_color #575279
active_border_color #595959
inactive_border_color #595959
bell_border_color #595959
active_tab_foreground #575279
active_tab_background #fffaf3
inactive_tab_foreground #575279
inactive_tab_background #fffaf3
tab_bar_background #575279
mark1_foreground #faf4ed
mark1_background #fffaf3
mark2_foreground #9893a5
mark2_background #fffaf3
color0 #f2e9e1
color8 #9893a5
color1 #b4637a
color9 #b4637a
color2 #286983
color10 #286983
color3 #ea9d34
color11 #ea9d34
color4 #56949f
color12 #56949f
color5 #907aa9
color13 #907aa9
color6 #d7827e
color14 #d7827e
color7 #575279
color15 #575279

View File

@@ -1 +0,0 @@
theme = TokyoNight

View File

@@ -1,48 +0,0 @@
## name: Tokyo Night
## license: MIT
## author: Folke Lemaitre
## upstream: https://github.com/folke/tokyonight.nvim/raw/main/extras/kitty/tokyonight_night.conf
background #1a1b26
foreground #c0caf5
selection_background #283457
selection_foreground #c0caf5
url_color #73daca
cursor #c0caf5
cursor_text_color #1a1b26
# Tabs
active_tab_background #7aa2f7
active_tab_foreground #16161e
inactive_tab_background #292e42
inactive_tab_foreground #545c7e
#tab_bar_background #15161e
# Windows
active_border_color #7aa2f7
inactive_border_color #292e42
# normal
color0 #15161e
color1 #f7768e
color2 #9ece6a
color3 #e0af68
color4 #7aa2f7
color5 #bb9af7
color6 #7dcfff
color7 #a9b1d6
# bright
color8 #414868
color9 #f7768e
color10 #9ece6a
color11 #e0af68
color12 #7aa2f7
color13 #bb9af7
color14 #7dcfff
color15 #c0caf5
# extended colors
color16 #ff9e64
color17 #db4b4b