A powerful, lightweight package manager for ObsidianOS, built with Rust. opm leverages pacman for package operations and obsidianctl for managing system extensions, providing a seamless way to install, remove, and manage software packages as ObsidianOS Overlays.
- Fast & Efficient: Built with Rust for high performance and low resource usage
- Pacman Integration: Uses Arch Linux's pacman for robust package management
- Extension Management: Installs packages as ObsidianOS Extensions for clean system isolation
- Advanced Querying: Search, list, and inspect packages with detailed information
- Maintenance Tools: Clean cache, remove orphans, and update databases
- Transaction Logging: Keep track of all package operations with detailed history
- Flexible Commands: Support for both short options (
-S,-R,-Q) and subcommands
| Command | Description |
|---|---|
install |
Install packages with options for reinstall and download-only |
remove |
Remove packages with autoremove support |
update |
Update package database |
search |
Search for packages in repositories |
list |
List packages (installed, upgradable, or all) |
show |
Display detailed package information |
depends |
Show package dependencies |
clean |
Clean package cache |
autoremove |
Remove unused dependencies |
history |
View transaction history |
Note: It should be available on ObsidianOS Version 2025-09-15-patch0 onwards.
yay -S obsidianospm-git # or paru. yay comes built into ObsidianOS.-
Clone the repository:
git clone https://github.com/Obsidian-OS/opm.git cd opm -
Build with Cargo:
cargo build --release
-
Install:
sudo cp target/release/opm /usr/local/bin/
pacman(Arch Linux package manager)obsidianctl(ObsidianOS's secret sauce)mksquashfs(for creating SquashFS images)tar(for package extraction)
opm <command> [options]Install a package:
opm install firefox
# or using short options
opm -S firefoxRemove a package:
opm remove firefox
# or
opm -R firefoxSearch for packages:
opm search "web browser"
# or
opm -Ss "web browser"List installed packages:
opm list --installed
# or
opm -QShow package information:
opm show firefox
# or
opm -Si firefoxUpdate package database:
opm updateClean cache:
opm clean --allView transaction history:
opm history --limit 20Remove unused dependencies:
opm autoremoveDownload only (without installing):
opm install --download-only package_nameForce reinstall:
opm install --reinstall package_nameShow dependencies:
opm depends package_name
# or
opm -Sd package_nameContributions are welcome! Please feel free to submit a Pull Request. For major changes, please open an issue first to discuss what you would like to change.
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Built for ObsidianOS
- Uses Arch Linux's pacman package manager
- Thanks to the Rust community for excellent tooling