set positional-arguments := true [private] default: @just --list [group('base')] install-base-packages: #!/usr/bin/env bash sudo dnf install -y \ 7zip \ borgbackup \ btop \ dnf-automatic \ dnf-utils \ fastfetch \ fzf \ git \ gum \ htop \ jq \ kernel-devel \ lnav \ node-exporter \ pipx \ podman-compose \ xauth \ xclip \ zsh [group('base')] install-zfs: #!/usr/bin/env bash sudo dnf install -y https://zfsonlinux.org/epel/zfs-release-3-0$(rpm --eval "%{dist}").noarch.rpm sudo dnf install -y zfs [group('utils')] install-ipfs: #!/usr/bin/env bash readarray -t -O \ "${#urls[@]}" urls \ < <(curl -s https://api.github.com/repos/ipfs/kubo/releases/latest | sed -n 's/.*"browser_download_url": //p' | grep "linux-amd64.tar.gz" | grep -v ".cid" | tr -d '"') TEMP_DIR=$(mktemp -d) cd "$TEMP_DIR" for url in "${urls[@]}"; do curl -SL -O "$url" done if ! sha512sum -c kubo*.sha512; then exit 1 fi tar -xvzf kubo*.tar.gz sudo bash kubo/install.sh cd - sudo rm -rf "$TEMP_DIR" sudo chown -R root:root /usr/local/bin [group('utils')] install-dust: #!/usr/bin/env bash url=$(curl -s https://api.github.com/repos/bootandy/dust/releases/latest | sed -n 's/.*"browser_download_url": //p' | grep "x86_64-unknown-linux-gnu.tar.gz" | tr -d '"') digest=$(curl -s https://api.github.com/repos/bootandy/dust/releases/latest | jq -c '.assets.[] | select(.browser_download_url | contains("x86_64-unknown-linux-gnu.tar.gz")) | .digest' | tr -d '"' | awk -F: '{print $2}') TEMP_DIR=$(mktemp -d) cd "$TEMP_DIR" curl -SL -O "$url" if ! echo "${digest} $(basename $url)" | sha256sum -c; then exit 1 fi tar -xvzf dust*.tar.gz sudo cp -fv dust*/dust /usr/local/bin cd - sudo rm -rf "$TEMP_DIR" sudo chown -R root:root /usr/local/bin [group('utils')] install-podlet: #!/usr/bin/env bash readarray -t -O \ "${#urls[@]}" urls \ < <(curl -s https://api.github.com/repos/containers/podlet/releases/latest | sed -n 's/.*"browser_download_url": //p' | grep "x86_64-unknown-linux-gnu.tar.xz" | tr -d '"') TEMP_DIR=$(mktemp -d) cd "$TEMP_DIR" for url in "${urls[@]}"; do curl -SL -O "$url" done if ! sha256sum -c podlet*.sha256; then exit 1 fi tar -xvf podlet*.tar.xz sudo cp -fv podlet*/podlet /usr/local/bin cd - sudo rm -rf "$TEMP_DIR" sudo chown root:root /usr/local/bin/podlet [group('utils')] install-lsd: #!/usr/bin/env bash url=$(curl -s https://api.github.com/repos/lsd-rs/lsd/releases/latest | sed -n 's/.*"browser_download_url": //p' | grep "x86_64-unknown-linux-gnu.tar.gz" | tr -d '"') digest=$(curl -s https://api.github.com/repos/lsd-rs/lsd/releases/latest | jq -c '.assets.[] | select(.browser_download_url | contains("x86_64-unknown-linux-gnu.tar.gz")) | .digest' | tr -d '"' | awk -F: '{print $2}') TEMP_DIR=$(mktemp -d) cd "$TEMP_DIR" curl -SL -O "$url" if ! echo "${digest} $(basename $url)" | sha256sum -c; then exit 1 fi tar -xvzf lsd*.tar.gz sudo cp -fv lsd*/lsd /usr/local/bin sudo cp -fv lsd*/lsd.1 /usr/local/share/man/man1 cd - sudo rm -rf "$TEMP_DIR" sudo chown -R root:root /usr/local/bin sudo chown -R root:root /usr/local/share/man/man1 [group('utils')] install-bat: #!/usr/bin/env bash url=$(curl -s https://api.github.com/repos/sharkdp/bat/releases/latest | sed -n 's/.*"browser_download_url": //p' | grep "x86_64-unknown-linux-gnu.tar.gz" | tr -d '"') digest=$(curl -s https://api.github.com/repos/sharkdp/bat/releases/latest | jq -c '.assets.[] | select(.browser_download_url | contains("x86_64-unknown-linux-gnu.tar.gz")) | .digest' | tr -d '"' | awk -F: '{print $2}') TEMP_DIR=$(mktemp -d) cd "$TEMP_DIR" curl -SL -O "$url" if ! echo "${digest} $(basename $url)" | sha256sum -c; then exit 1 fi tar -xvzf bat*.tar.gz sudo cp -fv bat*/bat /usr/local/bin sudo cp -fv bat*/bat.1 /usr/local/share/man/man1 cd - sudo rm -rf "$TEMP_DIR" sudo chown -R root:root /usr/local/bin sudo chown -R root:root /usr/local/share/man/man1 [group('utils')] install-bat-extras: #!/usr/bin/env bash url=$(curl -s https://api.github.com/repos/eth-p/bat-extras/releases/latest | sed -n 's/.*"browser_download_url": //p' | grep ".zip" | tr -d '"') TEMP_DIR=$(mktemp -d) cd "$TEMP_DIR" curl -SL -O "$url" unzip bat-extras*.zip sudo rsync -avz ./bin/ /usr/local/bin sudo rsync -avz ./man/ /usr/local/share/man/man1 cd - sudo rm -rf "$TEMP_DIR" sudo chown -R root:root /usr/local/bin sudo chown -R root:root /usr/local/share/man/man1 [group('utils')] install-cosign: #!/usr/bin/env bash url=$(curl -s https://api.github.com/repos/sigstore/cosign/releases/latest | sed -n 's/.*"browser_download_url": //p' | grep "cosign-linux-amd64" | head -n 1 | tr -d '"') digest=$(curl -s https://api.github.com/repos/sigstore/cosign/releases/latest | jq -c '.assets.[] | select(.browser_download_url=="'$url'") | .digest' | tr -d '"' | awk -F: '{print $2}') TEMP_DIR=$(mktemp -d) cd "$TEMP_DIR" curl -SL -O "$url" if ! echo "${digest} $(basename $url)" | sha256sum -c; then exit 1 fi sudo cp -fv cosign-linux-amd64 /usr/local/bin/cosign cd - sudo rm -rf "$TEMP_DIR" sudo chmod +x /usr/local/bin/cosign sudo chown root:root /usr/local/bin/cosign [group('utils')] install-wayback: #!/usr/bin/env bash TEMP_DIR=$(mktemp -d) cd "$TEMP_DIR" curl -fsSL https://github.com/wabarc/wayback/raw/main/install.sh | sh sudo cp -fv bin/wayback /usr/local/bin cd - sudo rm -rf "$TEMP_DIR" sudo chown root:root /usr/local/bin/wayback # vim: ai et ft=just sts=4 sw=4 ts=4