Linite is a Ninite-style package installer for Linux distributions and Windows. It aggregates applications from multiple package sources (APT, DNF, Pacman, Zypper, Nix, Flatpak, Snap, AUR, Homebrew, Winget, Scoop) and generates a installation commands based on your platform and preferences.
Instead of manually searching for packages across different repositories and running multiple package manager commands, Linite provides a web interface to select applications and outputs a single, ready-to-run installation script.
Visit website, select your apps and distribution, then copy the generated command.
Example output for Ubuntu 24.04:
# Setup
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
# Install
sudo apt install -y firefox git
flatpak install -y flathub org.videolan.VLC com.visualstudio.code
Linite integrates with native package managers (APT, DNF, Pacman, Zypper, Nix, Winget), universal formats (Flatpak, Snap), community repositories (AUR, Homebrew, Scoop), and script-based installations. The package selection algorithm prioritizes sources based on distribution defaults and user preferences.
For each application, Linite queries available packages across sources and selects the optimal one based on:
- Distribution-specific source priorities
- User-configured preferences
- Package availability and version information
The command generator groups packages by source and includes necessary setup commands (e.g., adding Flatpak remotes).
Package information is synchronized every 24 hours from:
- Flathub - Flatpak packages
- Snapcraft - Snap packages
- AUR - Arch User Repository
- Homebrew - Homebrew formulae
- NixHub - Nix packages
- Winget - Windows Package Manager
- Scoop - Windows Package Manager
- Repology - Cross-platform package tracking
This ensures version numbers, licenses, and availability status stay current across all platforms.
The application database currently includes 170+ applications organized into 10 categories. Administrators can manage apps, packages, and source mappings through an authenticated admin interface.
Debian Family
- Ubuntu: APT, Flatpak, Snap, Npm, Pip, Go, Cargo, Script
- Debian: APT, Flatpak, Snap, Npm, Pip, Go, Cargo, Script
- Linux Mint: APT, Flatpak, Script
- Pop!_OS: APT, Flatpak, Snap, Script
- Zorin OS: APT, Flatpak, Snap, Script
- Elementary OS: APT, Flatpak, Snap, Script
RHEL/Fedora Family
- Fedora: DNF, Flatpak, Snap, Script
- Nobara: DNF, Flatpak, Snap, Script
- Bazzite: Flatpak, Homebrew, Snap, Script
Arch Family
- Arch Linux: Pacman, AUR, Flatpak
- Manjaro: Pacman, AUR, Flatpak, Snap
- CachyOS: Pacman, AUR, Flatpak
Other
- openSUSE: Zypper, Flatpak
- NixOS: Nix, Flatpak, Snap
- Windows: Winget, Scoop
All distributions support script-based installations as a fallback. Additional platforms can be added by mapping package manager support in the database.
Frontend: Next.js 16 (App Router) with TypeScript, React, and Tailwind CSS UI Components: shadcn/ui Database: Turso (libSQL) with Drizzle ORM Authentication: BetterAuth Storage: Azure Blob Storage (app icons) APIs: Flathub, Snapcraft, AUR, Repology Deployment: Vercel
See docs/PROJECT_OVERVIEW.md for detailed architecture documentation.
- Bun package manager
- Turso database (or local libSQL)
- Azure Blob Storage account (for icon uploads)
# Install dependencies
bun install
# Configure environment variables
cp .env.example .env
# Edit .env with your credentials
# Validate environment setup
bun run check-env
# Run database migrations
bun run db:migrate
# Seed initial data
bun run db:seed
# Start development server
bun run dev
bun run db:generate # Generate migrations from schema changes
bun run db:migrate # Apply migrations
bun run db:push # Push schema directly (development)
bun run db:studio # Open Drizzle Studio
bun run db:wipe # Clear all data
bun run db:seed # Populate initial data
bun test # Watch mode
bun test:run # Run once
bun test:coverage # With coverage report
239 tests covering API routes, services, and UI components. Tests are co-located with source files (*.test.ts, *.test.tsx).
- API Reference - Endpoint specifications
- Database Schema - Complete schema definition
- Environment Variables - Configuration reference
Contributions are welcome. Please open an issue to discuss significant changes before submitting PRs. See CONTRIBUTING.md for guidelines.
Common contributions:
- Adding applications to the catalog
- Expanding distribution support
- Improving package selection algorithms
- Bug fixes and performance improvements
MIT License - see LICENSE for details.
Inspired by Ninite. Package data provided by Flathub, Snapcraft, AUR, Homebrew, NixHub, Winget, and Repology. UI components from shadcn/ui.
