Stable v1.0.2

🏰 fortress

Terminal file explorer written in modern Fortran with git integration

A terminal file explorer written in modern Fortran (2008+) featuring dual-pane navigation, integrated git operations, fuzzy search, move mode, multi-select clipboard, and an intuitive keyboard-driven interface. Native binary compilation for fast startup and minimal resource usage.

🎯 RPM Available 🏛️ AUR Available

Installation

fortress is available for Fedora/RHEL, Arch Linux (AUR), macOS (Homebrew), and can be built from source using the Fortran Package Manager (fpm).

Fedora / RHEL 9

# Add the musicsian repository (first time only) sudo dnf config-manager --add-repo https://repos.musicsian.com/musicsian.repo # Install fortress sudo dnf install fortress

Arch Linux (AUR)

# Install via AUR helper yay -S fortress

macOS (Homebrew)

# Tap the repository and install brew tap FortranGoingOnForty/fortress brew install fortress

From Source (fpm)

# Prerequisites: gfortran 10+, fpm, fzf, git # Install fpm if needed cargo install fpm # or download from GitHub releases # Clone and build git clone https://github.com/FortranGoingOnForty/fortress.git cd fortress fpm build --flag "-O2 -ffree-line-length-none" # Run directly ./build/gfortran_*/app/fortress

Shell Integration

For the cd-on-exit feature to work (press c to change directory and exit), you must source the shell integration script. This wraps the binary and reads the target directory after fortress exits.

Bash / Zsh

Add to your ~/.bashrc or ~/.zshrc:

# Add to ~/.bashrc or ~/.zshrc source /usr/share/fortress/fortress.sh # Alternative location (system-wide) source /etc/profile.d/fortress.sh

Fish

Add to your ~/.config/fish/config.fish:

# Add to ~/.config/fish/config.fish source /usr/share/fortress/fortress.fish # Note: May auto-load from vendor_functions.d

Quick Start

Launch fortress in the current directory and start exploring:

# Start fortress in current directory fortress # Basic navigation ↑/↓ - Move through file list → - Enter directory ← - Go to parent q - Quit

Dependencies

  • Build: gfortran ≥ 10.0, fpm (Fortran Package Manager), gcc
  • Runtime: fzf (fuzzy finder), git
  • Link: ncurses (linked at build time)