PassAGE/INSTALL.md
fraggle 388c14426c Update README for accurate cross-platform support
- Clarify clipboard support is Linux-only (X11/Wayland)
- Remove unnecessary documentation files (SETUP.md, CODE_STRUCTURE.md, CHANGELOG.md)
- Update installation prerequisites
2026-01-11 18:57:11 -04:00

176 lines
2.8 KiB
Markdown

# 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/Windows** - Core functionality works on all platforms
- **xclip or wl-clipboard** (Linux only) - For clipboard support. macOS/Windows clipboard coming soon
## 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
```