install_qutebrowser


"/home/yossef/notes/git/scripts/install_qutebrowser.md"

path: git/scripts/install_qutebrowser.md

- **fileName**: install_qutebrowser
- **Created on**: 2025-03-26 15:04:54

build and install qutebrowser(use it for ubuntu based only=>suggest)

#!/usr/bin/env bash
set -euo pipefail
IFS=

  **continue**:./install_rust_cargo.md
  **before**:./install_php.md
\n\t'

# dependencies are listed here: https://qutebrowser.org/doc/install.html#debian
venv_dependencies=("git" "ca-certificates" "python3" "python3-venv" \
    "libgl1" "libxkbcommon-x11-0" "libegl1" "libfontconfig1" "libglib2.0-0" \
    "libdbus-1-3" "libxcb-cursor0" "libxcb-icccm4" "libxcb-keysyms1" \
    "libxcb-shape0" "libnss3" "libxcomposite1" "libxdamage1" "libxrender1" \
    "libxrandr2" "libxtst6" "libxi6" "libasound2")

# installing qutebrowser if the repo is not found in ~/code
# this will also check for all dependencies and early exit
# if one or several are not found.
if [[ ! -d "$HOME"/code/qutebrowser ]]; then
    echo "qutebrowser not installed: proceeding with install..."
    for dep in "${venv_dependencies[@]}"; do
        if [[ $(dpkg-query -W -f='${Status}' "$dep" 2>/dev/null | \
            grep -c "ok installed") -eq 0 ]]; then
            echo "\"$dep\" package not installed: install it with \
                'apt install --no-install-recommends', then re-run this script."
            exit 1
        fi
        echo "all venv dependencies are present, installing..."
        (
            cd "$HOME"/code
            git clone --depth 1 https://github.com/qutebrowser/qutebrowser.git
            cd qutebrowser
            python3 scripts/mkvenv.py
        )
        echo "qutebrowser installed in ~/code with fresh git clone, all done."
        exit
    done
fi

(
    cd "$HOME"/code/qutebrowser
    python3 scripts/mkvenv.py --update
)

continue:[[./install_rust_cargo.md]]
before:[[./install_php.md]]