English | 日本語 | 简体中文 | 繁體中文 | Русский | Українська | فارسی | العربية
AN is a unified package manager for Debian/Ubuntu-based Linux distributions.
Manage .deb, AppImage, and Flatpak packages through a single interface while keeping your system clean.
- Unified Interface: Manage all package formats with
an install/an remove - Complete Removal: Purge config files, dependencies, and user data completely
- Transparency: Display URLs for remote installations and require user confirmation
- Flatpak Aliases: Run
flatpak run org.gimp.GIMPas simplygimp
curl -fsSL https://raw.githubusercontent.com/clearclown/AN/main/install.sh | bash# From crates.io
cargo install an-installer
# Directly from GitHub
cargo install --git https://github.com/clearclown/AN# yay (stable version)
yay -S an-installer
# paru (stable version)
paru -S an-installer
# Development version
yay -S an-installer-git
paru -S an-installer-git# Using Flakes
nix profile install github:clearclown/AN
# Temporary usage
nix run github:clearclown/AN -- --helpbrew tap clearclown/an
brew install an# Add PPA (Coming soon)
sudo add-apt-repository ppa:clearclown/an
sudo apt update
sudo apt install an-installer# From Snap Store (Coming soon)
sudo snap install an-installer --classicDownload binaries from Releases:
| Architecture | Filename |
|---|---|
| x86_64 | an-linux-x86_64 |
| aarch64 (ARM64) | an-linux-aarch64 |
# Example: x86_64
wget https://github.com/clearclown/AN/releases/latest/download/an-linux-x86_64
chmod +x an-linux-x86_64
sudo mv an-linux-x86_64 /usr/local/bin/angit clone https://github.com/clearclown/AN
cd AN
cargo build --release
sudo cp target/release/an /usr/local/bin/# Install remote application
an install firefox
# Install local .deb file
an install ~/Downloads/vscode.deb
# Install local AppImage
an install ~/Downloads/Obsidian.AppImage# Complete removal (including config files)
an remove firefox
an rm vscode
an uninstall obsidian# Create aliases for all Flatpak apps
an link# Update AN itself and app database
an update# List installed applications
an list
# Search available applications
an search browser
an search # List all apps
# Display application details
an info firefox
# Sync app database from GitHub
an sync| Command | Aliases | Description |
|---|---|---|
an install <target> |
i |
Install an application |
an remove <target> |
rm, uninstall |
Completely remove an application |
an link |
l |
Generate Flatpak aliases |
an update |
- | Update AN and database |
an list |
ls |
List installed applications |
an search [query] |
s |
Search app database |
an info <name> |
- | Display application details |
an sync |
- | Sync app database from GitHub |
┌───────────────────────────────────────────────────────────────┐
│ CLI Layer │
│ (clap derive macros) │
├───────────────────────────────────────────────────────────────┤
│ Command Layer │
│ install │ remove │ link │ update │ list │ search │ info │ sync │
├───────────────────────────────────────────────────────────────┤
│ Handler Layer │
│ deb │ appimage │ flatpak │ remote │
├───────────────────────────────────────────────────────────────┤
│ DB Layer │
│ TOML App Database │
└───────────────────────────────────────────────────────────────┘
| Purpose | Path |
|---|---|
| Executable | /usr/local/bin/an or ~/.local/bin/an |
| AppImage Storage | ~/Applications/ |
| Symbolic Links | ~/.local/bin/ |
| Config/Cache | ~/.config/an/ |
- Rust 1.70+
- Linux (Debian/Ubuntu-based)
# Development build
cargo build
# Run tests
cargo test
# Release build
cargo build --releaseAN/
├── src/ # Rust source code
│ ├── commands/ # Subcommand implementations
│ ├── handlers/ # Package format handlers
│ ├── db/ # App database layer
│ └── utils/ # Utilities
├── apps/ # App database (TOML)
├── docs/ # Documentation
│ ├── spec/ # Feature specifications
│ ├── design/ # Design & state machine diagrams
│ └── guides/ # User guides
└── tests/ # Tests
- Feature Specifications
- Design Documents
- User Guides
- CLAUDE.md - Developer Guide
MIT License - See LICENSE for details
This project is inspired by AM (App Manager).