# Try in Docker

If you prefer to try it before installing, here's the snippet for your convenience.

    docker run -w / -it --rm ubuntu sh -uec '
      apt-get update -y
      apt-get install -y wget tar vim less
      wget https://github.com/sayanarijit/xplr/releases/latest/download/xplr-linux.tar.gz
      tar -xzvf xplr-linux.tar.gz
      ./xplr
    '

# Install

You can install xplr using one of the following ways. Each has their own advantages and limitations.

For example, the Direct Download, From crates.io, and Build From Source methods allow the users to install the latest possible version of xplr, but they have one common drawback - the user will need to keep an eye on the releases, and manually upgrade xplr when a new version is available.

One way to keep an eye on the releases is to watch the repository.

## Community Maintained Repositories

xplr can be installed from one of the following community maintained repositories:

### Cross-platform

#### Nixpkgs

    nix-env -f https://github.com/NixOS/nixpkgs/tarball/master -iA xplr

Or

    # configuration.nix or darwin-configuration.nix
    environment.systemPackages = with nixpkgs; [
      xplr
      # ...
    ];

#### Home Manager

    # home.nix
    home.packages = with nixpkgs; [
      xplr
      # ...
    ];

Or

    # home.nix
    programs.xplr = {
      enable = true;

      # Optional params:
      plugins = {
        tree-view = fetchFromGitHub {
          owner = "sayanarijit";
          repo = "tree-view.xplr";
        };
        local-plugin = "/home/user/.config/xplr/plugins/local-plugin";
      };
      extraConfig = ''
        require("tree-view").setup()
        require("local-plugin").setup()
      '';
    };

### Arch Linux

(same for Manjaro Linux)

#### Official Community Repo

    sudo pacman -S xplr

#### AUR

Git version:

    paru -S xplr-git

### Alpine Linux

#### Edge Testing Repo

    # Add the following line in /etc/apk/repositories:
    # https://dl-cdn.alpinelinux.org/alpine/edge/testing

    apk add xplr bash less

### Void Linux

#### void-templates by shubham

### Gentoo

#### Overlay GURU

### macOS

Make sure you have the latest version of GNU core utilities installed.

#### MacPorts

    sudo port selfupdate
    sudo port install xplr

#### Homebrew

Stable branch:

    brew install xplr

HEAD branch:

    brew install --head xplr

### FreeBSD

#### ports

    pkg install xplr

Or

    cd /usr/ports/misc/xplr
    make install clean

### NetBSD

#### pkgsrc

    pkgin install xplr

Or

    cd /usr/pkgsrc/sysutils/xplr
    make install

## Direct Download

One can directly download the standalone binary from the releases.

Currently, the following options are available for direct download:

- GNU/Linux
- Linux musl
- macOS

Command-line instructions:

    platform="linux"  # or "macos" / "linux-musl"

    # Download
    wget https://github.com/sayanarijit/xplr/releases/latest/download/xplr-$platform.tar.gz

    # Extract
    tar xzvf xplr-$platform.tar.gz

    # Place in $PATH
    sudo mv xplr /usr/local/bin/

## From crates.io

Prerequisites:

- Rust toolchain,
- gcc
- make

Command-line instructions:

    cargo install --locked --force xplr

## Build From Source

Prerequisites:

- git
- Rust toolchain
- gcc
- make

Command-line instructions:

    # Clone the repository
    git clone https://github.com/sayanarijit/xplr.git
    cd xplr

    # Build
    cargo build --locked --release --bin xplr

    # Place in $PATH
    sudo cp target/release/xplr /usr/local/bin/

## Android

### Termux

    pkg install rust make binutils
    cargo install --locked xplr

    # Run
    ~/.cargo/bin/xplr

> Please note that xplr isn't heavily tested on Termux, hence things might need a little tweaking and fixing for a smooth user experience.