| Crates.io | sopmod |
| lib.rs | sopmod |
| version | 0.1.2 |
| created_at | 2025-12-18 04:24:02.241449+00 |
| updated_at | 2025-12-18 05:33:57.648379+00 |
| description | Soppo version manager |
| homepage | |
| repository | https://github.com/halcyonnouveau/sopmod |
| max_upload_size | |
| id | 1991695 |
| size | 110,815 |
Version manager for Soppo.
SOPMOD handles installing, updating, and switching between multiple versions of Sop. It also manages Go installations that Sop uses internally for compilation.
curl -fsSL https://soppolang.dev/install.sh | sh
Or with cargo:
cargo install sopmod
After installation, add ~/.sopmod/bin to your PATH:
export PATH="$HOME/.sopmod/bin:$PATH"
# Install latest sop (automatically set as default)
sopmod install sop latest
# Install a specific version
sopmod install sop 0.4.1
# Update to latest
sopmod update sop
# Set default version
sopmod default sop 0.4.1
# List installed versions
sopmod list
# Show active binary path
sopmod which sop
# Remove a version
sopmod remove sop 0.4.0
Pin a specific Sop version for your project by adding to sop.mod:
sop = "0.4"
When you run sop in a directory with a sop.mod file, SOPMOD automatically uses the pinned version. Version matching is flexible - sop = "0.4" will match any 0.4.x version installed.
If the required version isn't installed, you'll see:
error: sop.mod requires sop 0.5, but 0.4.1 is installed
hint: sopmod can manage multiple versions
Sop compiles to Go, so it needs a Go installation. SOPMOD manages this automatically:
# Install Go (usually not needed - done automatically)
sopmod install go 1.22
# List installed Go versions
sopmod list go
When you set a default Sop version, SOPMOD automatically installs and configures a compatible Go version. You can also pin Go in sop.mod:
go = "1.22"
SOPMOD installs versions to ~/.sopmod/:
~/.sopmod/
config.toml # Default versions
bin/
sop # Shim that dispatches to correct version
go/
1.22.0/
1.23.0/
sop/
0.4.0/
0.4.1/
The sop binary in ~/.sopmod/bin/ is a shim that:
sop.mod in the current or parent directoriesconfig.tomlsop binaryBSD 3-Clause. See LICENCE.