Update .local/bin/provision
This commit is contained in:
parent
6536accd7d
commit
f77962334a
1 changed files with 21 additions and 129 deletions
|
@ -1,7 +1,5 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
set -eox pipefail
|
||||
|
||||
# @description Installs glow (a markdown renderer) from GitHub releases
|
||||
# @example installGlow
|
||||
installGlow() {
|
||||
|
@ -383,135 +381,29 @@ find "$HOME/.local/bin" -maxdepth 1 -mindepth 1 -type f | while read BINFILE; do
|
|||
chmod +x "$BINFILE"
|
||||
done
|
||||
|
||||
### Chezmoi
|
||||
### Run chezmoi init
|
||||
if [ ! -f "$HOME/.config/chezmoi/chezmoi.yaml" ]; then
|
||||
### Show README.md snippet
|
||||
if command -v glow > /dev/null; then
|
||||
glow "$HOME/.local/share/chezmoi/docs/CHEZMOI-INTRO.md"
|
||||
fi
|
||||
|
||||
### Prompt for variables
|
||||
if command -v gum > /dev/null; then
|
||||
if [ -z "$SOFTWARE_GROUP" ]; then
|
||||
logg prompt 'Select the software group you would like to install. If your environment is a macOS, Windows, or environment with the DISPLAY environment variable then desktop software will be installed too. The software groups are in the ~/.local/share/chezmoi/home/.chezmoidata.yaml file.'
|
||||
SOFTWARE_GROUP="$(gum choose "Basic" "Standard" "Development" "Experimental")"
|
||||
fi
|
||||
fi
|
||||
|
||||
logg info 'Running `chezmoi init` since the ~/.config/chezmoi/chezmoi.yaml is not present'
|
||||
chezmoi init
|
||||
fi
|
||||
|
||||
### Run chezmoi apply
|
||||
logg info 'Running `chezmoi apply`'
|
||||
cat <<EOF >> /tmp/chezmoi-intro
|
||||
# User / Environment Variables
|
||||
|
||||
This script will automatically set up a handful of different configurations
|
||||
should you decide to add your information. Below you can find a description of what
|
||||
each piece of information is used for as well as the name of the environment variable
|
||||
you can specify to bypass the prompt.
|
||||
|
||||
## Work Environment
|
||||
|
||||
Set to true if you are setting up a work environment where things like Tor should
|
||||
not be installed.
|
||||
|
||||
* Environment variable: `WORK_ENVIRONMENT`
|
||||
|
||||
## Restricted Environment
|
||||
|
||||
Set to true if you are setting up an environment that should not use sudo / administrator
|
||||
privileges. This is a WIP.
|
||||
|
||||
* Environment variable: `RESTRICTED_ENVIRONMENT`
|
||||
|
||||
## Software Group
|
||||
|
||||
The category you select for software group will determine which list of software should be
|
||||
installed. The lists are configurable by modifying `~/.local/share/chezmoi/software.yml`.
|
||||
|
||||
* Environment variable: `SOFTWARE_GROUP`
|
||||
|
||||
## Name
|
||||
|
||||
Enter your full name as you would like it to appear in configuration files such as the Git
|
||||
configuration.
|
||||
|
||||
* Environment variable: `FULL_NAME`
|
||||
|
||||
## E-mail
|
||||
|
||||
Enter your primary e-mail address.
|
||||
|
||||
* Environment variable: `PRIMARY_EMAIL`
|
||||
|
||||
## Public GPG Key ID
|
||||
|
||||
If you have a public GPG key available on the Ubuntu or MIT keyservers, then you can enter it
|
||||
so that it is automatically imported.
|
||||
|
||||
* Environment variable: `KEYID`
|
||||
|
||||
## Timezone
|
||||
|
||||
Enter your timezone in the format of `America/New_York`. It should be available in the TZ database.
|
||||
|
||||
* Environment variable: `TIMEZONE`
|
||||
|
||||
## Domain
|
||||
|
||||
The domain address you would like to use for any part of the deployment that involves launching
|
||||
a publicly web service.
|
||||
|
||||
* Environment variable: `PUBLIC_SERVICES_DOMAIN`
|
||||
|
||||
## CloudFlare API Token
|
||||
|
||||
The API token is used to automatically configure various web services that rely on public DNS
|
||||
records.
|
||||
|
||||
* Environment variable: `CLOUDFLARE_API_TOKEN`
|
||||
|
||||
## GitHub Read-Only Token
|
||||
|
||||
Pass in a GitHub read-only token linked to your account to automatically save a backup of your
|
||||
GitHub repositories.
|
||||
|
||||
* Environment variable: `GITHUB_READ_TOKEN`
|
||||
|
||||
## GitLab Read-Only Token
|
||||
|
||||
Pass in a GitLab read-only token linked to your account to automatically save a backup of your
|
||||
GitLab repositories.
|
||||
|
||||
* Environment variable: `GITLAB_READ_TOKEN`
|
||||
|
||||
## G-mail Address
|
||||
|
||||
Add a G-mail address which you would like to use as the handler for outgoing SMTP mail.
|
||||
|
||||
* Environment variable: `GMAIL_ADDRESS`
|
||||
|
||||
## G-mail App Password
|
||||
|
||||
Add the app password to your G-mail address so that outgoing mail can be handled by G-mail.
|
||||
|
||||
* Environment variable: `GMAIL_APP_PASSWORD`
|
||||
|
||||
## Ngrok Authentication Token
|
||||
|
||||
Add your Ngrok authentication token so that the configuration file can be automatically
|
||||
generated.
|
||||
|
||||
* Environment Variable: `NGROK_AUTH_TOKEN`
|
||||
|
||||
## Slack API Token
|
||||
|
||||
Add your Slack API token so that `slackterm` can be automatically set up.
|
||||
|
||||
* Environment Variable: `SLACK_API_TOKEN`
|
||||
|
||||
## Tabby Configuration ID
|
||||
|
||||
Add your Tabby configuration ID to automatically sync Tabby settings.
|
||||
|
||||
* Environment Variable: `TABBY_CONFIG_ID`
|
||||
|
||||
## Tabby Sync Token
|
||||
|
||||
Add your Tabby sync token to automatically sync Tabby settings. This works in conjunction with
|
||||
the Tabby Configuration ID mentioned above.
|
||||
|
||||
* Environment Variable: `TABBY_SYNC_TOKEN`
|
||||
##
|
||||
EOF
|
||||
glow /tmp/chezmoi-intro
|
||||
logg prompt 'Select the software group you would like to install. If your environment is a macOS, Windows, or environment with the DISPLAY environment variable then desktop software will be installed too. The software groups are in the ~/.local/share/chezmoi/home/.chezmoidata.yaml file.'
|
||||
SOFTWARE_GROUP="$(gum choose "Basic" "Standard" "Development" "Experimental")"
|
||||
if [ -n "$FORCE_CHEZMOI" ]; then
|
||||
chezmoi apply --force
|
||||
else
|
||||
chezmoi apply
|
||||
fi
|
||||
|
|
Loading…
Reference in a new issue