How to Install poof
Multiple installation methods are supported. Choose the one you prefer.
Check the Continuous Integration and Containerization pages
for more ways to install and deploy poof.
Stable Release
What's new? Check the changelog!
Quick one-liner
Always check scripts you pipe to your shell before actually running them!
Automatically downloads the right pre-built binary for your OS and architecture.
curl -fsSL https://poof.fpira.com/install.sh | sh
It will install poof in ${HOME}/.local/bin on both Linux and macOS.
Be sure such directory is in $PATH.
Pre-built binaries
Download the binary for your OS and CPU from
latest release, and move it
to some directory in your $PATH.
Homebrew
Install poof using Homebrew on macOS or Linux:
brew tap pirafrank/tap
brew install pirafrank/tap/poof
Note: Homebrew tap is automatically updated via GitHub Actions.
Nix and NixOS
Since version 0.6.1.
A flake is provided to install via Nix package manager or on NixOS:
Install into your Nix profile:
# install latest stable release (recommended)
nix profile install github:pirafrank/poof/latest
# or a specific version
nix profile install github:pirafrank/poof/<VERSION>
# for example:
nix profile install github:pirafrank/poof/v0.6.1
Or run without installing:
nix run github:pirafrank/poof/latest -- version
nix run github:pirafrank/poof/latest -- install someuser/somerepo
Development shell:
The flake does not ship a dedicated dev shell. Use the standard Cargo toolchain instead. Get more information in the dedicated README in the project repository.
Debian/Ubuntu
On Debian and Ubuntu distributions can also install using APT.
Supported architectures:
amd64(x86_64)arm64(aarch64)armhf(armv7)i386(i686)riscv64(riscv64gc)
Supported distributions:
- Debian 9 (stretch) and newer
- Ubuntu 16.04 (xenial) and newer
curl -fsSL https://pkg.fpira.com/apt/gpg.pub \
| sudo gpg --dearmor -o /usr/share/keyrings/poof.gpg
echo "deb [signed-by=/usr/share/keyrings/poof.gpg] https://pkg.fpira.com/apt stable main" \
| sudo tee /etc/apt/sources.list.d/poof.list
sudo apt update && sudo apt install poof
Verify the fingerprint of the PGP key used to sign packages:
9B7F 2A31 2F8E 4FEA 8AFC 70EE 65ED 9227 1B84 FFE5
Fedora, RHEL, CentOS, Amazon Linux
On Red-Hat and Amazon Linux distributions can also install using YUM or DNF.
Supported architectures:
x86_64aarch64
Supported distributions:
- RHEL 9 / CentOS Stream 9 / Fedora 36 and newer
- RHEL 8 / CentOS 8 / CentOS Stream 8 / Fedora (from 24 to 35)
- Amazon Linux 2023
- Amazon Linux 2
RHEL 9 / CentOS Stream 9 / Fedora 36 and newer
sudo rpm --import https://pkg.fpira.com/yum/gpg.pub
sudo tee /etc/yum.repos.d/poof.repo << EOF
[poof]
name=poof
baseurl=https://pkg.fpira.com/yum/el9/$(uname -m)/
enabled=1
gpgcheck=1
gpgkey=https://pkg.fpira.com/yum/gpg.pub
EOF
sudo dnf install poof
RHEL 8 / CentOS 8 / CentOS Stream 8 / Fedora 24-35
sudo rpm --import https://pkg.fpira.com/yum/gpg.pub
sudo tee /etc/yum.repos.d/poof.repo << EOF
[poof]
name=poof
baseurl=https://pkg.fpira.com/yum/el8/$(uname -m)/
enabled=1
gpgcheck=1
gpgkey=https://pkg.fpira.com/yum/gpg.pub
EOF
sudo dnf install poof
Amazon Linux 2023
sudo rpm --import https://pkg.fpira.com/yum/gpg.pub
sudo tee /etc/yum.repos.d/poof.repo << EOF
[poof]
name=poof
baseurl=https://pkg.fpira.com/yum/amzn2023/$(uname -m)/
enabled=1
gpgcheck=1
gpgkey=https://pkg.fpira.com/yum/gpg.pub
EOF
sudo dnf install poof
Amazon Linux 2
sudo rpm --import https://pkg.fpira.com/yum/gpg.pub
sudo tee /etc/yum.repos.d/poof.repo << EOF
[poof]
name=poof
baseurl=https://pkg.fpira.com/yum/amzn2/$(uname -m)/
enabled=1
gpgcheck=1
gpgkey=https://pkg.fpira.com/yum/gpg.pub
EOF
sudo yum install poof
Verify the fingerprint of the PGP key used to sign packages:
9B7F 2A31 2F8E 4FEA 8AFC 70EE 65ED 9227 1B84 FFE5
Arch Linux (AUR)
Arch Linux users can also install poof from the
AUR using an helpers
like yay or paru:
yay -S poof-bin
or
paru -S poof-bin
Alternatively, install it manually:
git clone https://aur.archlinux.org/poof-bin.git
cd poof-bin
makepkg -si
Note: AUR publishing is powered by AURA.
Alpine Linux (APK)
On Alpine Linux you can also install via APK.
Supported architectures:
x86_64aarch64armv7riscv64
Supported versions:
We support the last four stable Alpine versions.
- Alpine 3.23
- Alpine 3.22
- Alpine 3.21
- Alpine 3.20
You can always use other install methods (e.g. install script, or manual download from releases) to bring musl builds to older Alpine versions.
wget -q -O /etc/apk/keys/signing-key.rsa.pub \
https://pkg.fpira.com/apk/signing-key.rsa.pub
ALPINE_VERSION=$(cat /etc/alpine-release | cut -d. -f1,2)
echo "https://pkg.fpira.com/apk/v${ALPINE_VERSION}" \
>> /etc/apk/repositories
apk update && apk add poof
Verify the fingerprint of the RSA key used to sign packages:
SHA256:WZS7xVeXcpIb+5Nje9cOWQ2dSTdJuRZtBKpbRamh1uI
asdf
Install poof using the asdf version manager:
- Add the poof plugin
asdf plugin add poof https://github.com/pirafrank/asdf-poof.git
- Install the latest version
asdf install poof latest
- Set as global version:
- on asdf 0.16+ use:
asdf set --home poof latest
- on asdf 0.15 and earlier use:
asdf global poof latest
cargo binstall
If you have binstall, you can
get the binary using cargo and skip compilation:
cargo binstall poof
From crates.io
Build and install the latest release from crates.io
using cargo:
cargo install --locked poof
From source
Build and install from tags in source code on GitHub:
cargo install --locked --git https://github.com/pirafrank/poof --tag VERSION
Replace VERSION with the desired version to install. Not specifying a tag will
install from main branch. Read section below for more info.
Edge Release
Build and install from source code on main branch on GitHub.
While the main branch may be considered stable, it may ship unreleased
software with bugs or breaking changes not yet documented here or in
CHANGELOG.md.
It should be considered beta quality software.
cargo install --locked --git https://github.com/pirafrank/poof
Next Steps
After installation, proceed to configure your shell to add poof to your PATH.