https://github.com/hedinfaok/boxing
Boxing is software that customizes a computing environment.
https://github.com/hedinfaok/boxing
bash devops
Last synced: about 2 months ago
JSON representation
Boxing is software that customizes a computing environment.
- Host: GitHub
- URL: https://github.com/hedinfaok/boxing
- Owner: hedinfaok
- License: mit
- Created: 2023-02-05T00:34:41.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2024-12-14T05:47:09.000Z (over 1 year ago)
- Last Synced: 2025-01-12T18:14:55.287Z (over 1 year ago)
- Topics: bash, devops
- Language: Shell
- Homepage:
- Size: 26.4 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
# Boxing
Boxing is a set of utilities that help fill in the boxes for the compute layer
in an architecture diagram. The boxes could be user profiles, virtual machines,
containers, physical machines, networking devices, or IoT embedded thingamajiggers.
Generally, Boxing is software that customizes a computing environment.
## Where does Boxing fit?
I use these tools to provision my personal computers, chromebooks, home servers,
Android phones with Termux, and anything else that can run git and bash.
For something like Hashicorp's Packer, I would use Boxing as the provisioner.
For something like Docker, I would invoke the Boxing utilities in the Dockerfile.
For Termux or my personal computer, I use Boxing in my dotfiles.
## Installation
By default, the installer script uses the Freedesktop.org convention. It installs Boxing into `~/.local/share/boxing` and creates a symlink in `~/.local/bin`.
```
# Install defaults
bash <(curl -s "https://raw.githubusercontent.com/hedinfaok/boxing/HEAD/boxing.setups.sh")
# With `~/.local/bin` in your PATH:
boxing --version
# With `~/.local/bin` not in your PATH:
~/.local/bin/boxing --version
# Directly from default install directory:
~/.local/share/boxing/boxing --version
```
You can customize the installer with the `BOXING_DIR` and `BIN_DIR` environment variables:
```
BOXING_DIR=./boxing \
BIN_DIR=./bin \
bash <(curl -s "https://raw.githubusercontent.com/hedinfaok/boxing/HEAD/boxing.setups.sh")
# Run from BIN_DIR:
./bin/boxing --version
# Run from BOXING_DIR:
./boxing/boxing --version
```
### Alternative Installtion
Alternatively, just clone this repo and add the directory to your PATH.
## Using as a provisioner
Be sure to copy the `boxing` directory as part of the provisioning process.
* Docker: Use the COPY command in your Dockerfile.
* Packer: Use file provisioner to copy the directory into the target.
* Dotfiles: Copy the `boxing` directory and commit to your git repo.
* Others: Yep, just copy the directory over.
## Utilities
* config: uses git-config to read/write ini files.
* os-facts: displays facts about an os.
* provides: wraps common package managers to find the package that provides a file or command.
* setups: provisions software with shell functions.
* switch: common inferface for reading and writing contexts.