- Remove inaccurate macOS/Windows claims - Clarify this is a Linux/Unix program - Update CI to only test Linux builds - Remove misleading 'coming soon' language
176 lines
2.8 KiB
Markdown
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/Unix system** - Designed for Unix-like operating systems
|
|
- **xclip or wl-clipboard** - For clipboard support (X11/Wayland)
|
|
|
|
## 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`
|
|
- Arch: `sudo pacman -S xclip` or `sudo pacman -S wl-clipboard`
|
|
- Other distributions: Install `xclip` or `wl-clipboard` from your package manager
|
|
|
|
## 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
|
|
```
|