🥫My environment-in-a-can
Find a file
2024-02-26 00:48:03 -05:00
files feat: add profile awareness 2024-02-26 00:48:03 -05:00
bootstrap.sh feat: add profile awareness 2024-02-26 00:48:03 -05:00
README.md feat: add profile awareness 2024-02-26 00:48:03 -05:00

🥫Environment-in-a-can

Environment tweaks for everyday happiness.

Setup

git clone git@github.com:mcataford/env.git <path-of-your-choosing> | ./bootstrap.sh

The setup script will look for pre-existing managed blocks and will not update the file if one is found.

Updating existing setups

Since the managed blocks only source the files in this repository, pulling in updates from remote should bring in any new tweaks you want to apply. If changes are made to the managed blocks, you will need to first remove them from where they live and rerun the setup script.

Profiles

A profile must be provided via $ENV_PROFILE. This can be used by steps to determine variants of a file to copy over. Files with profile specificity should be named file.<profile>.<extension>.

Structure

The package is structured as such:

env/
    bootstrap.sh        # Adds bootstrap block to your shell's config file.
    files/
        shell_extras    # Functions, aliases and exports for the shell.
        extras.vim      # Common config for neovim.
        git_config      # Configuration commands for git
        ... Other configuration templates

Adding code to shell_extras will add code that gets executed on shell-start.

Contributing

I'm not currently looking for contributions since this is mainly about standardizing my own setup across machines.