# Installation Guide Complete installation instructions for PassAGE. **Quick Install:** `go install git.fraggle.lol/fraggle/PassAGE@latest` ## Quick Install ### Using Go (Recommended) ```bash go install git.fraggle.lol/fraggle/PassAGE@latest ``` ### From Source ```bash # Clone repository git clone https://git.fraggle.lol/fraggle/PassAGE.git cd PassAGE # Build and install make install # Or for user installation (no sudo) make install-user ``` ## System Requirements - **Go 1.21 or later** - Required for building from source - **Linux/macOS/Unix-like system** - Windows support may vary - **X11 or Wayland** - For clipboard support (optional) ## Build Dependencies ### Required - Go toolchain (1.21+) ### Optional - **pandoc** - For building manpages - Debian/Ubuntu: `sudo apt-get install pandoc` - macOS: `brew install pandoc` - Or use `go-md2man`: `go install github.com/cpuguy83/go-md2man/v2@latest` ## Installation Steps ### 1. Clone the Repository ```bash git clone https://git.fraggle.lol/fraggle/PassAGE.git cd passage ``` ### 2. Download Dependencies ```bash go mod download ``` This downloads all required Go modules. ### 3. Build ```bash # Simple build go build -o passage . # Or use Makefile make build # Release build (optimized, smaller) make build-release ``` ### 4. Install **System-wide (requires sudo):** ```bash sudo make install ``` **User installation (no sudo):** ```bash make install-user ``` ### 5. Install Manpage (Optional) **System-wide:** ```bash make man sudo make install-man ``` **User installation:** ```bash make man make install-user-man ``` ## Verify Installation ```bash # Check version passage version # View help passage help # View manpage (if installed) man passage ``` ## Troubleshooting ### Build Fails 1. **Check Go version:** ```bash go version # Should be 1.21 or later ``` 2. **Verify dependencies:** ```bash go mod verify go mod tidy ``` 3. **Clean and rebuild:** ```bash make clean make build ``` ### Manpage Won't Build Install `pandoc`: - Debian/Ubuntu: `sudo apt-get install pandoc` - macOS: `brew install pandoc` Or use `go-md2man`: ```bash go install github.com/cpuguy83/go-md2man/v2@latest ``` ### Clipboard Doesn't Work Ensure you have clipboard tools installed: - X11: `xclip` or `xsel` - Wayland: `wl-clipboard` Install: - Debian/Ubuntu: `sudo apt-get install xclip` or `sudo apt-get install wl-clipboard` - macOS: Clipboard works natively - Arch: `sudo pacman -S xclip` or `sudo pacman -S wl-clipboard` ## Uninstallation ```bash # Remove binary sudo rm /usr/local/bin/passage # or rm ~/.local/bin/passage # Remove manpage sudo rm /usr/local/share/man/man1/passage.1 # or rm ~/.local/share/man/man1/passage.1 # Update man database sudo mandb # or mandb ~/.local/share/man ```