Files
omarchy-pkgs/pkgbuilds/edge/intel-ipu7-camera/intel-ipu7-camera.install
T

48 lines
1.5 KiB
Plaintext

_add_pipewire_camera() {
local conf="$1"
if [ -f "$conf" ] && grep -q 'enable-features=' "$conf" && ! grep -q 'PipeWireCamera' "$conf"; then
sed -i 's/--enable-features=\([^ ]*\)/--enable-features=\1,PipeWireCamera/' "$conf"
fi
}
_remove_pipewire_camera() {
local conf="$1"
[ -f "$conf" ] && sed -i 's/,PipeWireCamera//g' "$conf"
}
post_install() {
systemctl daemon-reload
systemctl enable camera-init.service
udevadm control --reload-rules 2>/dev/null || true
if [ -n "$SUDO_USER" ]; then
usermod -aG video "$SUDO_USER" 2>/dev/null || true
su - "$SUDO_USER" -c "systemctl --user daemon-reload; systemctl --user enable camera-feed-watch.service" 2>/dev/null || true
_add_pipewire_camera "/home/$SUDO_USER/.config/chromium-flags.conf"
_add_pipewire_camera "/home/$SUDO_USER/.config/brave-flags.conf"
fi
}
post_upgrade() {
systemctl daemon-reload
udevadm control --reload-rules 2>/dev/null || true
}
pre_remove() {
systemctl disable camera-init.service 2>/dev/null || true
systemctl stop camera-init.service 2>/dev/null || true
if [ -n "$SUDO_USER" ]; then
su - "$SUDO_USER" -c "systemctl --user stop camera-feed-watch.service; systemctl --user disable camera-feed-watch.service" 2>/dev/null || true
_remove_pipewire_camera "/home/$SUDO_USER/.config/chromium-flags.conf"
_remove_pipewire_camera "/home/$SUDO_USER/.config/brave-flags.conf"
fi
}
post_remove() {
systemctl daemon-reload
udevadm control --reload-rules 2>/dev/null || true
}