durploy is a shell utility for deploying and managing Urbit ships and desks.
More specifically, it's wrapper script for all the common Urbit workflows found
on the Urbit website, particularly those enumerated in Urbit "Environment
Setup" and Urbit "Software Distribution".
durploy is written in Bourne Shell and thus should run on most *NIX platforms.
Presently, it has only been tested on Linux; your mileage may vary! Please
review the "Dependencies" section below if you encounter any
issues with missing commands.
curl -LO https://raw.githubusercontent.com/sidnym-ladrut/durploy/release/durploy
chmod u+x ./durploy
./durploymkdir -p ${XDG_DATA_HOME:-$HOME/.local/share}/bash-completion/completions/
curl -O https://raw.githubusercontent.com/sidnym-ladrut/durploy/release/complete/durploy \
> ${XDG_DATA_HOME:-$HOME/.local/share}/bash-completion/completions/
# If you don't have bash autocomplete configured, run the following:
echo "source ${XDG_DATA_HOME:-$HOME/.local/share}/bash-completion/completions/durploy" >> ~/.bashrcmkdir -p ${XDG_DATA_HOME:-$HOME/.local/share}/zsh-completion/
curl -O https://raw.githubusercontent.com/sidnym-ladrut/durploy/release/complete/_durploy \
> ${XDG_DATA_HOME:-$HOME/.local/share}/zsh-completion/
# Be sure this runs before the 'autoload -U compinit; compinit' commands in your `.zshrc`
echo "fpath=(${XDG_DATA_HOME:-$HOME/.local/share}/zsh-completion/ $fpath)" >> $ZDOTDIR/.zshrc
# Refresh the autocomplete commands in the current session
autoload -U compinit
compinit# fake ship
durploy ship zod
# real ship (comet)
durploy ship -p com comdurploy ship zod /path/to/init1.sh /path/to/init2.sh(See the examples directory for samples.)
durploy desk zod my-desk /path/to/my-desk/durploy desk -w zod my-desk /path/to/my-desk/durploy nuke zodMost default directory locations and Urbit files used by durploy can be
configured. For more information, see the "Config options" section of the
documentation output by durploy --help.
udm: Urbit desk manager written in Rust by nogirabouncer: Urbit development/installation pipeline manager written in Ruby by ~datder-sonnetinstall.sh: Urbit desk synchronization script written in Bash by ~timluc-miptev (with a more featureful version by ~midlev-mindyr)copy.sh: An Urbit desk and dependencies synchronization script written in Bash by ~palfun-foslup
durploy uses a small set of system binaries for processing. Most of these
utilities are available by default on modern Linux systems, and all of them
should be readily available to install on most modern *NIX systems.
This list is ordered roughly in descending order of expected availability:
gitcurlpgrepwhichreadlinkxargssha256sumtouchshmkdirawksedgrepprintfcpbasenamedirnamesleepkill
The following are additional dependencies required by the autocomplete scripts: