# ScoopInstaller/Scoop

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/scoopinstaller-scoop).**

23,635 stars · 1,501 forks · PowerShell · other

## Links

- GitHub: https://github.com/ScoopInstaller/Scoop
- Homepage: https://scoop.sh
- awesome-repositories: https://awesome-repositories.com/repository/scoopinstaller-scoop.md

## Topics

`installer` `powershell` `scoop` `windows`

## Description

Scoop is a command-line package manager for Windows designed to automate the installation, configuration, and lifecycle management of software. It utilizes a manifest-driven architecture where applications are defined in structured text files, allowing for consistent and repeatable deployments. By leveraging shim-based path management and symlink-based version switching, it enables users to install and toggle between multiple software versions without cluttering the global system environment.

The project distinguishes itself through its focus on portability and clean system integration. It supports both user-level installations that do not require administrative privileges and global installations for system-wide access. By isolating application binaries from configuration and state files, it ensures that user settings persist across updates and re-installations. The system is organized around community-driven, version-controlled repository buckets, which facilitate the discovery and maintenance of software packages.

Beyond core installation tasks, the tool provides extensive capabilities for environment provisioning and system automation. It includes utilities for managing path variables, configuring proxy settings, and integrating Unix-style command-line tools into the native Windows environment. The framework also supports complex workflows such as dependency resolution, automated manifest updates, and the synchronization of environment states across different machines.

The project is implemented in PowerShell and is designed for direct terminal interaction. It maintains a local cache of downloaded installers to optimize performance and includes diagnostic tools to assist in monitoring and troubleshooting the software lifecycle.

## Tags

### Development Tools & Productivity

