Compare commits
29
Commits
No files matched your search
@@ -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/gnome-theme.sh"
|
||||||
bash "$OMARCHY_PATH/install/first-run/swayosd.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/gtk-primary-paste.sh"
|
||||||
|
bash "$OMARCHY_PATH/install/first-run/text-scaling.sh"
|
||||||
bash "$OMARCHY_PATH/install/first-run/elephant.sh"
|
bash "$OMARCHY_PATH/install/first-run/elephant.sh"
|
||||||
omarchy-hook-install post-update "$OMARCHY_PATH/install/first-run/install-voxtype.hook"
|
omarchy-hook-install post-update "$OMARCHY_PATH/install/first-run/install-voxtype.hook"
|
||||||
sudo rm -f /etc/sudoers.d/first-run
|
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'
|
||||||
@@ -10,12 +10,12 @@ omarchy-pkg-add \
|
|||||||
retroarch-assets-glui retroarch-assets-ozone retroarch-assets-xmb \
|
retroarch-assets-glui retroarch-assets-ozone retroarch-assets-xmb \
|
||||||
libretro-beetle-pce libretro-beetle-pce-fast libretro-beetle-psx libretro-beetle-psx-hw libretro-beetle-supergrafx \
|
libretro-beetle-pce libretro-beetle-pce-fast libretro-beetle-psx libretro-beetle-psx-hw libretro-beetle-supergrafx \
|
||||||
libretro-blastem \
|
libretro-blastem \
|
||||||
libretro-bsnes libretro-bsnes-hd libretro-bsnes2014 \
|
libretro-bsnes libretro-bsnes-hd \
|
||||||
libretro-core-info \
|
libretro-core-info \
|
||||||
libretro-desmume libretro-dolphin libretro-flycast \
|
libretro-desmume libretro-dolphin libretro-flycast \
|
||||||
libretro-gambatte libretro-genesis-plus-gx \
|
libretro-gambatte libretro-genesis-plus-gx \
|
||||||
libretro-kronos \
|
libretro-kronos \
|
||||||
libretro-mame libretro-mame2016 libretro-melonds libretro-mesen libretro-mesen-s libretro-mgba libretro-mupen64plus-next \
|
libretro-mame libretro-melonds libretro-mesen libretro-mesen-s libretro-mgba libretro-mupen64plus-next \
|
||||||
libretro-nestopia \
|
libretro-nestopia \
|
||||||
libretro-overlays \
|
libretro-overlays \
|
||||||
libretro-parallel-n64 libretro-picodrive libretro-play libretro-ppsspp \
|
libretro-parallel-n64 libretro-picodrive libretro-play libretro-ppsspp \
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
|
|
||||||
installed=()
|
installed=()
|
||||||
for pkg in "$@"; do
|
for pkg in "$@"; do
|
||||||
if pacman -Q "$pkg" &>/dev/null; then
|
if pacman -Qq | grep -Fxq "$pkg"; then
|
||||||
installed+=("$pkg")
|
installed+=("$pkg")
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|||||||
@@ -10,12 +10,12 @@ omarchy-pkg-drop \
|
|||||||
retroarch-assets-glui retroarch-assets-ozone retroarch-assets-xmb \
|
retroarch-assets-glui retroarch-assets-ozone retroarch-assets-xmb \
|
||||||
libretro-beetle-pce libretro-beetle-pce-fast libretro-beetle-psx libretro-beetle-psx-hw libretro-beetle-supergrafx \
|
libretro-beetle-pce libretro-beetle-pce-fast libretro-beetle-psx libretro-beetle-psx-hw libretro-beetle-supergrafx \
|
||||||
libretro-blastem \
|
libretro-blastem \
|
||||||
libretro-bsnes libretro-bsnes-hd libretro-bsnes2014 \
|
libretro-bsnes libretro-bsnes-hd \
|
||||||
libretro-core-info \
|
libretro-core-info \
|
||||||
libretro-desmume libretro-dolphin libretro-flycast \
|
libretro-desmume libretro-dolphin libretro-flycast \
|
||||||
libretro-gambatte libretro-genesis-plus-gx \
|
libretro-gambatte libretro-genesis-plus-gx \
|
||||||
libretro-kronos \
|
libretro-kronos \
|
||||||
libretro-mame libretro-mame2016 libretro-melonds libretro-mesen libretro-mesen-s libretro-mgba libretro-mupen64plus-next \
|
libretro-mame libretro-melonds libretro-mesen libretro-mesen-s libretro-mgba libretro-mupen64plus-next \
|
||||||
libretro-nestopia \
|
libretro-nestopia \
|
||||||
libretro-overlays \
|
libretro-overlays \
|
||||||
libretro-parallel-n64 libretro-picodrive libretro-play libretro-ppsspp \
|
libretro-parallel-n64 libretro-picodrive libretro-play libretro-ppsspp \
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
omarchy-toggle waybar-off
|
omarchy-toggle waybar-off
|
||||||
|
|
||||||
if pgrep -x waybar >/dev/null; then
|
if pgrep -x waybar >/dev/null; then
|
||||||
pkill -x waybar
|
pkill -9 -x waybar
|
||||||
else
|
else
|
||||||
uwsm-app -- waybar >/dev/null 2>&1 &
|
uwsm-app -- waybar >/dev/null 2>&1 &
|
||||||
fi
|
fi
|
||||||
@@ -21,5 +21,8 @@ decorations = "None"
|
|||||||
bindings = [
|
bindings = [
|
||||||
{ key = "Insert", mods = "Shift", action = "Paste" },
|
{ key = "Insert", mods = "Shift", action = "Paste" },
|
||||||
{ key = "Insert", mods = "Control", action = "Copy" },
|
{ 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" }
|
||||||
]
|
]
|
||||||
@@ -17,3 +17,9 @@ blink=no
|
|||||||
clipboard-copy=Control+Insert
|
clipboard-copy=Control+Insert
|
||||||
primary-paste=none
|
primary-paste=none
|
||||||
clipboard-paste=Shift+Insert
|
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
|
# Keyboard bindings
|
||||||
keybind = shift+insert=paste_from_clipboard
|
keybind = shift+insert=paste_from_clipboard
|
||||||
keybind = control+insert=copy_to_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_down=resize_split:down,100
|
||||||
keybind = super+control+shift+alt+arrow_up=resize_split:up,100
|
keybind = super+control+shift+alt+arrow_up=resize_split:up,100
|
||||||
keybind = super+control+shift+alt+arrow_left=resize_split:left,100
|
keybind = super+control+shift+alt+arrow_left=resize_split:left,100
|
||||||
|
|||||||
@@ -13,6 +13,10 @@ confirm_os_window_close 0
|
|||||||
# Keybindings
|
# Keybindings
|
||||||
map ctrl+insert copy_to_clipboard
|
map ctrl+insert copy_to_clipboard
|
||||||
map shift+insert paste_from_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 access
|
||||||
allow_remote_control yes
|
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
|
bind -T copy-mode-vi y send -X copy-selection-and-cancel
|
||||||
|
|
||||||
# Pane Controls
|
# 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 h split-window -v -c "#{pane_current_path}"
|
||||||
bind v split-window -h -c "#{pane_current_path}"
|
bind v split-window -h -c "#{pane_current_path}"
|
||||||
bind x kill-pane
|
bind x kill-pane
|
||||||
@@ -72,6 +76,7 @@ setw -g aggressive-resize on
|
|||||||
set -g detach-on-destroy off
|
set -g detach-on-destroy off
|
||||||
set -g extended-keys on
|
set -g extended-keys on
|
||||||
set -g extended-keys-format csi-u
|
set -g extended-keys-format csi-u
|
||||||
|
set -ag terminal-features "xterm-kitty:extkeys"
|
||||||
set -sg escape-time 10
|
set -sg escape-time 10
|
||||||
|
|
||||||
# Status bar
|
# Status bar
|
||||||
@@ -82,6 +87,8 @@ set -g status-right-length 50
|
|||||||
set -g window-status-separator ""
|
set -g window-status-separator ""
|
||||||
set -gw automatic-rename on
|
set -gw automatic-rename on
|
||||||
set -gw automatic-rename-format '#{b:pane_current_path}'
|
set -gw automatic-rename-format '#{b:pane_current_path}'
|
||||||
|
set -g set-titles on
|
||||||
|
set -g set-titles-string '#h:#W'
|
||||||
|
|
||||||
# Theme
|
# Theme
|
||||||
set -g status-style "bg=default,fg=default"
|
set -g status-style "bg=default,fg=default"
|
||||||
|
|||||||
@@ -45,12 +45,14 @@ alias ....='cd ../../..'
|
|||||||
# Tools
|
# Tools
|
||||||
alias c='opencode'
|
alias c='opencode'
|
||||||
alias cx='printf "\033[2J\033[3J\033[H" && claude --permission-mode bypassPermissions'
|
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 d='docker'
|
||||||
alias r='rails'
|
alias r='rails'
|
||||||
alias t='tmux attach || tmux new -s Work'
|
alias t='tmux attach || tmux new -s Work'
|
||||||
alias ic='tdl c'
|
alias ic='tdl c'
|
||||||
alias ix='tdl cx'
|
alias ix='tdl cx'
|
||||||
alias icx='tdl c 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; }
|
n() { if [ "$#" -eq 0 ]; then command nvim . ; else command nvim "$@"; fi; }
|
||||||
|
|
||||||
# Git
|
# Git
|
||||||
|
|||||||
@@ -1,8 +1,9 @@
|
|||||||
# Install Sound Open Firmware for the audio DSP on non-XPS Intel Panther
|
# Install Sound Open Firmware for the audio DSP on Intel systems that need it.
|
||||||
# Lake systems. XPS PTL stays on linux-ptl, which hard-deps sof-firmware.
|
# The sof-audio-pci-intel-* driver family requires sof-firmware to initialise
|
||||||
# Mainline `linux` only optdeps it, so without this the DSP fails to boot
|
# the DSP; without it the DSP fails to boot and PipeWire exposes only a Dummy
|
||||||
# and only auto_null shows up in PipeWire.
|
# 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
|
omarchy-pkg-add sof-firmware
|
||||||
fi
|
fi
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
if omarchy-battery-present; then
|
if omarchy-battery-present; then
|
||||||
cat <<EOF | sudo tee "/etc/udev/rules.d/99-power-profile.rules"
|
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}=="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 --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 --property=After=power-profiles-daemon.service $HOME/.local/share/omarchy/bin/omarchy-powerprofiles-set"
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
sudo systemctl enable power-profiles-daemon
|
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
|
if command -v limine &>/dev/null; then
|
||||||
sudo tee /etc/mkinitcpio.conf.d/omarchy_hooks.conf <<EOF >/dev/null
|
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)
|
HOOKS=(base udev plymouth keyboard autodetect microcode modconf kms keymap consolefont block encrypt filesystems fsck btrfs-overlayfs)
|
||||||
|
FILES+=(/etc/vconsole.conf)
|
||||||
EOF
|
EOF
|
||||||
sudo tee /etc/mkinitcpio.conf.d/thunderbolt_module.conf <<EOF >/dev/null
|
sudo tee /etc/mkinitcpio.conf.d/thunderbolt_module.conf <<EOF >/dev/null
|
||||||
MODULES+=(thunderbolt)
|
MODULES+=(thunderbolt)
|
||||||
|
|||||||
@@ -89,7 +89,7 @@ noto-fonts
|
|||||||
noto-fonts-cjk
|
noto-fonts-cjk
|
||||||
noto-fonts-emoji
|
noto-fonts-emoji
|
||||||
nss-mdns
|
nss-mdns
|
||||||
nvim
|
neovim
|
||||||
obs-studio
|
obs-studio
|
||||||
obsidian
|
obsidian
|
||||||
omarchy-nvim
|
omarchy-nvim
|
||||||
|
|||||||
@@ -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
|
||||||
|
printf '\n[text-bindings]\n' >> "$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
|
||||||
@@ -0,0 +1,10 @@
|
|||||||
|
echo "Point the Neovim theme symlink at the Omarchy 3.x theme location"
|
||||||
|
|
||||||
|
# omarchy-nvim briefly created ~/.config/nvim/lua/plugins/theme.lua linked to
|
||||||
|
# the Omarchy 4 theme location, which doesn't exist on Omarchy 3.x, so Neovim
|
||||||
|
# failed to load plugins.theme on startup (#6309). Retarget the link to the
|
||||||
|
# 3.x location, but leave any customized link alone.
|
||||||
|
theme_link="$HOME/.config/nvim/lua/plugins/theme.lua"
|
||||||
|
if [[ -L $theme_link && $(readlink "$theme_link") == *.local/state/omarchy/current/theme/neovim.lua ]]; then
|
||||||
|
ln -snf "../../../../.config/omarchy/current/theme/neovim.lua" "$theme_link"
|
||||||
|
fi
|
||||||
Reference in new issue
Block a user