- Go 80.3%
- Nix 19.7%
| mount | ||
| nix | ||
| .gitignore | ||
| flake.lock | ||
| flake.nix | ||
| go.mod | ||
| main.go | ||
| README.md | ||
rnx
The next-generation Nix-Shell
About
rodeonix tries to make it possible to easily run unpatched binaries on NixOS. It uses the Kernel’s OverlayFS to mount Nix Packages at /usr. This allows programs to find their expected libraries just like on any other FHS-Compliant Distro. Demo
Usage
For a Quick-Start you can just run the following Command:
nix run git+https://git.pauljako.de/rodeo/rnx -- -f <flake path and attribute>
Keep in mind however, that right now it still requires a custom version of glibc.
I have provided a precompiled version for x86_64 at the following Link:
https://files.pauljako.de/Projects/rnx/glibc-2.42.0-x86_64-linux.tar.gz
Just unpack it into /rodeo/overlays and you should be good to go.
Flake Format
rodeonix reads it's overlay-configurations from a flake.nix.
A sample of an overlay-configuration is provided within this repo under the overlayConfigurations.default Attribute.
But essentially, a flake could look as follows:
{
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-25.11";
};
outputs = {
self,
nixpkgs,
...
}: let
pkgs = import nixpkgs {system = "x86_64-linux";};
in {
overlayConfigurations = { # This is the recommend attribute name
default = {
nix-packages = with pkgs; []; # The list of packages that should be added to /usr
command = "" ; # The command that should be executed inside the overlay. If left empty, it will be bash
};
};
};
}