MCPcopy Index your code
hub / github.com/diced/dvm

github.com/diced/dvm @v1.3.1

Chat with this repo
repository ↗ · DeepWiki ↗ · release v1.3.1 ↗ · + Follow
34 symbols 79 edges 13 files 0 documented · 0%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

dvm (Discord Version Manager)

Allowing you to manage all of your discord versions. This was made as I was impatient to waiting for AUR maintainers (no offense 😂 we have lives) to update discord packages. This solves that problem: since you can update your version by just doing dvm update <type>. This utility is heavily inspired by the rustup command line tool

Installing

Grab the latest release, and extract the tar ball.

Compiling from Source

If you prefer compiling from source you can do the following

Prequisites

  • Rust Nightly (rustup or your distro might provide a rustup package, then rustup install nightly)
git clone https://github.com/diced/dvm
cd dvm
cargo +nightly build # make sure you have rust nightly installed like stated above

Using prebuilt binary

If you don't want to bother compiling from source then you may use the precompiled binary that I provide on the releases page

Note: The precompiled binary is not a statically compiled binary, so if it happens to error, run ldd dvm-x86_64-unknown-linux-gnu and it will show the libraries it needs, then install them.

wget https://github.com/diced/dvm/releases/download/<version>/dvm
chmod +x dvm
./dvm # you can move it into /usr/bin or move it into somewhere then add it to $PATH

Usage

discord version manager for linux

Usage: dvm <COMMAND>

Commands:
  install            Install the latest <type> of discord
  install-open-asar  Install openasar for <type> of discord
  update             Update to the latest <type> of discord
  remove             Remove the installed <type> of discord
  list               Show all installed versions
  completions        Get shell completions
  run                Run discord with specific options
  help               Print this message or the help of the given subcommand(s)

Options:
  -h, --help     Print help
  -V, --version  Print version

Installing Discord

To install a specific version just type in

dvm install stable

This will do the following: 1. Download the latest stable tarball from discord 2. Extract it into $HOME/.dvm 3. Create a bin file that executes the executable 4. Copy desktop and icons to their folders

Install Open Asar

If you forget to add the flag -o when installing discord, you can install open asar by doing

dvm install-open-asar stable

...or do it when installing discord

dvm install stable -o

Installing multiple versions at once

You can install multiple versions at once, they will be executed one after the other.

dvm install stable ptb canary development

Removing

Removing installations is as easy as installing them

dvm remove stable

This will do the following: 1. Remove the $HOME/.dvm/ 2. Remove desktop entries and icons 3. Remove the bin file

Update

Updating installations is as easy as installing them

dvm update stable

This will do the following: 1. Check if discord actually needs to be updated 2. Download the latest tarball 3. Remove the $HOME/.dvm/ 4. Do everything the installation does.

Show

This will show all installations that are currently installed, the --verbose, -v flag will show the path it's installed to, and the --check, -c flag will check if your installations are up-to-date (red = outdated, green = up to date)

dvm list
dvm list -v
dvm list -c
dvm list -vc
# no flag
canary:0.0.133
development:0.0.198
stable:0.0.17
# -v
canary:0.0.133 -> /home/diced/.dvm/DiscordCanary
development:0.0.198 -> /home/diced/.dvm/DiscordDevelopment
stable:0.0.17 -> /home/diced/.dvm/Discord

Run

You can run discord via command line with extra flags

dvm run canary <extra args>
# for example
dvm run canary --idk-some-chromium-flag-or-something

Completions

Get shell completions for your shell of choice

dvm completions zsh

Maintaining

I don't really focus on this anymore, but I'll try my best lol. If you want to reach out to help feel free to send a message request or friend request on discord (@dicedtomato), or contact through github issues, etc.

Core symbols most depended-on inside this repo

install_dir
called by 10
src/path.rs
dvm_bin_dir
called by 8
src/path.rs
home_dir
called by 5
src/path.rs
check_type_len
called by 4
src/main.rs
dvm_dir
called by 4
src/path.rs
pascal_pkg
called by 3
src/path.rs
version_file
called by 3
src/path.rs
app_dir
called by 3
src/path.rs

Shape

Function 21
Class 8
Method 3
Enum 2

Languages

Rust100%

Modules by API surface

src/main.rs12 symbols
src/path.rs8 symbols
src/branch.rs4 symbols
src/cli/show.rs3 symbols
src/util.rs2 symbols
src/cli/update.rs1 symbols
src/cli/run.rs1 symbols
src/cli/remove.rs1 symbols
src/cli/install_openasar.rs1 symbols
src/cli/install.rs1 symbols

For agents

$ claude mcp add dvm \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact