- Notifications
You must be signed in to change notification settings - Fork4
🦀 Install modern Rust-based replacements of packages such as coreutils, findutils, diffutils and sudo, making them the default on an Ubuntu system 🦀
License
jnsgruk/oxidizr
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
oxidizr
is a command-line utility for managing system experiments that replace traditional Unix utilities with modern Rust-based alternatives on Ubuntu systems.
It currently supports the following experiments:
By default, thecoreutils
andsudo-rs
experiments are enabled because they're the most complete, stable experiments. Others can be toggled using command line arguments shown below.
Warning
oxidizr
is an experimental tool to help developers and tinkerers play with relatively new alternatives to core system utilities. It may cause a loss of data, or prevent your system from booting, so use with caution!
You can installoxidizr
by downloading binaries from the Githubreleases. Releases are currently published foramd64
andaarch64
.
The following will establish the latest released version, download the archive and extract theoxidizr
binary to/usr/bin/oxidizr
.
# Get the latest releaselatest="$(curl -s"https://api.github.com/repos/jnsgruk/oxidizr/releases/latest"| jq -r'.name')"# Download and install to /usr/bin/oxidizrcurl -sL"https://github.com/jnsgruk/oxidizr/releases/download/$latest/oxidizr_Linux_$(uname -m).tar.gz"| sudo tar -xvzf - -C /usr/bin oxidizr
Or you can build and installoxidizr
usingcargo
:
cargo install --git https://github.com/jnsgruk/oxidizr
The program must be run as root and supports two main commands:
enable
: Activates selected experimentsdisable
: Deactivates selected experiments
A command-line utility to install modern Rust-based replacements of essential packages such as coreutils, findutils, diffutils and sudo and make them the default on an Ubuntu system.Usage: oxidizr [OPTIONS]<COMMAND>Commands:enable Enable experiments with oxidizr disable Disable any previous experiments enabled with oxidizrhelp Print this message or thehelp of the given subcommand(s)Options: -v, --verbose... Increase logging verbosity -q, --quiet... Decrease logging verbosity -y, --yes Skip confirmation prompts -a, --all Enable/disable all known experiments -e, --experiments<EXPERIMENTS>... Select experiments toenable or disable [default: coreutils sudo-rs] -h, --help Printhelp (see a summary with'-h') -V, --version Print version
# Enable all experimentssudo oxidizrenable --all# Enable just coreutils and findutils experimentssudo oxidizrenable --experiments coreutils findutils# Enable just coreutils experiment without prompting with debug logging enabledsudo oxidizrenable --experiments coreutils --yes -v
# Build with cargocargo build# Run testscargotest -- --show-output# Lint / formatcargo clippycargo fmt
About
🦀 Install modern Rust-based replacements of packages such as coreutils, findutils, diffutils and sudo, making them the default on an Ubuntu system 🦀