Complete installation instructions for all platforms and methods.
# From PPA (recommended)
sudo add-apt-repository ppa:hyperpolymath/tree-navigator
sudo apt update
sudo apt install tree-navigator
# From DEB package
wget https://gitlab.com/hyperpolymath/tree-navigator/-/releases/v2.0.0/downloads/tree-navigator_2.0.0_amd64.deb
sudo dpkg -i tree-navigator_2.0.0_amd64.deb# From Copr (recommended)
sudo dnf copr enable hyperpolymath/tree-navigator
sudo dnf install tree-navigator
# From RPM package
sudo dnf install https://gitlab.com/hyperpolymath/tree-navigator/-/releases/v2.0.0/downloads/tree-navigator-2.0.0-1.x86_64.rpm# From AUR
yay -S tree-navigator
# Or manually
git clone https://aur.archlinux.org/tree-navigator.git
cd tree-navigator
makepkg -si# Homebrew
brew install tree-navigator
# MacPorts
sudo port install tree-navigatorflatpak install flathub com.gitlab.hyperpolymath.TreeNavigator
flatpak run com.gitlab.hyperpolymath.TreeNavigatorsudo snap install tree-navigator# Install dependencies
sudo dnf install gcc-gnat gprbuild # Fedora
sudo apt install gnat-13 gprbuild # Debian/Ubuntu
# Clone and build
git clone https://gitlab.com/hyperpolymath/tree-navigator.git
cd tree-navigator
gprbuild -P tree_navigator.gpr -XBuild_Mode=release
# Install
sudo cp bin/main /usr/local/bin/tn
sudo cp man/tree-navigator.1 /usr/local/share/man/man1/
sudo gzip /usr/local/share/man/man1/tree-navigator.1
sudo mandbTree Navigator installs as tree-navigator, but we recommend the short alias tn (Tree Navigator).
- ✅ Short and memorable
- ✅ Doesn't conflict with existing commands
- ✅ Meaningful: Tree Navigator
- ✅ Fast to type
- ✅ Consistent across all shells
# This adds the alias to your shell config automatically
tree-navigator --install-aliasThis will detect your shell and add alias tn='tree-navigator' to the appropriate config file.
echo "alias tn='tree-navigator'" >> ~/.bashrc
source ~/.bashrcecho "alias tn='tree-navigator'" >> ~/.zshrc
source ~/.zshrcecho "alias tn='tree-navigator'" >> ~/.config/fish/config.fish
source ~/.config/fish/config.fishecho "alias tn = tree-navigator" >> ~/.config/nushell/config.nuecho "alias tn tree-navigator" >> ~/.tcshrc
source ~/.tcshrcecho "alias tn='tree-navigator'" >> ~/.profile
. ~/.profile# Full command
tree-navigator --version
# With alias
tn --version
# Both should output:
# tree-navigator 2.0.0 (Ada 2022)# Export directory tree
tn --export output.txt --max-depth 5
# Exclude common directories
tn --export clean.txt --exclude-dirs "node_modules,target,obj,bin"
# Show only executables
tn --export bins.txt --only-type executable
# Interactive mode
tn
# Show help
tn --help
# View man page
man tree-navigatorFor manual system-wide installation:
# After building
sudo install -m 755 bin/main /usr/local/bin/tn
sudo install -m 644 man/tree-navigator.1 /usr/local/share/man/man1/
sudo gzip -f /usr/local/share/man/man1/tree-navigator.1
sudo mandb
# Create symlink for full name
sudo ln -s /usr/local/bin/tn /usr/local/bin/tree-navigatorNow both tn and tree-navigator will work!
# Build
gprbuild -P tree_navigator.gpr -XBuild_Mode=release
# Install to user directory
mkdir -p ~/.local/bin
cp bin/main ~/.local/bin/tn
# Add to PATH (if not already)
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc
# Man page
mkdir -p ~/.local/share/man/man1
cp man/tree-navigator.1 ~/.local/share/man/man1/
gzip -f ~/.local/share/man/man1/tree-navigator.1
# Update MANPATH
echo 'export MANPATH="$HOME/.local/share/man:$MANPATH"' >> ~/.bashrc
source ~/.bashrc# Debian/Ubuntu
sudo apt remove tree-navigator
# Fedora/RHEL
sudo dnf remove tree-navigator
# Arch
sudo pacman -R tree-navigator
# Flatpak
flatpak uninstall com.gitlab.hyperpolymath.TreeNavigator
# Snap
sudo snap remove tree-navigatorsudo rm -f /usr/local/bin/tn
sudo rm -f /usr/local/bin/tree-navigator
sudo rm -f /usr/local/share/man/man1/tree-navigator.1.gz
sudo mandb
# Remove alias from shell config
# Edit ~/.bashrc, ~/.zshrc, etc. and remove the line:
# alias tn='tree-navigator'# Check if installed
which tn
which tree-navigator
# Check PATH
echo $PATH
# Verify binary location
ls -l /usr/local/bin/tn# Make executable
chmod +x /usr/local/bin/tn# Update man database
sudo mandb
# Check MANPATH
echo $MANPATH
# Verify man page exists
ls -l /usr/local/share/man/man1/tree-navigator.1.gz- libgnat-13 or libgnat-15
- GNAT Ada Compiler (GCC 13+)
- GPRbuild
- Make (optional)
# Debian/Ubuntu
sudo apt update && sudo apt upgrade tree-navigator
# Fedora/RHEL
sudo dnf upgrade tree-navigator
# Arch
yay -Syu tree-navigatorcd tree-navigator
git pull origin main
gprbuild -P tree_navigator.gpr -XBuild_Mode=release
sudo cp bin/main /usr/local/bin/tn# Use Flatpak or toolbox
flatpak install com.gitlab.hyperpolymath.TreeNavigator
# Or in toolbox
toolbox create
toolbox enter
sudo dnf install tree-navigator# In configuration.nix
environment.systemPackages = with pkgs; [
tree-navigator
];# Use Ubuntu/Debian instructions in WSL
sudo apt install tree-navigator- Documentation: https://gitlab.com/hyperpolymath/tree-navigator/-/wikis/home
- Issues: https://gitlab.com/hyperpolymath/tree-navigator/-/issues
- Man Page:
man tree-navigator - Built-in Help:
tn --help
After installation:
- Read the User Guide
- Try the examples:
tn --help - Set up shell completion (if available)
- Explore interactive mode:
tn
Installed successfully? Share your experience or report issues at: https://gitlab.com/hyperpolymath/tree-navigator/-/issues