Installation
Official releases
You can download a binary from the download page, where you will also find the compiled packages for the installation on your system using a package manager.
Linux
In case you want to install the pre-compiled versions of rudof for Linux, you can take a look at the rudof_vX.X.X_x86_64_linux_gnu executable, where vX.X.X corresponds to the version to be installed.
By executing the following instructions you can get the pre-compiled binaries of the tool.
Remember to change the
vX.X.Xthing to the corresponding version.
curl -o rudof https://github.com/rudof-project/rudof/releases/download/vX.X.X/rudof_vX.X.X_x86_64_linux_gnu
chmod +x rudof
Nix
rudof ships a flake.nix that exposes a package, apps, a development shell, and NixOS/home-manager modules, so it can be consumed by other Nix projects without any extra work.
It supports x86_64-linux, aarch64-linux and aarch64-darwin.
Prerequisites
You need Nix with the flakes and nix-command experimental features enabled.
Try it without installing
You can run rudof directly from the flake without permanently installing anything:
nix run github:rudof-project/rudof#rudof -- <rudof-flags>
For example, to print the help message:
nix run github:rudof-project/rudof#rudof -- --help
Install into your profile
To install rudof persistently into your user profile, run:
nix profile install github:rudof-project/rudof#rudof
After this, rudof will be available in your $PATH for the current user.
To later upgrade to a newer version, run:
nix profile upgrade '.*rudof.*'
Available outputs
The flake exposes the following outputs:
| Output | Description |
|---|---|
packages.default | Same as packages.rudof |
packages.rudof | The main CLI binary |
apps.default | Same as apps.rudof |
apps.rudof | Runs the rudof binary |
apps.rudof-generate | Runs the rudof-generate utility bundled in the rudof package |
devShells.default | Development shell with the full Rust toolchain |
devShells.rudof | Development shell with the flake packages.rudof available |
nixosModules.default | NixOS module exposing programs.rudof (See reference) |
homeModules.default | home-manager module exposing programs.rudof (See reference) |
You can list all available outputs with:
nix flake show github:rudof-project/rudof
Using the flake as an input in your project
Add rudof as a flake input:
{
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
rudof.url = "github:rudof-project/rudof";
rudof.inputs.nixpkgs.follows = "nixpkgs";
};
}
Reference the package for your system directly, for example in a devShell, a NixOS configuration, or anywhere else pkgs-like values are built:
{ inputs, system, ... }:
{
environment.systemPackages = [ inputs.rudof.packages.${system}.rudof ];
}
NixOS module
Import nixosModules.default and enable programs.rudof:
{
imports = [ rudof.nixosModules.default ];
programs.rudof = {
enable = true;
# package = <override the default rudof package>;
settings = {
# any rudof setting, e.g.:
# version = "0.0.0";
};
extraArgs = [ "--some-flag" ];
};
}
home-manager module
Same config, via homeModules.default:
{
imports = [ rudof.homeModules.default ];
programs.rudof = {
enable = true;
settings = {
# ...
};
};
}
Windows
You can download the Windows binary from the releases page.
As in the case of Linux, the name of the file will be something like rudof_vX.X.X_x86_64_windows_msvc.exe, where vX.X.X corresponds to the version to be installed.
In systems whose version is Windows 10 and above, one can run the following snippet:
Remember to change the
vX.X.Xthing to the corresponding version.
curl -o rudof.exe https://github.com/rudof-project/rudof/releases/download/vX.X.X/rudof_vX.X.X_x86_64_windows_msvc.exe
Mac
As in the two previous cases, the MacOS binaries are available at the download page.
However, in the case of this operating system, two different executables are provided; namely, rudof_vX.X.X_x86_64_apple for Intel-based machines, and rudof_vX.X.X_aarch64_apple for the new M chips.
Remember to change the
vX.X.Xthing to the corresponding version, and the<<platform>>tag to the corresponding platform.
curl -o rudof https://github.com/rudof-project/rudof/releases/download/vX.X.X/rudof_vX.X.X_<<platform>>_apple.exe
Once downloaded, you have to change the permissions of the file as:
chmod +x rudof_vX.X.X_<<platform>>_apple
Using a Package Manager
Debian
rudof is also bundled as a Debian package that is available in the download page.
To obtain it you can follow the following steps, which are similar to the ones described in the previous sections.
Remember to change the
vX.X.Xthing to the corresponding version.
curl -o rudof.deb https://github.com/rudof-project/rudof/releases/download/vX.X.X/rudof_vX.X.X_amd64.deb
sudo dpkg -i rudof.deb
Compiling from source
Another alternative is to build the binaries on your own using cargo, as rudof has been implemented in Rust.
To do so, you just have to clone the Github repository and build it using the appropiate command.
The workflow could be as follows:
If you want to get the most efficient binary, at the cost of a longer compile time, you can pass the
--releaseflag to the last command.
git clone https://github.com/rudof-project/rudof.git
cd rudof
cargo build
Creating your own Debian package
By installing the cargo-deb utility you can follow the same steps as defined in the Debian section.
To do so, you just have to follow the steps below:
cargo install cargo-deb
Once you have it installed, you can call the cargo deb command to compile the project to a Debian project which can be installed using the dpkg package manager.
Remember to change the
X.X.Xthing to the corresponding version.
cargo deb
sudo dpkg -i target/debian/rudof_X.X.X_amd64.deb
Docker
TBD