Skip to content

vegardit/scoop-portable

Repository files navigation

scoop-portable

Build Status License Contributor Covenant

  1. What is it?
  2. License

What is it?

NOTE: This project is work-in-progress, while it works fine with the apps we use, it may not yet work as expected with all apps installable via scoop. Pull requests are welcome!

scoop-portable is an attempt to provide a true portable, "non-invasive" environment of the scoop command-line installer for the Windows Command Prompt.

For ease of distribution/use, it is implemented as a single self-contained Windows batch file.

Advantages over using "regular" scoop:

  • the scoop directory can be moved and live on an USB stick/external disk
  • installing/removing/resetting apps does not require restarting the command prompt
  • switching between different Java versions works seamlessly for the current and future sessions (https://github.com/ScoopInstaller/Java/wiki#switching-javas)
  • when installing the git package, all GNU commands at apps\git\usr\bin are made available on PATH, i.e. no need to install additional packages like coreutils, tar, vim

Limitations:

  • scoop-portable only works for the Windows Command Prompt and not for PowerShell sessions, however using scoop-portable together with clink (also installable via scoop) gives a great command line experience and productivity.
  • since the project strives for a purely portable environment, the following features/behaviours of scoop are disabled:
    • installation of global apps is disabled.
    • creation of start-menu entries.
    • permanent changes to the global PATH variable or setting of permanent environment variables by scoop is prevented.

install

Installation

  1. Get a copy of the batch file using one of these ways:
    • Using old-school Copy & Paste:
      1. Create a local empty directory where scoop shall be installed, e.g. C:\apps\scoop-portable
      2. Download scoop-portable.cmd file into that directory.
    • Using Git:
      1. Clone the project into a local directory, e.g.
        git clone https://github.com/vegardit/scoop-portable C:\apps\scoop-portable
  2. (Optional) Customize the installation by creating a file called scoop-portable-config.cmd in the same directory. See scoop-portable-config.example.cmd as an example.
  3. Make sure the line break type is set to Windows (CR LF) via programs such as Notepad++ to prevent errors such as The syntax of the command is incorrect.
  4. Now execute scoop-portable.cmd.
    • On the first execution, scoop and the selected packages will be installed in a scoop sub-directory and the scoop environment is initialized.

install

Usage

Once installed, subsequent executions of scoop-portable.cmd load scoop environment:

  • either in the current command window if executed from the command line, or
  • a new command window is opened if executed via Windows Explorer or e.g. a Desktop shortcut.

An app installed in the scoop-portable.cmd can be launched from anywhere using: scoop-portable.cmd <app> [app args]

License

All files are released under the Apache License 2.0.

Individual files contain the following tag instead of the full license text:

SPDX-License-Identifier: Apache-2.0

This enables machine processing of license information based on the SPDX License Identifiers that are available here: https://spdx.org/licenses/.