- [Versioned Package Managers](https://awesome-repositories.com/f/development-tools-productivity/versioned-package-managers.md) — Automates the installation, configuration, and version management of software packages directly from the Windows terminal.
- [Command Shims](https://awesome-repositories.com/f/development-tools-productivity/command-shims.md) — Creates lightweight executable wrappers that redirect command calls to specific application versions without modifying global system environment variables. ([source](https://github.com/ScoopInstaller/Scoop/wiki/Scoop-Folder-Layout))
- [Package Installers](https://awesome-repositories.com/f/development-tools-productivity/package-installers.md) — Provides a terminal-based package manager for automating software installation, updates, and removal on Windows. ([source](https://github.com/ScoopInstaller/Scoop/wiki/Creating-an-app-manifest))
- [Software Package Repositories](https://awesome-repositories.com/f/development-tools-productivity/software-package-repositories.md) — Automates the setup of development tools and system utilities by downloading and configuring packages from remote repositories. ([source](https://github.com/ScoopInstaller/Scoop/wiki/Apps))
- [Command Line Utilities](https://awesome-repositories.com/f/development-tools-productivity/terminal-shell-cli/terminal-cli-enhancements/shell-terminal-utilities/general-enhancements-tooling/terminal-productivity/command-line-utilities.md) — Streamlines development workflows by managing command-line tool installations directly from the terminal. ([source](https://github.com/ScoopInstaller/Scoop/wiki/So-What))
- [Dependency Installers](https://awesome-repositories.com/f/development-tools-productivity/dependency-managers/installation-resolution-utilities/dependency-installers.md) — Automatically identifies and installs required software packages during the installation process to ensure target applications function correctly. ([source](https://github.com/ScoopInstaller/Scoop/wiki/Dependencies))
- [Package Caches](https://awesome-repositories.com/f/development-tools-productivity/package-caches.md) — Stores downloaded installation files locally to avoid redundant network requests when reinstalling or repairing software packages. ([source](https://github.com/ScoopInstaller/Scoop/wiki/Scoop-Folder-Layout))
- [Package Manifests](https://awesome-repositories.com/f/development-tools-productivity/package-manifests.md) — Uses configuration files to define project dependencies and installation requirements. ([source](https://github.com/ScoopInstaller/Scoop/wiki/Chocolatey-and-Winget-Comparison))
- [Package Repository Distributors](https://awesome-repositories.com/f/development-tools-productivity/package-repository-distributors.md) — Organizes collections of package definitions into distributed version control repositories to enable community-driven software discovery and updates. ([source](https://github.com/ScoopInstaller/Scoop/wiki))
- [CLI Installation Managers](https://awesome-repositories.com/f/development-tools-productivity/terminal-shell-cli/cli-tooling-frameworks/cli-tooling/distribution-extensibility/cli-installation-managers.md) — Automates the installation and environment setup of command-line tools through manifest-driven scripts. ([source](https://github.com/ScoopInstaller/Scoop/wiki/Antivirus-false-positive))
- [Application Installers](https://awesome-repositories.com/f/development-tools-productivity/application-installers.md) — Supports system-wide software deployment by updating global environment variables for shared access. ([source](https://github.com/ScoopInstaller/Scoop/wiki/Global-Installs))
- [User-Level Installers](https://awesome-repositories.com/f/development-tools-productivity/application-installers/user-level-installers.md) — Deploys software directly to user directories to avoid permission prompts and system-wide interference. ([source](https://github.com/ScoopInstaller/Scoop/wiki/Chocolatey-and-Winget-Comparison))
- [Environment Provisioning and Configuration](https://awesome-repositories.com/f/development-tools-productivity/development-environment-management/environment-provisioning-configuration.md) — Automates the provisioning of development environments by scripting the setup of tools and system configurations.
- [Installer Packages](https://awesome-repositories.com/f/development-tools-productivity/installer-packages.md) — Provides standalone installation formats for deploying software outside of platform-specific stores. ([source](https://github.com/ScoopInstaller/Scoop/wiki/App-Manifests))
- [Package Removal Utilities](https://awesome-repositories.com/f/development-tools-productivity/package-removal-utilities.md) — Safely uninstalls software components and cleans up associated persistent data from the local environment. ([source](https://github.com/ScoopInstaller/Scoop/wiki/Uninstalling-Scoop))
- [Package Search Utilities](https://awesome-repositories.com/f/development-tools-productivity/package-search-utilities.md) — Locates installable applications by querying names or command identifiers within the package registry. ([source](https://github.com/ScoopInstaller/Scoop/wiki/Quick-Start))
- [Path Managers](https://awesome-repositories.com/f/development-tools-productivity/path-managers.md) — Consolidates executable shims into a single directory to manage system path variables efficiently. ([source](https://github.com/ScoopInstaller/Scoop/wiki/Chocolatey-and-Winget-Comparison))
- [Distributed Version Control Systems](https://awesome-repositories.com/f/development-tools-productivity/version-control-repository-tools/distributed-version-control-systems.md) — Utilizes standard distributed version control systems to host and distribute application definitions for custom software sources. ([source](https://github.com/ScoopInstaller/Scoop/wiki/Chocolatey-and-Winget-Comparison))
- [Global Installation Managers](https://awesome-repositories.com/f/development-tools-productivity/application-installers/global-installation-managers.md) — Deploys software to a shared system-wide location to make applications accessible to all users on the machine. ([source](https://github.com/ScoopInstaller/Scoop/wiki))
- [Cross-Platform Integration Tools](https://awesome-repositories.com/f/development-tools-productivity/cross-platform-utilities/cross-platform-integration-tools.md) — Integrates Unix-style command-line utilities into the native Windows environment for cross-platform tool usage.
- [Environment Synchronizers](https://awesome-repositories.com/f/development-tools-productivity/environment-synchronizers.md) — Exports and imports lists of installed applications and configurations to replicate software setups across different machines. ([source](https://github.com/ScoopInstaller/Scoop/wiki/Commands))
- [Global Installation Locators](https://awesome-repositories.com/f/development-tools-productivity/installed-package-management/global-installation-locators.md) — Manages system-wide software installations to ensure tools are available to all users and background processes. ([source](https://github.com/ScoopInstaller/Scoop/wiki/Example-Setup-Scripts))
- [Automated Update Managers](https://awesome-repositories.com/f/development-tools-productivity/automated-update-managers.md) — Automatically detects and proposes updates for software packages to keep definitions current. ([source](https://github.com/ScoopInstaller/Scoop/wiki/App-Manifest-Autoupdate))
- [Installation Path Managers](https://awesome-repositories.com/f/development-tools-productivity/installation-path-managers.md) — Maintains stable file paths via directory aliases to ensure consistency across software updates. ([source](https://github.com/ScoopInstaller/Scoop/wiki/The-'Current'-Version-Alias))
- [CLI Scripts](https://awesome-repositories.com/f/development-tools-productivity/terminal-shell-cli/cli-tooling-frameworks/cli-scripts.md) — Executes custom scripts before or after package installation to configure system settings or clean up resources. ([source](https://github.com/ScoopInstaller/Scoop/wiki))
- [Shell Integration](https://awesome-repositories.com/f/development-tools-productivity/terminal-shell-cli/terminal-cli-enhancements/shell-terminal-utilities/automation-integration-tools/shell-integration.md) — Integrates directly with terminal environments to bridge package management tasks with native shell workflows.
- [Version Monitoring](https://awesome-repositories.com/f/development-tools-productivity/version-monitoring.md) — Monitors remote sources to identify and track available software updates. ([source](https://github.com/ScoopInstaller/Scoop/wiki/App-Manifest-Autoupdate))

### DevOps & Infrastructure

- [Installation and Package Management](https://awesome-repositories.com/f/devops-infrastructure/deployment-management/installation-package-management.md) — Automates the full lifecycle of software packages including installation, dependency resolution, and removal. ([source](https://github.com/ScoopInstaller/Scoop/wiki))
- [Repository Management](https://awesome-repositories.com/f/devops-infrastructure/repository-management.md) — Registers and manages external collections of application manifests to expand available software sources. ([source](https://github.com/ScoopInstaller/Scoop/wiki/Buckets))
- [Windows Deployment Utilities](https://awesome-repositories.com/f/devops-infrastructure/windows-deployment-utilities.md) — Provides utilities for scripting the deployment of applications and system configurations to ensure consistent environments.
- [Execution Environment Configurations](https://awesome-repositories.com/f/devops-infrastructure/execution-environments/execution-environment-configurations.md) — Modifies core environment parameters such as memory limits and execution timeouts to tailor the application execution environment. ([source](https://github.com/ScoopInstaller/Scoop/wiki/Custom-PHP-configuration))

### Operating Systems & Systems Programming

- [Package Management Frameworks](https://awesome-repositories.com/f/operating-systems-systems-programming/terminal-command-line-environments/shells-scripting/powershell/package-management-frameworks.md) — Implements a PowerShell-based framework for managing portable software installations via JSON manifests.
- [PowerShell](https://awesome-repositories.com/f/operating-systems-systems-programming/terminal-command-line-environments/shells-scripting/powershell.md) — Installs and links PowerShell modules into dedicated directories for immediate shell discovery. ([source](https://github.com/ScoopInstaller/Scoop/wiki/PowerShell-Modules))

### Programming Languages & Runtimes

- [Symlink-Based Version Switching](https://awesome-repositories.com/f/programming-languages-runtimes/runtime-execution-environments/runtime-environments/runtime-management-utilities/symlink-based-version-switching.md) — Manages runtime versions by updating symbolic links to point to active version directories, allowing multiple versions to coexist. ([source](https://github.com/ScoopInstaller/Scoop/wiki/Switching-Ruby,-Python-and-PHP-Versions))
- [Version Managers](https://awesome-repositories.com/f/programming-languages-runtimes/language-ecosystems-tooling/version-managers.md) — Manages multiple concurrent versions of runtime environments or tools and allows users to toggle between them for specific project requirements. ([source](https://github.com/ScoopInstaller/Scoop/wiki))
- [Java Environments](https://awesome-repositories.com/f/programming-languages-runtimes/language-ecosystems-tooling/programming-environments-tooling/java-environments.md) — Maintains multiple versions of Java development kits and runtimes via dedicated software repositories. ([source](https://github.com/ScoopInstaller/Scoop/wiki/Java))

### Software Engineering & Architecture

- [Version-Controlled Content Repositories](https://awesome-repositories.com/f/software-engineering-architecture/project-management-governance/repository-maintenance/version-control-strategies/version-controlled-content-repositories.md) — Organizes package definitions into version-controlled repository buckets to facilitate community-driven software discovery.

### System Administration & Monitoring

- [Software Update Managers](https://awesome-repositories.com/f/system-administration-monitoring/software-update-managers.md) — Downloads and applies the latest versions for individual applications or the entire local software collection to ensure tools remain current. ([source](https://github.com/ScoopInstaller/Scoop/wiki/Quick-Start))
- [Version Lifecycle Management](https://awesome-repositories.com/f/system-administration-monitoring/version-lifecycle-management.md) — Manages the full lifecycle of software versions, allowing users to install and switch between multiple concurrent versions.

### Data & Databases

- [Configuration Persistence](https://awesome-repositories.com/f/data-databases/configuration-persistence.md) — Isolates application binaries from configuration files to ensure user settings persist across updates.
- [Application Persistence](https://awesome-repositories.com/f/data-databases/persistent-storage-management/application-persistence.md) — Maintains specific files and folders across application updates by storing them in a dedicated directory that remains untouched during installation. ([source](https://github.com/ScoopInstaller/Scoop/wiki))
- [Persistence Purge Utilities](https://awesome-repositories.com/f/data-databases/persistent-storage-management/application-persistence/persistence-purge-utilities.md) — Deletes all stored configuration and state files during the uninstallation process to ensure a clean removal. ([source](https://github.com/ScoopInstaller/Scoop/wiki/Persistent-data))

### User Interface & Experience

- [UI State Preservation](https://awesome-repositories.com/f/user-interface-experience/ui-state-preservation.md) — Maintains user configuration and state files in a dedicated directory that survives software updates and re-installations. ([source](https://github.com/ScoopInstaller/Scoop/wiki/Persistent-data))

### Security & Cryptography

- [Dependency Integrity Verifiers](https://awesome-repositories.com/f/security-cryptography/security/utilities/security-tools/dependency-integrity-verifiers.md) — Retrieves file hashes from remote sources to ensure downloaded files match expected checksums and maintain package integrity. ([source](https://github.com/ScoopInstaller/Scoop/wiki/App-Manifest-Autoupdate))
