===================================================================== --- New Scripts -------------------------- - i3 window manager scrypts (see --help for more info) - zsh/i3/create-local-font-override - zsh/i3/launch-or-show --- New Features ------------------------- Now support `__select` syntax in environment files! (see zsh/scwrypts/README.md for more detail) --- Changes ------------------------------ - moved some rogue configuration files under the scwrypts config - ~/.vim/bundle/build.zsh >> ~/.config/scwrypts/vundle.zsh - ~/.config/scwrypts/config.dotfile.zsh >> ~/.config/scwrypts/dotfiles.zsh - __FZF, __FZF_TAIL, and __FZF_HEAD now create prompt+response logs --- Bug Fixes ---------------------------- - zsh/config/symlinks - don't fail when trying to symlink a directory - no longer fails when trying to replace a broken symlink - scwrypts now detects environments which are symlinked - USAGE syntax now correctly shows the position of the '--' argument delimiter support __select in env files; ignore __lower_case suffix in env files; put blank line before comments in env files added i3 scripts
61 lines
2.7 KiB
Markdown
61 lines
2.7 KiB
Markdown
# Meta Scwrypts
|
|
|
|
The fastest way to configure scwrypts is through scwrypts!
|
|
The ZSH scripts in this library are used to manage Scwrypts artifacts.
|
|
|
|
|
|
## Configure
|
|
**Great for first-time setup!**
|
|
|
|
It is simple to edit the local dot-config and restart your terminal.
|
|
It is much faster to hit `CTRL+W` and select `config/edit` through a fuzzy search.
|
|
This will immediately open your custom configuration file and reload any necessary resources on save.
|
|
|
|
## Environment
|
|
If you use Scwrypts, **you should use these commands all the time**.
|
|
This is your gateway to managing scwrypts sandboxed environments.
|
|
|
|
Command | Description
|
|
----------------- | ---------------------------------------------------------------------------------------
|
|
`edit` | edit an existing environment
|
|
`copy` | create and edit a new environment from an existing one
|
|
`delete` | permanently delete an environment by name
|
|
`stage-variables` | stage missing variables; [helpful for non-ZSH scwrypts](../../py/scwrypts/getenv.py)
|
|
`synchronize` | uses [template](../../.env.template) to add missing and remove extemporaneous variables
|
|
|
|
### Environment Inheritance
|
|
You can make a child environment by naming an environment `<parent-name>.<child-name>`.
|
|
Children inherit all parent-set values, and **parent-set values overwrite child-set values**.
|
|
Remember that synchronize runs *every time you edit an environment*, so changes propagate to children immediately.
|
|
Inherited values are denoted by `# inherited from <parent-name>` in the environment file.
|
|
|
|
Nested children will inherit values from all parents.
|
|
|
|
### Special Environment Variable Syntax
|
|
|
|
All environment variables which end in `__[a-z_]+` are ignored by the template file.
|
|
These environment variables *will propagate to children*, but will not be removed nor staged into the `.env.template`.
|
|
|
|
#### `__select` Environment Variables
|
|
Omit any variable, but provide a comma-separated list with the `__select` suffix, and the user will be prompted to select a value from the provided options.
|
|
|
|
In the following configuration, the user will be prompted to select an `AWS_REGION` once at the beginning of scwrypt execution:
|
|
|
|
```zsh
|
|
export AWS_REGION=
|
|
export AWS_REGION__select=us-east-1,us-east-2,us-west-1,us-west-2
|
|
```
|
|
|
|
Setting the `AWS_REGION` variable will cause scwrypts to ignore the `__select` syntax.
|
|
|
|
CI will fail on select, because CI fails on any FZF prompt.
|
|
|
|
|
|
## Logs
|
|
Quickly view or clear Scwrypts logs.
|
|
|
|
## Virtualenv
|
|
In addition to the custom environment sandbox, scwrypts will load the appropriate virtual environment for the current script.
|
|
Update / create the environment with `update-all`.
|
|
Drop and recreate the environment with `refresh`.
|