Files
bootstrap/readme.md

113 lines
3.5 KiB
Markdown

# Bootstrap
A collection of bootstrap scripts for setting up tools and configurations I use across new machines, servers, and development environments.
The goal is simple: reduce the number of manual steps required after installing an operating system and make my setup reproducible.
## Available Scripts
| Script | Description |
| ----------------- | --------------------------------------------------------------------- |
| `install_agy.sh` | Installs Antigravity CLI and triggers native shell configuration. |
| `install_bat.sh` | Installs Bat (alternative to cat) and configures alias. |
| `install_node.sh` | Installs Node.js (LTS) and NVM (Node Version Manager). |
| `install_nvim.sh` | Installs Neovim 0.11.7 and clones my Neovim configuration repository. |
| `install_rust.sh` | Installs Rust (rustup) and configures cargo environment. |
| `install_yazi.sh` | Installs Yazi terminal file manager and its dependencies. |
| `install_zoxide.sh` | Installs Zoxide directory jumper and configures shell integrations. |
All scripts support Arch Linux, Debian / Ubuntu, and Fedora.
More scripts will be added over time.
## Usage
To bootstrap a new machine and set up the `b` command tool, run the following:
```bash
curl -fsSL https://adityagupta.dev/b | bash
```
Once bootstrapped, you can run any installer script using the `b` command followed by its shortcut name. You can also chain multiple installations by separating their names with a comma:
```bash
b nvim
b yazi
b nvim,yazi
```
You can also edit configurations located in your `~/.config/` directory by running:
```bash
b con nvim
b con i3
```
It automatically fuzzy-finds the folder in case there is no exact match.
To check for updates and update the tool manually:
```bash
b up
# Or to force a reinstall of the CLI files:
b up --force
```
## Uninstallation
To completely remove the bootstrap helper tool and clear out the shell configurations (leaving any installed software configs intact), run:
```bash
b bye
```
Then reload your shell configuration or run `unset -f b` to clear the function definition from your current terminal session.
## Development
If you are developing this tool locally:
1. Clone the repository.
2. Run `./bootstrap.sh` to install the CLI from your local copy. This will also automatically install a Git pre-commit hook (`scripts/pre-commit`) that auto-increments the patch version in the `VERSION` file on each commit.
## Philosophy
These scripts are designed for my own systems first.
That means they may make assumptions about:
* Preferred software choices
* Directory layouts
* Configuration locations
* Existing infrastructure
The scripts are intentionally straightforward Bash scripts that can be inspected and modified before execution.
## Future Plans
Potential additions include:
* Development environment bootstrap
* Workstation setup
* Server provisioning
* Dotfile installation
* Container and virtualization tooling
* Personal utilities
## Security
Running scripts directly from the internet is convenient but should always be approached with caution.
If you do not trust the source, inspect the script before executing it:
```bash
curl -fsSL https://git.adityagupta.dev/sortedcord/bootstrap/raw/branch/master/bootstrap.sh
curl -fsSL https://git.adityagupta.dev/sortedcord/bootstrap/raw/branch/master/routes.sh
```
and review the contents before piping it into a shell.
## License
MIT