{"id":32809046,"url":"https://github.com/stefan-hacks/fza","last_synced_at":"2026-04-30T12:33:25.152Z","repository":{"id":322724029,"uuid":"1090652657","full_name":"stefan-hacks/fza","owner":"stefan-hacks","description":"Lightning-fast package search with fuzzy finding","archived":false,"fork":false,"pushed_at":"2025-11-26T21:58:20.000Z","size":25,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-04-30T12:33:17.851Z","etag":null,"topics":["apt","bat","debian","fzf","linux","nala","ubuntu"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/stefan-hacks.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-11-06T00:39:00.000Z","updated_at":"2025-11-26T21:58:24.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/stefan-hacks/fza","commit_stats":null,"previous_names":["stefan-hacks/fza"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/stefan-hacks/fza","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stefan-hacks%2Ffza","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stefan-hacks%2Ffza/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stefan-hacks%2Ffza/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stefan-hacks%2Ffza/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/stefan-hacks","download_url":"https://codeload.github.com/stefan-hacks/fza/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stefan-hacks%2Ffza/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32465009,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-29T22:27:22.272Z","status":"online","status_checked_at":"2026-04-30T02:00:05.929Z","response_time":57,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["apt","bat","debian","fzf","linux","nala","ubuntu"],"created_at":"2025-11-06T21:00:28.605Z","updated_at":"2026-04-30T12:33:25.130Z","avatar_url":"https://github.com/stefan-hacks.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# fza - Fuzzy APT Package Manager\n\n\u003cdiv align=\"center\"\u003e\n\n![Version](https://img.shields.io/badge/version-2.3.1-blue.svg)\n![License](https://img.shields.io/badge/license-MIT-green.svg)\n![Platform](https://img.shields.io/badge/platform-Debian%20%7C%20Ubuntu-orange.svg)\n\n**A beautiful, interactive terminal package manager powered by nala, fzf, and bat**\n\n[Features](#features) • [Installation](#installation) • [Usage](#usage) • [Keybinds](#keybinds) • [Screenshots](#screenshots)\n\n\u003c/div\u003e\n\n---\n\n## 🌟 Features\n\n- 🔍 **Fuzzy Search** - Lightning-fast package search with fuzzy finding\n- 🎨 **Syntax Highlighting** - Beautiful syntax highlighting for package info with bat\n- 🖼️ **Interactive Previews** - Real-time package information in preview panes\n- ⚡ **Fast Operations** - Powered by nala for faster package management\n- 🎯 **Multi-Select** - Select multiple packages at once with Tab\n- 📊 **Statistics** - View detailed package statistics\n- 📜 **History Tracking** - All operations logged for reference\n- 🌐 **Mirror Management** - Benchmark and configure mirrors with nala fetch\n- ⌨️ **Rich Keybinds** - Extensive keyboard shortcuts for efficient navigation\n- 🎭 **Hidden Previews** - Preview windows hidden by default, toggle with `Ctrl+/`\n\n---\n\n## 📋 Requirements\n\n- **Debian-based distribution** (Debian, Ubuntu, Linux Mint, Pop!_OS, etc.)\n- **fzf** - Fuzzy finder\n- **bat** or **batcat** - Syntax highlighter\n- **nala** (optional, falls back to apt) - Fast package manager\n- **sudo** privileges for package operations\n\n---\n\n## 🚀 Installation\n\n### Quick Install (Recommended)\n\n```bash\n# Download the script\ncurl -o fza https://raw.githubusercontent.com/stefan-hacks/fza/main/fza.sh\n\n# Make it executable\nchmod +x fza\n\n# Move to system path\nsudo mv fza /usr/local/bin/\n\n# Install dependencies\nsudo apt update\nsudo apt install -y nala fzf bat\n\n# Optional: Install nala for better performance\necho \"deb https://deb.volian.org/volian/ scar main\" | sudo tee /etc/apt/sources.list.d/volian-archive-scar-unstable.list\nwget -qO - https://deb.volian.org/volian/scar.key | sudo tee /etc/apt/trusted.gpg.d/volian-archive-scar-unstable.gpg \u003e /dev/null\nsudo apt update \u0026\u0026 sudo apt install -y nala\n```\n\n### Manual Installation\n\n1. **Clone the repository:**\n```bash\ngit clone https://github.com/stefan-hacks/fza.git\ncd fza\n```\n\n2. **Install dependencies:**\n```bash\nsudo apt update\nsudo apt install -y nala fzf bat\n```\n\n3. **Install nala (optional but recommended):**\n```bash\necho \"deb https://deb.volian.org/volian/ scar main\" | sudo tee /etc/apt/sources.list.d/volian-archive-scar-unstable.list\nwget -qO - https://deb.volian.org/volian/scar.key | sudo tee /etc/apt/trusted.gpg.d/volian-archive-scar-unstable.gpg \u003e /dev/null\nsudo apt update \u0026\u0026 sudo apt install -y nala\n```\n\n4. **Make executable and install:**\n```bash\nchmod +x fza.sh\nsudo cp fza.sh /usr/local/bin/fza\n```\n\n5. **Verify installation:**\n```bash\nfza --help\n```\n\n---\n\n## 💻 Usage\n\n### Interactive Mode (Recommended)\n\nSimply run fza with sudo to open the interactive menu:\n\n```bash\nsudo fza\n```\n\nNavigate through the beautiful menu to:\n- Search and install packages\n- Remove packages\n- List installed packages\n- Update package lists\n- Upgrade all packages\n- View package information\n- And more!\n\n### Command Line Mode\n\nfza also supports direct command-line operations:\n\n```bash\n# Search for packages (interactive)\nfza search\n\n# Search for specific package\nfza search firefox\n\n# Install packages (interactive)\nsudo fza install\n\n# Install specific packages\nsudo fza install firefox vlc\n\n# Remove packages (interactive)\nsudo fza remove\n\n# Remove specific packages\nsudo fza remove firefox\n\n# Update package lists\nsudo fza update\n\n# Upgrade all packages\nsudo fza upgrade\n\n# List installed packages\nfza list\n\n# Show package information\nfza info firefox\n\n# View operation history\nfza history\n\n# Show package statistics\nfza stats\n\n# Benchmark and configure mirrors (nala only)\nsudo fza fetch\n```\n\n### Command Aliases\n\nShort forms are also supported:\n\n```bash\nsudo fza i          # install\nsudo fza r          # remove\nfza s               # search\nsudo fza u          # update\nsudo fza U          # upgrade\nfza l               # list\nfza h               # history\nfza t               # stats\n```\n\n---\n\n## ⌨️ Keybinds\n\n### Main Navigation\n| Key | Action |\n|-----|--------|\n| `↑`/`↓`, `j`/`k` | Navigate up/down |\n| `Ctrl+p`/`n` | Navigate up/down (alternative) |\n| `Ctrl+g` | Jump to top |\n| `Alt+g` | Jump to bottom |\n| `Page Up`/`Down` | Scroll page |\n\n### Preview Window\n| Key | Action |\n|-----|--------|\n| `Ctrl+/` | Toggle preview on/off |\n| `Alt+p` | Toggle preview on/off |\n| `Ctrl+u`/`d` | Scroll preview page up/down |\n| `Ctrl+y`/`e` | Scroll preview line up/down |\n| `Alt+↑`/`↓` | Scroll preview line up/down |\n| `Shift+↑`/`↓` | Scroll preview page up/down |\n| `Alt+w` | Toggle text wrapping |\n| `Alt+1`/`2`/`3` | Resize preview right (40%/50%/60%) |\n| `Alt+4`/`5` | Resize preview down (40%/50%) |\n| `Alt+0` | Maximize preview (99%) |\n\n### Selection\n| Key | Action |\n|-----|--------|\n| `Tab` | Select/deselect current item |\n| `Shift+Tab` | Select/deselect + move up |\n| `Ctrl+Space` | Select + move down |\n| `Alt+a` | Select all items |\n| `Alt+d` | Deselect all items |\n| `Alt+t` | Toggle all selections |\n\n### Actions\n| Key | Action |\n|-----|--------|\n| `Enter` | Confirm selection |\n| `Esc` | Return to main menu |\n| `q` | Quit fza completely |\n| `Ctrl+c` | Quit fza completely |\n| `?` | Show full keybinds help |\n| `Alt+i` | View full package details with bat |\n| `Alt+f` | View package files |\n| `Ctrl+s` | Toggle sort |\n\n---\n\n## 🎨 Screenshots\n\n### Main Menu\n```\n╔═══════════════════════════════════════════╗\n║   FZA - Fuzzy APT Package Manager         ║\n║   Powered by nala + fzf + bat             ║\n╚═══════════════════════════════════════════╝\n\n🔍  Search \u0026 Install Packages\n🗑️  Remove Packages\n📋  List Installed Packages\n🔄  Update Package Lists\n⬆️  Upgrade All Packages\nℹ️  Show Package Info\n🧹  Autoremove Unused Packages\n🔧  Fix Broken Dependencies\n📊  Show Package Statistics\n🚀  History \u0026 Rollback\n🌐  Nala Fetch Mirrors\n❓  Show Keybinds Help\n❌  Exit\n```\n\n### Package Search with Preview\n```\nSearch \u0026 Install Packages\nKeybinds: Ctrl+/=preview Alt+1/2/3=resize Tab=select Esc=menu q=quit ?=help\n\n\u003e firefox\n  firefox              Mozilla Firefox web browser\n  firefox-esr          Mozilla Firefox ESR web browser\n  firefox-locale-en    Firefox English language pack\n\nPreview (Ctrl+/ to toggle):\n╔══════════════════════════════════════════╗\n║ Package: firefox                         ║\n╚══════════════════════════════════════════╝\n\nPackage: firefox\nVersion: 120.0+build1-0ubuntu1\nArchitecture: amd64\nDescription: Mozilla Firefox web browser\n Firefox is a powerful, extensible web browser...\n```\n\n---\n\n## 🔧 Configuration\n\nfza stores its cache and history in `~/.cache/fza/`:\n- `package_descriptions.cache` - Package list cache (refreshed every hour)\n- `history` - Operation history log\n\nTo clear the cache:\n```bash\nrm -rf ~/.cache/fza/\n```\n\n---\n\n## 🐛 Troubleshooting\n\n### \"Missing dependencies\" error\nMake sure all dependencies are installed:\n```bash\nsudo apt install fzf bat\n```\n\n### \"This operation requires root privileges\" error\nMost package operations require sudo:\n```bash\nsudo fza\n```\n\n### bat command not found\nOn some systems, bat is installed as `batcat`. fza automatically detects this.\n\n### Preview window not showing\nPress `Ctrl+/` or `Alt+p` to toggle the preview window (hidden by default).\n\n### Nala not available\nfza automatically falls back to apt if nala is not installed. For better performance, install nala:\n```bash\nsudo apt install nala\n```\n\n---\n\n## 🤝 Contributing\n\nContributions are welcome! Please feel free to submit a Pull Request.\n\n1. Fork the repository\n2. Create your feature branch (`git checkout -b feature/AmazingFeature`)\n3. Commit your changes (`git commit -m 'Add some AmazingFeature'`)\n4. Push to the branch (`git push origin feature/AmazingFeature`)\n5. Open a Pull Request\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstefan-hacks%2Ffza","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fstefan-hacks%2Ffza","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstefan-hacks%2Ffza/lists"}