PassAGE/INSTALL.md
fraggle 3552db50c2 Initial commit: PassAGE password manager
- AGE encryption with master password model
- Core commands: init, show, insert, edit, generate, rm, mv, cp, find, grep, ls
- Git integration for version control
- Clipboard support (X11 and Wayland)
- Secure password generation
- Backup and restore functionality
- Comprehensive security features
- Complete documentation
2026-01-11 18:48:01 -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/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
```