ror - package manager
ror is the package manager for rorkos. written in rust, fast and simple.
basics
install a package
ror install firefox
short version:
ror i firefox
multiple packages:
ror i firefox gimp vlc
### remove a package
ror remove firefox
or:
ror d firefox
### upgrade everything
ror upgrade
or:
ror u
### upgrade a single package
ror update firefox
dry run:
ror update --dry-run firefox
### search
ror search browser
package names are case-insensitive. `firefox`, `Firefox`, and `FIREFOX` are the same.
### package info
ror info firefox
shows version, license, homepage, description, and available binaries.
### what's installed
ror list-installed
or:
ror l
how many packages:
ror count
or:
ror c
## groups
groups are package sets. for example, `desktop` installs xorg, firefox, and alacritty together.
list available groups:
ror list-groups
install a group:
ror install @desktop
## replacing packages
swap one package for another atomically:
ror di firefox chromium
old package is only removed after new one installs successfully.
## repositories
add a repository:
ror repo-add rorkos https://repo.rorkos.org
list repositories:
ror repo-list
remove:
ror repo-remove rorkos
sync before installing:
ror sync
or:
ror s
## declarative configuration
describe your system in YAML and apply:
ror apply --config /path/to/system.yaml
dry run:
ror apply --dry-run --config /path/to/system.yaml
or:
ror a --config /path/to/system.yaml
## building root filesystem
build a complete rootfs from a group:
ror build-rootfs --group desktop --target /mnt/rootfs --arch x86_64
resolves dependencies, downloads packages, sets up FHS.
## integrity check
verify all packages are intact:
ror check
offers to reinstall broken packages.
## recipe format (package YAML)
packages live in `/var/ror/packages/<category>/<name>/<name>.yaml`:
name: example-package version: 1.0.0 release: 1 arch: x86_64 description: an example package license: GPL-3.0-only homepage: https://example.com maintainer: user@example.com depends: - libexample musl.depends: - libformusl glibc.depends: - libforglibc conflicts: - conflicting-package oss: true binaries: - arch: x86_64
libc: g
type: tar.xz
filename: example-1.0.0-pkg-x86_64-glibc-rorkos.tar.xz
mirrors:
- rorkos
sha256: abc123...
install_prefix: /
quick reference
| command | alias | | alias | |
debugging
enable debug output:
ROR_DEBUG=1 ror install firefox