Install script: clone to ~/.avault/avault + symlink #10

Open
opened 2026-02-27 14:06:42 +00:00 by nazim · 0 comments
Owner

Goal

Proper install/update flow for avault. Currently it's manually symlinked from various workspace locations. Should be a clean clone + symlink.

Install flow

# Fresh install
curl -sL https://forgejo.tail593e12.ts.net/nazim/avault/raw/branch/main/install.sh | bash

# Or manual
git clone https://forgejo.tail593e12.ts.net/nazim/avault.git ~/.avault/avault
~/.avault/avault/install.sh

What install.sh does

  1. Clone repo to ~/.avault/avault/ (or pull if already exists)
  2. Check Python 3.11+ is available
  3. Check/install nostr-sdk pip dependency
  4. Symlink ~/.avault/avault/scripts/avault.py to ~/.local/bin/avault (or /usr/local/bin/avault with sudo)
  5. Print next steps (run avault init --signer-npub <npub> if first time)

Update flow

avault update   # or: cd ~/.avault/avault && git pull

Directory layout after install

~/.avault/
  avault/              # git repo clone
    scripts/avault.py  # the tool
    SKILL.md
    references/
    hooks/
    install.sh
  avault.enc           # vault data (created by avault init, NOT in repo)
  nsec.enc             # encrypted nsec (created by avault init)
  nip46.json           # NIP-46 config (created by avault init)

Note: vault data files live in ~/.avault/ (parent of the repo), not inside the repo. They are user data, not source code.

Acceptance criteria

  • install.sh in repo root
  • Clones to ~/.avault/avault/
  • Symlinks avault to PATH
  • Checks deps (python, nostr-sdk)
  • Works on fresh Ubuntu 22.04+
  • Update via git pull or avault update
## Goal Proper install/update flow for avault. Currently it's manually symlinked from various workspace locations. Should be a clean clone + symlink. ## Install flow ```bash # Fresh install curl -sL https://forgejo.tail593e12.ts.net/nazim/avault/raw/branch/main/install.sh | bash # Or manual git clone https://forgejo.tail593e12.ts.net/nazim/avault.git ~/.avault/avault ~/.avault/avault/install.sh ``` ## What install.sh does 1. Clone repo to `~/.avault/avault/` (or pull if already exists) 2. Check Python 3.11+ is available 3. Check/install `nostr-sdk` pip dependency 4. Symlink `~/.avault/avault/scripts/avault.py` to `~/.local/bin/avault` (or `/usr/local/bin/avault` with sudo) 5. Print next steps (run `avault init --signer-npub <npub>` if first time) ## Update flow ```bash avault update # or: cd ~/.avault/avault && git pull ``` ## Directory layout after install ``` ~/.avault/ avault/ # git repo clone scripts/avault.py # the tool SKILL.md references/ hooks/ install.sh avault.enc # vault data (created by avault init, NOT in repo) nsec.enc # encrypted nsec (created by avault init) nip46.json # NIP-46 config (created by avault init) ``` Note: vault data files live in `~/.avault/` (parent of the repo), not inside the repo. They are user data, not source code. ## Acceptance criteria - [ ] `install.sh` in repo root - [ ] Clones to `~/.avault/avault/` - [ ] Symlinks avault to PATH - [ ] Checks deps (python, nostr-sdk) - [ ] Works on fresh Ubuntu 22.04+ - [ ] Update via `git pull` or `avault update`
Sign in to join this conversation.
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
nazim/avault#10
No description provided.