TuxMate is a web-based Linux application installer that generates distro-specific shell scripts, that aims to be the simplest way to bulk-install applications on a fresh Linux system.
Maybe you've just installed a fresh Linux distro. Perhaps you're setting up a new machine or can't remember all the package names for your favorite apps?
- Ubuntu / Debian (apt)
- Arch Linux (pacman + AUR)
- Fedora (dnf)
- openSUSE (zypper)
- Nix (nix-env)
- Flatpak
- Snap
150+ applications across 15 categories: browsers, communication, dev tools, terminals, media, creative software, gaming, office, VPN/network, security, and more.
- Detects already-installed packages
- Handles AUR packages automatically on Arch
- Enables RPM Fusion when needed on Fedora
- Parallel installation for Flatpak
- Network retry with exponential backoff
- Progress bars with ETA
- Colored output and summary reports
Shows which apps are available for your selected distro, with instructions for unavailable packages.
src/
βββ app/ # Next.js app router
β βββ page.tsx # Main page component
β βββ layout.tsx # Root layout with meta tags
β βββ globals.css # Tailwind styles
βββ components/
β βββ app/ # App cards & categories
β βββ command/ # Command footer & AUR bar
β βββ common/ # Tooltips, loading states
β βββ distro/ # Distribution selector
β βββ header/ # Header & theme toggle
β βββ ui/ # Base UI components
βββ hooks/ # React hooks
β βββ useLinuxInit.ts # Main app state management
β βββ useKeyboardNavigation.ts
β βββ useTheme.ts
β βββ useDelayedTooltip.ts
βββ lib/
β βββ data.ts # Apps, distros, icons
β βββ aur.ts # AUR package detection
β βββ analytics.ts # Umami tracking
β βββ generateInstallScript.ts
β βββ scripts/ # Per-distro script generators
βββ __tests__/ # Vitest unit tests
# Build the Docker image
docker build -t tuxmate:latest .
# Run the container
docker run -p 3000:3000 tuxmate:latestPre-built Docker images are automatically published to GitHub Container Registry:
# Pull and run the latest image
docker pull ghcr.io/abusoww/tuxmate:latest
docker run -p 3000:3000 ghcr.io/abusoww/tuxmate:latest
# Or use a specific version
docker pull ghcr.io/abusoww/tuxmate:v1.0.0
docker run -p 3000:3000 ghcr.io/abusoww/tuxmate:v1.0.0# Start the application
docker-compose up -d
# View logs
docker-compose logs -f
# Stop the application
docker-compose downThe Docker container exposes port 3000 by default. You can customize the port mapping:
docker run -p 8080:3000 tuxmate:latestThe following environment variables are configured by default:
NODE_ENV=production- Run in production modePORT=3000- Application portNEXT_TELEMETRY_DISABLED=1- Disable Next.js anonymous telemetry
You can override these when running the container:
docker run -p 3000:3000 \
-e PORT=3000 \
-e NEXT_TELEMETRY_DISABLED=1 \
tuxmate:latest- Next.js 16 (App Router)
- React 19
- TypeScript
- Tailwind CSS 4
- Framer Motion
- GSAP
- Vitest (testing)
- Lucide React (icons)
you can use the Arrow Keys orΒ hΒ jΒ kΒ lΒ to navigate,Β Enter to select, Esc to go back, Space to toggle selection.
- Select your distribution from the dropdown
- Browse categories and select applications
- Copy the generated command or download the full install script
- Run the script on your Linux machine
See CONTRIBUTING.md for contribution guidelines.
- Multi-distro support (Ubuntu, Debian, Arch, Fedora, openSUSE)
- Nix, Flatpak & Snap universal package support
- 150+ applications across 15 categories
- Smart script generation with error handling
- Dark / Light theme toggle with smooth animations
- Copy command & Download script
- Custom domain
- Docker support
- CI/CD shortcuts & workflow
- Search & filter applications (Real-time)
- AUR Helper selection (yay/paru) + Auto-detection
- Keyboard navigation (Vim keys, Arrows, Space, Esc, Enter)
- Package availability indicators (including AUR badges)
- Winget support (Windows)
- Homebrew support (macOS)
- Save custom presets / profiles
- Share configurations via URL
- More distros (Gentoo, Void, Alpine)
- PWA support for offline use
- Companion CLI tool
- Expand application catalog (200+)
- Dotfiles integration
- LinuxToys β User-friendly collection of tools for Linux with an intuitive interface
- Nixite β Generates bash scripts to install Linux software, inspired by Ninite
- tuxmate-cli β CLI companion for tuxmate, uses tuxmate's package database
Licensed under the GPL-3.0 License
Free software β you can redistribute and modify it under the terms of the GNU General Public License.



