Skip to content

Commit 5ba193d

Browse files
authored
Add install documentation (#9)
1 parent 8d0ab8e commit 5ba193d

3 files changed

Lines changed: 84 additions & 0 deletions

File tree

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,7 @@ dvm rm <name> [--force]
6464

6565
Docs:
6666

67+
- [Install](docs/install.md)
6768
- [Dependencies](docs/dependencies.md)
6869
- [Config](docs/config.md)
6970
- [Create VMs](docs/create.md)

docs/README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
# Docs
22

3+
- [Install](install.md)
34
- [Dependencies](dependencies.md)
45
- [Config](config.md)
56
- [Create VMs](create.md)

docs/install.md

Lines changed: 82 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,82 @@
1+
# Install
2+
3+
Install DVM by cloning the repository and running `install.sh`. The installer creates a
4+
symlink to `bin/dvm`, so the checkout remains the DVM core.
5+
6+
## Requirements
7+
8+
```bash
9+
brew install lima
10+
```
11+
12+
Make sure the install prefix is on your `PATH`:
13+
14+
```bash
15+
mkdir -p "$HOME/.local/bin"
16+
```
17+
18+
## Stable Install
19+
20+
Use a signed release tag when installing for regular use:
21+
22+
```bash
23+
git clone https://github.com/eshlox/dvm.git "$HOME/.local/share/dvm-core"
24+
cd "$HOME/.local/share/dvm-core"
25+
git fetch --tags --force
26+
git tag -v vX.Y.Z
27+
git checkout --detach vX.Y.Z
28+
./install.sh --init
29+
```
30+
31+
If tag verification fails, do not install that version.
32+
33+
## Development Install
34+
35+
Use `main` only for development or testing:
36+
37+
```bash
38+
git clone https://github.com/eshlox/dvm.git "$HOME/.local/share/dvm-core"
39+
cd "$HOME/.local/share/dvm-core"
40+
./install.sh --init
41+
```
42+
43+
This creates:
44+
45+
```text
46+
~/.local/bin/dvm -> ~/.local/share/dvm-core/bin/dvm
47+
```
48+
49+
## Custom Name Or Prefix
50+
51+
```bash
52+
./install.sh --name dvm-dev --prefix "$HOME/bin" --init
53+
```
54+
55+
## Verify
56+
57+
```bash
58+
dvm help
59+
dvm init
60+
```
61+
62+
## Update DVM
63+
64+
For a signed release:
65+
66+
```bash
67+
cd "$HOME/.local/share/dvm-core"
68+
git fetch --tags --force
69+
git tag -v vX.Y.Z
70+
git checkout --detach vX.Y.Z
71+
./install.sh
72+
```
73+
74+
For a development checkout:
75+
76+
```bash
77+
cd "$HOME/.local/share/dvm-core"
78+
git pull --ff-only
79+
./install.sh
80+
```
81+
82+
DVM intentionally does not support remote install commands like `curl | sh`.

0 commit comments

Comments
 (0)