From 3eea1657b0b236720ba5ed618e5a87b5c64db36a Mon Sep 17 00:00:00 2001 From: Rashil Gandhi <46838874+rashil2000@users.noreply.github.com> Date: Mon, 20 Dec 2021 13:49:30 +0530 Subject: [PATCH] chore(config): Document all configuration options (#4579) * chore(config): Document all configuration options * Update README.md * Update scoop-config.ps1 * Update scoop-config.ps1 * Update scoop-config.ps1 * Add env vars --- README.md | 17 ++++++++ libexec/scoop-config.ps1 | 94 +++++++++++++++++++++++++++++++++++++--- 2 files changed, 106 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 67ada33ed1..1ad2f064e4 100644 --- a/README.md +++ b/README.md @@ -95,6 +95,22 @@ $env:SCOOP_GLOBAL='F:\GlobalScoopApps' # run the installer ``` +### Configure Scoop to store downloads to a Custom Directory by changing `SCOOP_CACHE` + +```powershell +$env:SCOOP_CACHE='F:\ScoopCache' +[Environment]::SetEnvironmentVariable('SCOOP_CACHE', $env:SCOOP_CACHE, 'Machine') +# run the installer +``` + +### Configure Scoop to use a GitHub API token during searching and checkver by setting `SCOOP_CHECKVER_TOKEN` + +```powershell +$env:SCOOP_CHECKVER_TOKEN='' +[Environment]::SetEnvironmentVariable('SCOOP_CHECKVER_TOKEN', $env:SCOOP_CHECKVER_TOKEN, 'Machine') +# search for an app +``` + ## [Documentation](https://github.com/ScoopInstaller/Scoop/wiki) ## Multi-connection downloads with `aria2` @@ -115,6 +131,7 @@ You can tweak the following `aria2` settings with the `scoop config` command: - [aria2-split](https://aria2.github.io/manual/en/html/aria2c.html#cmdoption-s) (default: 5) - [aria2-max-connection-per-server](https://aria2.github.io/manual/en/html/aria2c.html#cmdoption-x) (default: 5) - [aria2-min-split-size](https://aria2.github.io/manual/en/html/aria2c.html#cmdoption-k) (default: 5M) +- [aria2-options](https://aria2.github.io/manual/en/html/aria2c.html#options) (default: ) ## Inspiration diff --git a/libexec/scoop-config.ps1 b/libexec/scoop-config.ps1 index c0fb6b39c5..c71e46498e 100644 --- a/libexec/scoop-config.ps1 +++ b/libexec/scoop-config.ps1 @@ -17,14 +17,98 @@ # Settings # -------- # +# 7ZIPEXTRACT_USE_EXTERNAL: $true|$false +# External 7zip (from path) will be used for archives extraction. +# +# MSIEXTRACT_USE_LESSMSI: $true|$false +# Prefer lessmsi utility over native msiexec. +# +# NO_JUNCTIONS: $true|$false +# The 'current' version alias will not be used. Shims and shortcuts will point to specific version instead. +# +# SCOOP_REPO: http://github.com/ScoopInstaller/Scoop +# Git repository containining scoop source code. +# This configuration is useful for custom forks. +# +# SCOOP_BRANCH: master|develop +# Allow to use different branch than master. +# Could be used for testing specific functionalities before released into all users. +# If you want to receive updates earlier to test new functionalities use develop (see: 'https://github.com/ScoopInstaller/Scoop/issues/2939') +# # proxy: [username:password@]host:port +# By default, Scoop will use the proxy settings from Internet Options, but with anonymous authentication. +# +# * To use the credentials for the current logged-in user, use 'currentuser' in place of username:password +# * To use the system proxy settings configured in Internet Options, use 'default' in place of host:port +# * An empty or unset value for proxy is equivalent to 'default' (with no username or password) +# * To bypass the system proxy and connect directly, use 'none' (with no username or password) +# +# default-architecture: 64bit|32bit +# Allow to configure preferred architecture for application installation. +# If not specified, architecture is determined be system. +# +# debug: $true|$false +# Additional and detailed output will be shown. +# +# force-update: $true|$false +# Force apps updating to bucket's version. +# +# show_update_log: $true|$false +# Do not show changed commits on 'scoop update' +# +# manifest_review: $true|$false +# Displays the manifest of every app that's about to +# be installed, then asks user if they wish to proceed. +# +# shim: kiennq|scoopcs|71 +# Choose scoop shim build. +# +# rootPath: $Env:UserProfile\scoop +# Path to Scoop root directory. +# +# globalPath: $Env:ProgramData\scoop +# Path to Scoop root directory for global apps. +# +# cachePath: +# For downloads, defaults to 'cache' folder under Scoop root directory. +# +# checkver_token: +# GitHub API token used to make authenticated requests. +# This is essential for checkver and similar functions +# to run without incurring rate limits. +# +# virustotal_api_key: +# API key used for uploading/scanning files using virustotal. +# See: 'https://support.virustotal.com/hc/en-us/articles/115002088769-Please-give-me-an-API-key' +# +# ARIA2 configuration +# ------------------- +# +# aria2-enabled: $true|$false +# Aria2c will be used for downloading of artifacts. +# +# aria2-warning-enabled: $true|$false +# Disable Aria2c warning which is shown while downloading. +# +# aria2-retry-wait: 2 +# Number of seconds to wait between retries. +# See: 'https://aria2.github.io/manual/en/html/aria2c.html#cmdoption-retry-wait' +# +# aria2-split: 5 +# Number of connections used for downlaod. +# See: 'https://aria2.github.io/manual/en/html/aria2c.html#cmdoption-s' +# +# aria2-max-connection-per-server: 5 +# The maximum number of connections to one server for each download. +# See: 'https://aria2.github.io/manual/en/html/aria2c.html#cmdoption-x' # -# By default, Scoop will use the proxy settings from Internet Options, but with anonymous authentication. +# aria2-min-split-size: 5M +# Downloaded files will be splitted by this configured size and downloaded using multiple connections. +# See: 'https://aria2.github.io/manual/en/html/aria2c.html#cmdoption-k' # -# * To use the credentials for the current logged-in user, use 'currentuser' in place of username:password -# * To use the system proxy settings configured in Internet Options, use 'default' in place of host:port -# * An empty or unset value for proxy is equivalent to 'default' (with no username or password) -# * To bypass the system proxy and connect directly, use 'none' (with no username or password) +# aria2-options: +# Array of additional aria2 options. +# See: 'https://aria2.github.io/manual/en/html/aria2c.html#options' param($name, $value)