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 likecoreutils
,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.
- Get a copy of the batch file using one of these ways:
- Using old-school Copy & Paste:
- Create a local empty directory where scoop shall be installed, e.g.
C:\apps\scoop-portable
- Download scoop-portable.cmd file into that directory.
- Create a local empty directory where scoop shall be installed, e.g.
- Using Git:
- Clone the project into a local directory, e.g.
git clone https://github.com/vegardit/scoop-portable C:\apps\scoop-portable
- Clone the project into a local directory, e.g.
- Using old-school Copy & Paste:
- (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. - 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
. - 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.
- On the first execution, scoop and the selected packages will be installed in a
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]
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/.