Compare commits
No files matched your search
+2
-4
@@ -74,15 +74,13 @@ ACTION=$(gum choose "${OPTIONS[@]}")
|
||||
|
||||
case "$ACTION" in
|
||||
"Upload log")
|
||||
echo "Uploading debug log to 0x0.st..."
|
||||
URL=$(curl -sF "file=@$LOG_FILE" -Fexpires=24 https://0x0.st)
|
||||
echo "Uploading debug log to logs.omarchy.org..."
|
||||
URL=$(curl -sf -F "file=@$LOG_FILE" https://logs.omarchy.org/)
|
||||
if (( $? == 0 )) && [[ -n $URL ]]; then
|
||||
echo "✓ Log uploaded successfully!"
|
||||
echo "Share this URL:"
|
||||
echo ""
|
||||
echo " $URL"
|
||||
echo ""
|
||||
echo "This link will expire in 24 hours."
|
||||
else
|
||||
echo "Error: Failed to upload log file"
|
||||
exit 1
|
||||
|
||||
@@ -18,6 +18,7 @@ if [[ -f $FIRST_RUN_MODE ]]; then
|
||||
bash "$OMARCHY_PATH/install/first-run/gnome-theme.sh"
|
||||
bash "$OMARCHY_PATH/install/first-run/swayosd.sh"
|
||||
bash "$OMARCHY_PATH/install/first-run/gtk-primary-paste.sh"
|
||||
bash "$OMARCHY_PATH/install/first-run/text-scaling.sh"
|
||||
bash "$OMARCHY_PATH/install/first-run/elephant.sh"
|
||||
omarchy-hook-install post-update "$OMARCHY_PATH/install/first-run/install-voxtype.hook"
|
||||
sudo rm -f /etc/sudoers.d/first-run
|
||||
|
||||
Executable
+7
@@ -0,0 +1,7 @@
|
||||
#!/bin/bash
|
||||
|
||||
# omarchy:summary=Detect whether the computer has an Intel SOF-capable audio DSP.
|
||||
# Matches Intel audio controllers (PCI class Multimedia audio or Audio device)
|
||||
# present on Skylake-and-later platforms that use sof-audio-pci-intel-* drivers.
|
||||
|
||||
lspci | grep -qiE '(Multimedia audio controller|Audio device).*Intel'
|
||||
@@ -21,7 +21,10 @@ omarchy-pkg-add \
|
||||
libretro-parallel-n64 libretro-picodrive libretro-play libretro-ppsspp \
|
||||
libretro-sameboy libretro-scummvm libretro-shaders-slang libretro-snes9x \
|
||||
libretro-yabause \
|
||||
libretro-cap32-git libretro-fbneo-git libretro-uae-git libretro-vice-git \
|
||||
libretro-cap32-git libretro-fbneo-git libretro-uae-git \
|
||||
libretro-vice-x128-git libretro-vice-x64-git libretro-vice-x64dtv-git libretro-vice-x64sc-git \
|
||||
libretro-vice-xcbm2-git libretro-vice-xcbm5x0-git libretro-vice-xpet-git \
|
||||
libretro-vice-xplus4-git libretro-vice-xscpu64-git libretro-vice-xvic-git \
|
||||
libretro-database-git \
|
||||
retroarch-joypad-autoconfig-git
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
|
||||
installed=()
|
||||
for pkg in "$@"; do
|
||||
if pacman -Q "$pkg" &>/dev/null; then
|
||||
if pacman -Qq | grep -Fxq "$pkg"; then
|
||||
installed+=("$pkg")
|
||||
fi
|
||||
done
|
||||
|
||||
@@ -6,6 +6,6 @@ set -e
|
||||
|
||||
# Reinstall the Omarchy configuration directory from the git source.
|
||||
|
||||
git clone --depth=1 "https://github.com/basecamp/omarchy.git" ~/.local/share/omarchy-new >/dev/null
|
||||
git clone --depth=1 --branch master "https://github.com/basecamp/omarchy.git" ~/.local/share/omarchy-new >/dev/null
|
||||
mv $OMARCHY_PATH ~/.local/share/omarchy-old
|
||||
mv ~/.local/share/omarchy-new $OMARCHY_PATH
|
||||
@@ -21,7 +21,10 @@ omarchy-pkg-drop \
|
||||
libretro-parallel-n64 libretro-picodrive libretro-play libretro-ppsspp \
|
||||
libretro-sameboy libretro-scummvm libretro-shaders-slang libretro-snes9x \
|
||||
libretro-yabause \
|
||||
libretro-cap32-git libretro-fbneo-git libretro-uae-git libretro-vice-git \
|
||||
libretro-cap32-git libretro-fbneo-git libretro-uae-git \
|
||||
libretro-vice-x128-git libretro-vice-x64-git libretro-vice-x64dtv-git libretro-vice-x64sc-git \
|
||||
libretro-vice-xcbm2-git libretro-vice-xcbm5x0-git libretro-vice-xpet-git \
|
||||
libretro-vice-xplus4-git libretro-vice-xscpu64-git libretro-vice-xvic-git \
|
||||
retroarch-joypad-autoconfig-git
|
||||
|
||||
rm -rf \
|
||||
|
||||
@@ -53,12 +53,12 @@ echo -e "\e[32mSetting up fingerprint scanner for authentication.\n\e[0m"
|
||||
# Install required packages
|
||||
echo "Installing required packages..."
|
||||
|
||||
installed_libfprint=$(pacman -Qq libfprint 2>/dev/null || true)
|
||||
|
||||
# libfprint-git provides+conflicts libfprint; pacman -S --noconfirm
|
||||
# defaults the conflict prompt to N and aborts. Pre-remove libfprint
|
||||
# with -Rdd so the install goes silent. -Rdd (not omarchy-pkg-drop's
|
||||
# -Rns) is required because fprintd requires libfprint; the dep is
|
||||
# re-satisfied immediately by libfprint-git's provides=libfprint.
|
||||
if omarchy-pkg-present libfprint; then
|
||||
# defaults the conflict prompt to N and aborts. Pre-remove the exact
|
||||
# libfprint package, but not an installed provider like libfprint-git.
|
||||
if [[ $installed_libfprint == "libfprint" ]]; then
|
||||
sudo pacman -Rdd --noconfirm libfprint
|
||||
fi
|
||||
|
||||
|
||||
+24
-12
@@ -1,6 +1,6 @@
|
||||
#!/bin/bash
|
||||
|
||||
# omarchy:summary=Upload logs to 0x0.st
|
||||
# omarchy:summary=Upload logs to logs.omarchy.org
|
||||
# omarchy:args=<log-file>
|
||||
# omarchy:hidden=true
|
||||
|
||||
@@ -28,7 +28,7 @@ else
|
||||
echo "========================================="
|
||||
echo "SYSTEM INFORMATION"
|
||||
echo "========================================="
|
||||
echo "Hostname: $(hostname)"
|
||||
echo "Hostname: $(uname -n)"
|
||||
echo "Kernel: $(uname -r)"
|
||||
echo "Date: $(date)"
|
||||
echo ""
|
||||
@@ -41,19 +41,33 @@ fi
|
||||
|
||||
case "$LOG_TYPE" in
|
||||
install)
|
||||
# In the live ISO before reboot, the target system is mounted at /mnt so the
|
||||
# omarchy install log lives at /mnt/var/log/omarchy-install.log. On the
|
||||
# installed system it's at /var/log/omarchy-install.log. Prefer whichever
|
||||
# exists, with /mnt taking precedence (only present in the ISO context, and
|
||||
# there it's the right one).
|
||||
ARCHINSTALL_LOG="/var/log/archinstall/install.log"
|
||||
OMARCHY_LOG="/var/log/omarchy-install.log"
|
||||
if [[ -s /mnt/var/log/omarchy-install.log ]]; then
|
||||
OMARCHY_LOG="/mnt/var/log/omarchy-install.log"
|
||||
else
|
||||
OMARCHY_LOG="/var/log/omarchy-install.log"
|
||||
fi
|
||||
|
||||
# Combine system info with logs
|
||||
cat "$SYSTEM_INFO" >"$TEMP_LOG"
|
||||
cat $ARCHINSTALL_LOG $OMARCHY_LOG >>"$TEMP_LOG" 2>/dev/null
|
||||
[[ -s $ARCHINSTALL_LOG ]] && cat "$ARCHINSTALL_LOG" >>"$TEMP_LOG"
|
||||
if [[ -s $OMARCHY_LOG ]]; then
|
||||
printf '\n========================================\nOMARCHY INSTALL LOG (%s)\n========================================\n\n' "$OMARCHY_LOG" >>"$TEMP_LOG"
|
||||
cat "$OMARCHY_LOG" >>"$TEMP_LOG"
|
||||
else
|
||||
echo "Warning: omarchy install log not found (looked at /mnt/var/log/ and /var/log/)" >&2
|
||||
fi
|
||||
|
||||
if [[ ! -s $TEMP_LOG ]]; then
|
||||
echo "Error: No install logs found"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "Uploading installation log to 0x0.st..."
|
||||
echo "Uploading installation log to logs.omarchy.org..."
|
||||
;;
|
||||
|
||||
this-boot)
|
||||
@@ -66,7 +80,7 @@ this-boot)
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "Uploading current boot logs to 0x0.st..."
|
||||
echo "Uploading current boot logs to logs.omarchy.org..."
|
||||
;;
|
||||
|
||||
last-boot)
|
||||
@@ -79,7 +93,7 @@ last-boot)
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "Uploading previous boot logs to 0x0.st..."
|
||||
echo "Uploading previous boot logs to logs.omarchy.org..."
|
||||
;;
|
||||
|
||||
installed|system-info)
|
||||
@@ -98,7 +112,7 @@ installed|system-info)
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "Uploading system information to 0x0.st..."
|
||||
echo "Uploading system information to logs.omarchy.org..."
|
||||
;;
|
||||
|
||||
*)
|
||||
@@ -113,15 +127,13 @@ esac
|
||||
|
||||
echo ""
|
||||
|
||||
URL=$(curl -sF "file=@$TEMP_LOG" -Fexpires=24 https://0x0.st)
|
||||
URL=$(curl -sf -F "file=@$TEMP_LOG" https://logs.omarchy.org/)
|
||||
|
||||
if (( $? == 0 )) && [[ -n $URL ]]; then
|
||||
echo "✓ Log uploaded successfully!"
|
||||
echo "Share this URL:"
|
||||
echo ""
|
||||
echo " $URL"
|
||||
echo ""
|
||||
echo "This link will expire in 24 hours."
|
||||
else
|
||||
echo "Error: Failed to upload log file"
|
||||
exit 1
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -e
|
||||
|
||||
# Set install mode to online since boot.sh is used for curl installations
|
||||
export OMARCHY_ONLINE_INSTALL=true
|
||||
|
||||
@@ -38,13 +40,9 @@ sudo pacman -Syu --noconfirm --needed git
|
||||
OMARCHY_REPO="${OMARCHY_REPO:-basecamp/omarchy}"
|
||||
|
||||
echo -e "\nCloning Omarchy from: https://github.com/${OMARCHY_REPO}.git"
|
||||
rm -rf ~/.local/share/omarchy/
|
||||
git clone "https://github.com/${OMARCHY_REPO}.git" ~/.local/share/omarchy >/dev/null
|
||||
|
||||
echo -e "\e[32mUsing branch: $OMARCHY_REF\e[0m"
|
||||
cd ~/.local/share/omarchy
|
||||
git fetch origin "${OMARCHY_REF}" && git checkout "${OMARCHY_REF}"
|
||||
cd -
|
||||
rm -rf ~/.local/share/omarchy/
|
||||
git clone --branch "$OMARCHY_REF" "https://github.com/${OMARCHY_REPO}.git" ~/.local/share/omarchy >/dev/null
|
||||
|
||||
echo -e "\nInstallation starting..."
|
||||
source ~/.local/share/omarchy/install.sh
|
||||
@@ -21,5 +21,8 @@ decorations = "None"
|
||||
bindings = [
|
||||
{ key = "Insert", mods = "Shift", action = "Paste" },
|
||||
{ key = "Insert", mods = "Control", action = "Copy" },
|
||||
{ key = "Return", mods = "Shift", chars = "\u001B\r" }
|
||||
# Send Shift+Return as CSI-u so TUIs can distinguish it from Return without treating it as Alt+Return.
|
||||
{ key = "Return", mods = "Shift", chars = "\u001B[13;2u" },
|
||||
# Legacy encoding sends Alt+Shift+Return the same as Alt+Return; send CSI-u so tmux can match M-S-Enter.
|
||||
{ key = "Return", mods = "Alt|Shift", chars = "\u001B[13;4u" }
|
||||
]
|
||||
@@ -1 +1 @@
|
||||
command = 'wl-copy && hyprctl dispatch sendshortcut "SHIFT, Insert,"'
|
||||
command = 'wl-copy && hyprctl dispatch sendshortcut "SHIFT,Insert,activewindow"'
|
||||
@@ -17,3 +17,9 @@ blink=no
|
||||
clipboard-copy=Control+Insert
|
||||
primary-paste=none
|
||||
clipboard-paste=Shift+Insert
|
||||
|
||||
[text-bindings]
|
||||
# Send Shift+Return as CSI-u so TUIs can distinguish it from Return.
|
||||
\x1b[13;2u=Shift+Return
|
||||
# Send Alt+Shift+Return as CSI-u so tmux can match M-S-Enter.
|
||||
\x1b[13;4u=Mod1+Shift+Return
|
||||
@@ -25,6 +25,10 @@ shell-integration-features = no-cursor,ssh-env
|
||||
# Keyboard bindings
|
||||
keybind = shift+insert=paste_from_clipboard
|
||||
keybind = control+insert=copy_to_clipboard
|
||||
# Send Shift+Enter as CSI-u so TUIs can distinguish it from Enter.
|
||||
keybind = shift+enter=csi:13;2u
|
||||
# Legacy encoding sends Alt+Shift+Enter the same as Alt+Enter; send CSI-u so tmux can match M-S-Enter.
|
||||
keybind = alt+shift+enter=csi:13;4u
|
||||
keybind = super+control+shift+alt+arrow_down=resize_split:down,100
|
||||
keybind = super+control+shift+alt+arrow_up=resize_split:up,100
|
||||
keybind = super+control+shift+alt+arrow_left=resize_split:left,100
|
||||
|
||||
@@ -13,6 +13,10 @@ confirm_os_window_close 0
|
||||
# Keybindings
|
||||
map ctrl+insert copy_to_clipboard
|
||||
map shift+insert paste_from_clipboard
|
||||
# Send Shift+Enter as CSI-u so TUIs can distinguish it from Enter.
|
||||
map shift+enter send_text all \e[13;2u
|
||||
# Kitty legacy encoding sends Alt+Shift+Enter the same as Alt+Enter; send CSI-u so tmux can match M-S-Enter.
|
||||
map alt+shift+enter send_text all \e[13;4u
|
||||
|
||||
# Allow remote access
|
||||
allow_remote_control yes
|
||||
|
||||
@@ -12,6 +12,10 @@ bind -T copy-mode-vi v send -X begin-selection
|
||||
bind -T copy-mode-vi y send -X copy-selection-and-cancel
|
||||
|
||||
# Pane Controls
|
||||
bind -n M-Enter split-window -v -c "#{pane_current_path}"
|
||||
bind -n M-S-Enter split-window -h -c "#{pane_current_path}"
|
||||
bind -n M-Escape kill-pane
|
||||
|
||||
bind h split-window -v -c "#{pane_current_path}"
|
||||
bind v split-window -h -c "#{pane_current_path}"
|
||||
bind x kill-pane
|
||||
@@ -72,6 +76,7 @@ setw -g aggressive-resize on
|
||||
set -g detach-on-destroy off
|
||||
set -g extended-keys on
|
||||
set -g extended-keys-format csi-u
|
||||
set -ag terminal-features "xterm-kitty:extkeys"
|
||||
set -sg escape-time 10
|
||||
|
||||
# Status bar
|
||||
@@ -82,6 +87,8 @@ set -g status-right-length 50
|
||||
set -g window-status-separator ""
|
||||
set -gw automatic-rename on
|
||||
set -gw automatic-rename-format '#{b:pane_current_path}'
|
||||
set -g set-titles on
|
||||
set -g set-titles-string '#h:#W'
|
||||
|
||||
# Theme
|
||||
set -g status-style "bg=default,fg=default"
|
||||
|
||||
@@ -45,12 +45,14 @@ alias ....='cd ../../..'
|
||||
# Tools
|
||||
alias c='opencode'
|
||||
alias cx='printf "\033[2J\033[3J\033[H" && claude --permission-mode bypassPermissions'
|
||||
alias cy='codex -s danger-full-access -a never'
|
||||
alias d='docker'
|
||||
alias r='rails'
|
||||
alias t='tmux attach || tmux new -s Work'
|
||||
alias ic='tdl c'
|
||||
alias ix='tdl cx'
|
||||
alias icx='tdl c cx'
|
||||
alias mup='MISE_MINIMUM_RELEASE_AGE=0 mise up'
|
||||
n() { if [ "$#" -eq 0 ]; then command nvim . ; else command nvim "$@"; fi; }
|
||||
|
||||
# Git
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
# Copy / Paste
|
||||
bindd = SUPER, C, Universal copy, sendshortcut, CTRL, Insert,
|
||||
bindd = SUPER, V, Universal paste, sendshortcut, SHIFT, Insert,
|
||||
bindd = SUPER, X, Universal cut, sendshortcut, CTRL, X,
|
||||
bindd = SUPER, C, Universal copy, sendshortcut, CTRL, Insert, activewindow
|
||||
bindd = SUPER, V, Universal paste, sendshortcut, SHIFT, Insert, activewindow
|
||||
bindd = SUPER, X, Universal cut, sendshortcut, CTRL, X, activewindow
|
||||
bindd = SUPER CTRL, V, Clipboard manager, exec, omarchy-launch-walker -m clipboard
|
||||
@@ -6,7 +6,7 @@ bindd = SUPER, W, Close window, killactive,
|
||||
bindd = CTRL ALT, DELETE, Close all windows, exec, omarchy-hyprland-window-close-all
|
||||
|
||||
# Control tiling
|
||||
bindd = SUPER, J, Toggle window split, togglesplit, # dwindle
|
||||
bindd = SUPER, J, Toggle window split, layoutmsg, togglesplit
|
||||
bindd = SUPER, P, Pseudo window, pseudo, # dwindle
|
||||
bindd = SUPER SHIFT, V, Toggle window floating/tiling, togglefloating,
|
||||
bindd = SHIFT, F11, Force full screen, fullscreen, 0
|
||||
|
||||
@@ -50,8 +50,8 @@ decoration {
|
||||
group {
|
||||
col.border_active = $activeBorderColor
|
||||
col.border_inactive = $inactiveBorderColor
|
||||
col.border_locked_active = -1
|
||||
col.border_locked_inactive = -1
|
||||
col.border_locked_active = $activeBorderColor
|
||||
col.border_locked_inactive = $inactiveBorderColor
|
||||
|
||||
groupbar {
|
||||
font_size = 12
|
||||
@@ -108,9 +108,8 @@ animations {
|
||||
|
||||
# See https://wiki.hypr.land/Configuring/Layouts/Dwindle-Layout/ for more
|
||||
dwindle {
|
||||
pseudotile = true # Master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below
|
||||
preserve_split = true # You probably want this
|
||||
force_split = 2 # Always split on the right
|
||||
preserve_split = true
|
||||
force_split = 2
|
||||
}
|
||||
|
||||
scrolling {
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
# Install Sound Open Firmware for the audio DSP on non-XPS Intel Panther
|
||||
# Lake systems. XPS PTL stays on linux-ptl, which hard-deps sof-firmware.
|
||||
# Mainline `linux` only optdeps it, so without this the DSP fails to boot
|
||||
# and only auto_null shows up in PipeWire.
|
||||
# Install Sound Open Firmware for the audio DSP on Intel systems that need it.
|
||||
# The sof-audio-pci-intel-* driver family requires sof-firmware to initialise
|
||||
# the DSP; without it the DSP fails to boot and PipeWire exposes only a Dummy
|
||||
# Output sink. This affects Arrow Lake, Meteor Lake, Tiger Lake, Alder Lake,
|
||||
# Wildcat Lake, Panther Lake, and similar platforms.
|
||||
|
||||
if omarchy-hw-intel-ptl && ! omarchy-hw-match "XPS"; then
|
||||
if omarchy-hw-intel-sof; then
|
||||
omarchy-pkg-add sof-firmware
|
||||
fi
|
||||
@@ -1,7 +1,7 @@
|
||||
if omarchy-battery-present; then
|
||||
cat <<EOF | sudo tee "/etc/udev/rules.d/99-power-profile.rules"
|
||||
SUBSYSTEM=="power_supply", ATTR{type}=="Mains", RUN+="/usr/bin/systemd-run --no-block --collect --unit=omarchy-power-profile --property=After=power-profiles-daemon.service $HOME/.local/share/omarchy/bin/omarchy-powerprofiles-set"
|
||||
SUBSYSTEM=="power_supply", ATTR{type}=="USB", RUN+="/usr/bin/systemd-run --no-block --collect --unit=omarchy-power-profile --property=After=power-profiles-daemon.service $HOME/.local/share/omarchy/bin/omarchy-powerprofiles-set"
|
||||
SUBSYSTEM=="power_supply", ATTR{type}=="Mains", RUN+="/usr/bin/systemd-run --no-block --collect --property=After=power-profiles-daemon.service $HOME/.local/share/omarchy/bin/omarchy-powerprofiles-set"
|
||||
SUBSYSTEM=="power_supply", ATTR{type}=="USB", RUN+="/usr/bin/systemd-run --no-block --collect --property=After=power-profiles-daemon.service $HOME/.local/share/omarchy/bin/omarchy-powerprofiles-set"
|
||||
EOF
|
||||
|
||||
sudo systemctl enable power-profiles-daemon
|
||||
|
||||
@@ -0,0 +1,5 @@
|
||||
# Nudge text down slightly on the Dell XPS 13 (DX13260, 2026), whose 2560x1600
|
||||
# panel renders the default scaling a touch large.
|
||||
if omarchy-hw-match "DX13260"; then
|
||||
gsettings set org.gnome.desktop.interface text-scaling-factor 0.95
|
||||
fi
|
||||
@@ -1,6 +1,7 @@
|
||||
if command -v limine &>/dev/null; then
|
||||
sudo tee /etc/mkinitcpio.conf.d/omarchy_hooks.conf <<EOF >/dev/null
|
||||
HOOKS=(base udev plymouth keyboard autodetect microcode modconf kms keymap consolefont block encrypt filesystems fsck btrfs-overlayfs)
|
||||
FILES+=(/etc/vconsole.conf)
|
||||
EOF
|
||||
sudo tee /etc/mkinitcpio.conf.d/thunderbolt_module.conf <<EOF >/dev/null
|
||||
MODULES+=(thunderbolt)
|
||||
|
||||
@@ -0,0 +1,11 @@
|
||||
echo "Update elephant symbols paste shortcut for Hyprland 0.55"
|
||||
|
||||
symbols_config=~/.config/elephant/symbols.toml
|
||||
|
||||
if [[ -f $symbols_config ]]; then
|
||||
sed -i 's/hyprctl dispatch sendshortcut "SHIFT, Insert,"/hyprctl dispatch sendshortcut "SHIFT,Insert,activewindow"/' "$symbols_config"
|
||||
else
|
||||
omarchy-refresh-config elephant/symbols.toml
|
||||
fi
|
||||
|
||||
omarchy-restart-walker
|
||||
@@ -0,0 +1,11 @@
|
||||
echo "Bundle the console keymap into the initramfs so Plymouth uses the right keyboard layout at the LUKS prompt"
|
||||
|
||||
HOOKS_CONF="/etc/mkinitcpio.conf.d/omarchy_hooks.conf"
|
||||
|
||||
if [[ -f $HOOKS_CONF ]] && ! grep -q '/etc/vconsole.conf' "$HOOKS_CONF"; then
|
||||
echo "FILES+=(/etc/vconsole.conf)" | sudo tee -a "$HOOKS_CONF" >/dev/null
|
||||
|
||||
if omarchy-cmd-present limine-mkinitcpio; then
|
||||
sudo limine-mkinitcpio
|
||||
fi
|
||||
fi
|
||||
@@ -0,0 +1,19 @@
|
||||
echo "Backfill Mesa Vulkan drivers for systems installed before vulkan.sh was added"
|
||||
|
||||
declare -A VULKAN_DRIVERS=(
|
||||
[Intel]=vulkan-intel
|
||||
[AMD]=vulkan-radeon
|
||||
[Apple]=vulkan-asahi
|
||||
)
|
||||
|
||||
PACKAGES=()
|
||||
|
||||
for vendor in "${!VULKAN_DRIVERS[@]}"; do
|
||||
if lspci | grep -iE "(VGA|Display).*$vendor" > /dev/null; then
|
||||
PACKAGES+=("${VULKAN_DRIVERS[$vendor]}")
|
||||
fi
|
||||
done
|
||||
|
||||
if (( ${#PACKAGES[@]} > 0 )); then
|
||||
omarchy-pkg-add "${PACKAGES[@]}"
|
||||
fi
|
||||
@@ -0,0 +1,65 @@
|
||||
echo "Add easier tmux pane controls with Alt+Enter splits and CSI-u Shift+Enter across terminals"
|
||||
|
||||
# tmux: add pane bindings, enable kitty extkeys, and set informative terminal titles
|
||||
tmux_config="$HOME/.config/tmux/tmux.conf"
|
||||
if [[ -f $tmux_config ]]; then
|
||||
if ! grep -Fq 'bind -n M-Escape kill-pane' "$tmux_config"; then
|
||||
sed -i '/^# Pane Controls$/a\bind -n M-Escape kill-pane' "$tmux_config"
|
||||
fi
|
||||
|
||||
if ! grep -Fq 'bind -n M-S-Enter split-window' "$tmux_config"; then
|
||||
sed -i '/^# Pane Controls$/a\bind -n M-S-Enter split-window -h -c "#{pane_current_path}"' "$tmux_config"
|
||||
fi
|
||||
|
||||
if ! grep -Fq 'bind -n M-Enter split-window' "$tmux_config"; then
|
||||
sed -i '/^# Pane Controls$/a\bind -n M-Enter split-window -v -c "#{pane_current_path}"' "$tmux_config"
|
||||
fi
|
||||
|
||||
if ! grep -q "xterm-kitty:extkeys" "$tmux_config"; then
|
||||
sed -i '/^set -g extended-keys-format csi-u$/a\set -ag terminal-features "xterm-kitty:extkeys"' "$tmux_config"
|
||||
fi
|
||||
|
||||
if ! grep -Fq 'set -g set-titles on' "$tmux_config"; then
|
||||
sed -i "/^set -gw automatic-rename-format/a\\set -g set-titles on" "$tmux_config"
|
||||
fi
|
||||
|
||||
if ! grep -Fq 'set -g set-titles-string' "$tmux_config"; then
|
||||
sed -i "/^set -g set-titles on$/a\\set -g set-titles-string '#h:#W'" "$tmux_config"
|
||||
fi
|
||||
|
||||
omarchy-restart-tmux
|
||||
fi
|
||||
|
||||
# alacritty: replace the old Shift+Return binding with CSI-u encodings
|
||||
alacritty_config="$HOME/.config/alacritty/alacritty.toml"
|
||||
if [[ -f $alacritty_config ]] && ! grep -q '13;2u' "$alacritty_config"; then
|
||||
sed -i -E 's|^([[:space:]]*).*chars = "\\u001B\\r".*|\1# Send Shift+Return as CSI-u so TUIs can distinguish it from Return without treating it as Alt+Return.\n\1{ key = "Return", mods = "Shift", chars = "\\u001B[13;2u" },\n\1# Legacy encoding sends Alt+Shift+Return the same as Alt+Return; send CSI-u so tmux can match M-S-Enter.\n\1{ key = "Return", mods = "Alt\|Shift", chars = "\\u001B[13;4u" }|' "$alacritty_config"
|
||||
fi
|
||||
|
||||
# foot: add CSI-u text bindings for Shift+Return and Alt+Shift+Return
|
||||
foot_config="$HOME/.config/foot/foot.ini"
|
||||
if [[ -f $foot_config ]]; then
|
||||
if ! grep -q '^\[text-bindings\]$' "$foot_config"; then
|
||||
sed -i '$a\\\n[text-bindings]' "$foot_config"
|
||||
fi
|
||||
|
||||
if ! grep -Fq '\x1b[13;4u=Mod1+Shift+Return' "$foot_config"; then
|
||||
sed -i '/^\[text-bindings\]$/a\# Send Alt+Shift+Return as CSI-u so tmux can match M-S-Enter.\n\\x1b[13;4u=Mod1+Shift+Return' "$foot_config"
|
||||
fi
|
||||
|
||||
if ! grep -Fq '\x1b[13;2u=Shift+Return' "$foot_config"; then
|
||||
sed -i '/^\[text-bindings\]$/a\# Send Shift+Return as CSI-u so TUIs can distinguish it from Return.\n\\x1b[13;2u=Shift+Return' "$foot_config"
|
||||
fi
|
||||
fi
|
||||
|
||||
# ghostty: add CSI-u keybinds for Shift+Enter and Alt+Shift+Enter
|
||||
ghostty_config="$HOME/.config/ghostty/config"
|
||||
if [[ -f $ghostty_config ]] && ! grep -q 'csi:13;2u' "$ghostty_config"; then
|
||||
sed -i '/^keybind = control+insert=copy_to_clipboard$/a\# Send Shift+Enter as CSI-u so TUIs can distinguish it from Enter.\nkeybind = shift+enter=csi:13;2u\n# Legacy encoding sends Alt+Shift+Enter the same as Alt+Enter; send CSI-u so tmux can match M-S-Enter.\nkeybind = alt+shift+enter=csi:13;4u' "$ghostty_config"
|
||||
fi
|
||||
|
||||
# kitty: add CSI-u key mappings for Shift+Enter and Alt+Shift+Enter
|
||||
kitty_config="$HOME/.config/kitty/kitty.conf"
|
||||
if [[ -f $kitty_config ]] && ! grep -q '13;2u' "$kitty_config"; then
|
||||
sed -i '/^map shift+insert paste_from_clipboard$/a\# Send Shift+Enter as CSI-u so TUIs can distinguish it from Enter.\nmap shift+enter send_text all \\e[13;2u\n# Kitty legacy encoding sends Alt+Shift+Enter the same as Alt+Enter; send CSI-u so tmux can match M-S-Enter.\nmap alt+shift+enter send_text all \\e[13;4u' "$kitty_config"
|
||||
fi
|
||||
@@ -0,0 +1,11 @@
|
||||
echo "Install sof-firmware for all Intel SOF audio DSP platforms (Arrow Lake, Meteor Lake, etc.)"
|
||||
|
||||
# Intel SOF platforms beyond Panther Lake and Wildcat Lake (Arrow Lake, Meteor
|
||||
# Lake, Tiger Lake, Alder Lake) were not covered by the original sof-firmware
|
||||
# install guard. Without sof-firmware the DSP fails to boot and PipeWire exposes
|
||||
# only a Dummy Output. Install it now for all qualifying Intel systems.
|
||||
|
||||
if omarchy-hw-intel-sof && omarchy-pkg-missing sof-firmware; then
|
||||
omarchy-pkg-add sof-firmware
|
||||
omarchy-state set reboot-required
|
||||
fi
|
||||
Reference in new issue
Block a user