feat: add bin/setup bootstrap script and update README installation docs
- bin/setup: curl-pipeable installer — re-execs with bash, detects OS, installs git (apt/xcode-select), clones dotfiles into ~, runs arty deps, installs arty zsh completion, prints next steps; fully idempotent - README.md: replace Quick Start with Installation one-liner, add step table, After Installation and Manual Setup sections; fix stale ~/scripts reference - .gitignore: whitelist bin/setup Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
1 parent
cfee542f35
commit
7e16a6475b
3 files changed
+356
-10
No files matched your search
@@ -46,18 +46,53 @@
|
||||
|
||||
---
|
||||
|
||||
## QUICK START RITUAL
|
||||
## INSTALLATION
|
||||
|
||||
### Summoning the Environment
|
||||
### One-liner bootstrap
|
||||
|
||||
```bash
|
||||
# Clone this unholy repository
|
||||
git init && git remote add origin ssh://git@dev.pivoine.art/valknar/home.git
|
||||
git fetch && git reset --hard origin/main
|
||||
git branch --set-upstream-to=origin/main main
|
||||
curl https://dev.pivoine.art/valknar/home/raw/branch/main/bin/setup -sSf | sh
|
||||
```
|
||||
|
||||
# Clone scripts repository
|
||||
git clone ssh://git@dev.pivoine.art/valknar/scripts.git ~/scripts
|
||||
**Prerequisites:** `curl` or `wget` · `sh`/`bash` · `sudo` *(only needed on Debian/Ubuntu if git is missing)*
|
||||
|
||||
### What the setup script does
|
||||
|
||||
| Step | Action |
|
||||
|------|--------|
|
||||
| 1 | Detects OS (Debian/Ubuntu, macOS, other Linux) |
|
||||
| 2 | Installs `git` if missing — `apt-get` on Debian/Ubuntu, `xcode-select` on macOS |
|
||||
| 3 | Clones this repo into `~` via HTTPS — or `git pull` if already present *(idempotent)* |
|
||||
| 4 | Runs `arty deps` — clones nvm, rbenv, pyenv, oh-my-zsh, powerlevel10k, zsh plugins |
|
||||
| 5 | Installs `arty` zsh completion to `~/.zsh/completions/_arty` |
|
||||
| 6 | Prints next steps |
|
||||
|
||||
### After installation
|
||||
|
||||
```bash
|
||||
exec zsh # start a new shell session
|
||||
|
||||
p10k configure # first time: configure the Powerlevel10k prompt
|
||||
|
||||
arty ssh:keygen # generate an SSH key, then add it at https://dev.pivoine.art
|
||||
|
||||
# switch the dotfiles remote from HTTPS to SSH (after key is set up)
|
||||
git -C ~ remote set-url origin ssh://git@dev.pivoine.art/valknar/home.git
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## MANUAL SETUP
|
||||
|
||||
> The one-liner above handles all of this automatically.
|
||||
|
||||
```bash
|
||||
cd ~
|
||||
git init
|
||||
git remote add origin https://dev.pivoine.art/valknar/home.git
|
||||
git fetch && git checkout -f -t origin/main
|
||||
git config status.showUntrackedFiles no
|
||||
arty deps
|
||||
```
|
||||
|
||||
---
|
||||
@@ -98,9 +133,10 @@ arty docker:install # Docker Engine with user group
|
||||
|
||||
### Custom Scripts
|
||||
|
||||
Scripts in `~/scripts/` are loaded via PATH. They live in their own repo: `git@dev.pivoine.art:valknar/scripts.git`.
|
||||
Scripts live in `~/bin/` and are tracked in this repo.
|
||||
|
||||
Available scripts: `stacks.sh` (Docker Compose stack manager), `arty.sh` (repository orchestration).
|
||||
- **`arty`** — repository orchestration, reads `arty.yml`
|
||||
- **`stacks`** — Docker Compose stack manager for `~/stacks`
|
||||
|
||||
---
|
||||
|
||||
|
||||
Reference in new issue
Block a user