Merge remote-tracking branch 'origin/quattro' into fix-snapshot-locate-and-timeline-leak
# Conflicts: # docs/file-layout.md
This commit is contained in:
@@ -15,8 +15,12 @@ run_logged "$OMARCHY_INSTALL/hardware/vulkan.sh"
|
||||
run_logged "$OMARCHY_INSTALL/hardware/intel/video-acceleration.sh"
|
||||
run_logged "$OMARCHY_INSTALL/hardware/intel/lpmd.sh"
|
||||
run_logged "$OMARCHY_INSTALL/hardware/intel/thermald.sh"
|
||||
run_logged "$OMARCHY_INSTALL/hardware/intel/ipu7-camera.sh"
|
||||
# Swap in the Panther Lake kernel before anything pulls DKMS modules in.
|
||||
# intel-ipu7-camera drags in ipu7-drivers, vision-drivers and v4l2loopback,
|
||||
# and building all three against the stock kernel only to rebuild them against
|
||||
# linux-ptl and tear the first set down again cost ~25s of the install.
|
||||
run_logged "$OMARCHY_INSTALL/hardware/intel/ptl-kernel.sh"
|
||||
run_logged "$OMARCHY_INSTALL/hardware/intel/ipu7-camera.sh"
|
||||
run_logged "$OMARCHY_INSTALL/hardware/intel/fred.sh"
|
||||
run_logged "$OMARCHY_INSTALL/hardware/intel/fix-wifi7-eht.sh"
|
||||
run_logged "$OMARCHY_INSTALL/hardware/intel/sof-firmware.sh"
|
||||
@@ -38,4 +42,5 @@ run_logged "$OMARCHY_INSTALL/hardware/fix-bcm43xx.sh"
|
||||
run_logged "$OMARCHY_INSTALL/hardware/fix-surface-keyboard.sh"
|
||||
run_logged "$OMARCHY_INSTALL/hardware/fix-yt6801-ethernet-adapter.sh"
|
||||
run_logged "$OMARCHY_INSTALL/hardware/fix-tuxedo-backlight.sh"
|
||||
run_logged "$OMARCHY_INSTALL/hardware/speaker-tuning.sh"
|
||||
run_logged "$OMARCHY_INSTALL/hardware/pacman.sh"
|
||||
|
||||
@@ -5,10 +5,20 @@ if omarchy-hw-match "XPS" && omarchy-hw-intel-ptl; then
|
||||
echo "Detected Dell XPS Panther Lake, installing PTL kernel..."
|
||||
|
||||
omarchy-pkg-add linux-ptl linux-ptl-headers
|
||||
pacman -Rdd --noconfirm linux linux-headers 2>/dev/null || true
|
||||
pacman -Rdd --noconfirm linux linux-headers || true
|
||||
|
||||
# linux-ptl doesn't provide=linux, so anything depending on linux drags the
|
||||
# stock kernel back in and the boot menu grows a second, slower entry.
|
||||
if pacman -Qq linux &>/dev/null; then
|
||||
echo "WARNING: stock linux kernel still installed alongside linux-ptl:"
|
||||
pacman -Qi linux | grep -i "required by"
|
||||
fi
|
||||
|
||||
mkdir -p /etc/limine-entry-tool.d
|
||||
cat > /etc/limine-entry-tool.d/dell-xps-panther-lake.conf <<'EOF'
|
||||
# Named to sort after omarchy-defaults.conf: drop-ins are read in order and
|
||||
# the last BOOT_ORDER wins, so an earlier-sorting name is a silent no-op.
|
||||
rm -f /etc/limine-entry-tool.d/dell-xps-panther-lake.conf
|
||||
cat > /etc/limine-entry-tool.d/zz-dell-xps-panther-lake.conf <<'EOF'
|
||||
# Only show Panther Lake kernel in boot menu on Dell XPS Panther Lake
|
||||
BOOT_ORDER="linux-ptl*, *fallback, Snapshots"
|
||||
EOF
|
||||
|
||||
@@ -0,0 +1,10 @@
|
||||
# Install the LV2 plugins that shipped speaker tunings need.
|
||||
#
|
||||
# Every tuning ends in a lookahead limiter, which is an LV2 plugin. Without it
|
||||
# the filter-chain graph fails to instantiate and the tuning sink silently never
|
||||
# appears, so the package is a hard requirement wherever a tuning applies. It is
|
||||
# only pulled in on machines that have one.
|
||||
|
||||
if omarchy-audio-tuning match >/dev/null; then
|
||||
omarchy-pkg-add lsp-plugins-lv2
|
||||
fi
|
||||
@@ -51,20 +51,17 @@ run_logged() {
|
||||
;;
|
||||
esac
|
||||
|
||||
local runner=(bash -eE)
|
||||
if [[ ${OMARCHY_INSTALL_DEBUG:-} == "1" ]]; then
|
||||
runner=(bash -x -eE)
|
||||
fi
|
||||
|
||||
if omarchy_log_to_stdout; then
|
||||
if [[ ${OMARCHY_INSTALL_DEBUG:-} == "1" ]]; then
|
||||
PS4='+ ${BASH_SOURCE[0]##*/}:${LINENO}:${FUNCNAME[0]:-main}: ' \
|
||||
bash -x -eE -c 'source "$1"' bash "$script" </dev/null 2>&1
|
||||
else
|
||||
bash -eE -c 'source "$1"' bash "$script" </dev/null 2>&1
|
||||
fi
|
||||
PS4='+ ${BASH_SOURCE[0]##*/}:${LINENO}:${FUNCNAME[0]:-main}: ' \
|
||||
"${runner[@]}" -c 'source "$1"' bash "$script" </dev/null 2>&1
|
||||
else
|
||||
if [[ ${OMARCHY_INSTALL_DEBUG:-} == "1" ]]; then
|
||||
PS4='+ ${BASH_SOURCE[0]##*/}:${LINENO}:${FUNCNAME[0]:-main}: ' \
|
||||
bash -x -eE -c 'source "$1"' bash "$script" </dev/null >>"$OMARCHY_INSTALL_LOG_FILE" 2>&1
|
||||
else
|
||||
bash -eE -c 'source "$1"' bash "$script" </dev/null >>"$OMARCHY_INSTALL_LOG_FILE" 2>&1
|
||||
fi
|
||||
PS4='+ ${BASH_SOURCE[0]##*/}:${LINENO}:${FUNCNAME[0]:-main}: ' \
|
||||
"${runner[@]}" -c 'source "$1"' bash "$script" </dev/null >>"$OMARCHY_INSTALL_LOG_FILE" 2>&1
|
||||
fi
|
||||
|
||||
exit_code=$?
|
||||
|
||||
@@ -62,6 +62,9 @@ linux-firmware-marvell
|
||||
# Dell laptop support packages
|
||||
dell-xps-touchpad-haptics
|
||||
|
||||
# Speaker tunings (LV2 limiter every tuning ends in)
|
||||
lsp-plugins-lv2
|
||||
|
||||
# T2 MacBook support packages
|
||||
apple-bcm-firmware
|
||||
apple-t2-audio-config
|
||||
|
||||
Executable
+14
@@ -0,0 +1,14 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Apply the speaker tuning for this laptop. Runs at first-run rather than at
|
||||
# finalize-user time because finalize-user also runs in the ISO chroot, where
|
||||
# there is no audio server: the sink the tuning has to target does not exist, so
|
||||
# nothing could be written and nothing would retry -- the finalizer marks all
|
||||
# shipped migrations complete on a fresh install. By first-run the session is up
|
||||
# and the sink is present.
|
||||
#
|
||||
# A no-op on machines no tuning matches.
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
omarchy-audio-tuning on
|
||||
@@ -16,5 +16,4 @@ systemctl --user enable --now \
|
||||
bt-agent.service \
|
||||
omarchy-recover-internal-monitor.service \
|
||||
omarchy-sleep-lock.service \
|
||||
omarchy-update-user-notify.path \
|
||||
omarchy-update-user-notify.service
|
||||
omarchy-migrate-notify.service
|
||||
|
||||
@@ -4,7 +4,16 @@ set -e
|
||||
|
||||
show_invitation() {
|
||||
if [[ -n $(omarchy-notification-send -u critical -g "Install Dictation with Voxtype" "Click to install voice dictation for Omarchy." -a) ]]; then
|
||||
omarchy-launch-floating-terminal-with-presentation omarchy-voxtype-install
|
||||
# Launch the installer in its own transient unit so this invitation service
|
||||
# can exit right after the click. If it stayed alive for the life of the
|
||||
# install terminal, the installer's omarchy-restart-shell would re-trigger
|
||||
# this still-running *-invitation unit and pop the toast a second time.
|
||||
# KillMode=process because the launcher's setsid forks and returns, so the
|
||||
# unit's main process exits within milliseconds. The default control-group
|
||||
# kill would take the terminal down with it before it ever appears.
|
||||
systemd-run --user --collect --quiet -p KillMode=process \
|
||||
--unit=omarchy-voxtype-install \
|
||||
omarchy-launch-floating-terminal-with-presentation omarchy-voxtype-install
|
||||
fi
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,30 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -e
|
||||
|
||||
show_invitation() {
|
||||
if [[ -n $(omarchy-notification-send -u critical -g "Setup Fingerprint Reader" "Enable sudo and unlocking with your fingerprint." -a) ]]; then
|
||||
# Launch the setup in its own transient unit so this invitation service can
|
||||
# exit right after the click. If it stayed alive for the life of the setup
|
||||
# terminal, the setup's omarchy-restart-shell would re-trigger this
|
||||
# still-running *-invitation unit and pop the toast a second time.
|
||||
# KillMode=process because the launcher's setsid forks and returns, so the
|
||||
# unit's main process exits within milliseconds. The default control-group
|
||||
# kill would take the terminal down with it before it ever appears.
|
||||
systemd-run --user --collect --quiet -p KillMode=process \
|
||||
--unit=omarchy-setup-security-fingerprint \
|
||||
omarchy-launch-floating-terminal-with-presentation omarchy-setup-security-fingerprint
|
||||
fi
|
||||
}
|
||||
|
||||
if [[ ${1:-} == "--show" ]]; then
|
||||
show_invitation
|
||||
# Only invite when there's a reader to use and it isn't set up yet (the lock
|
||||
# PAM file is the last thing the setup writes on success).
|
||||
elif omarchy-hw-fingerprint && [[ ! -f /etc/pam.d/omarchy-lock-fingerprint ]] &&
|
||||
omarchy-done ensure fingerprint-setup-invitation; then
|
||||
# Keep the notification action alive after the update terminal closes.
|
||||
systemd-run --user --collect --quiet --service-type=exec \
|
||||
--unit=omarchy-fingerprint-setup-invitation \
|
||||
bash "$0" --show
|
||||
fi
|
||||
@@ -16,6 +16,10 @@ notify_wifi() {
|
||||
|
||||
if ! ping -c3 -W1 1.1.1.1 >/dev/null 2>&1; then
|
||||
notify_update "When you have internet, click to update the system."
|
||||
# Both toasts are sent from background subshells, so let the update one
|
||||
# register before queueing Wi-Fi. Newest stacks on top, and Wi-Fi is what
|
||||
# you need first.
|
||||
sleep 0.3
|
||||
notify_wifi
|
||||
else
|
||||
notify_update "Click to update the system."
|
||||
|
||||
Reference in New Issue
Block a user