Uutils
The Uutils project reimplements ubiquitous command line utilities in memory-safe Rust.
Coreutils
Introduction
Uutils Coreutils is a cross-platform memory-safe reimplementation of GNU Coreutils in Rust
While all programs have been implemented, some options might be missing or different behavior might be experienced
For details, see Uutils Coreutils - GNU Coreutils Test Coverage
Though the main goal of the project is compatibility, Uutils Coreutils supports a few features that are not supported by GNU Coreutils
For details, see Uutils Coreutils - Extensions
Usage
In your configuration file, add the uutils-coreutils-noprefix
package in environment.systemsPackages
, and give it a high priority in order to avoid potential conflicts with coreutils-full
{ pkgs, ... }:
{
environment.systemPackages = with pkgs; [
(lib.hiPrio pkgs.uutils-coreutils-noprefix) # `lib.hiPrio` is used to avoid potential conflict with `coreutils-full` (also see https://discourse.nixos.org/t/how-to-use-uutils-coreutils-instead-of-the-builtin-coreutils/8904/15?u=malix)
];
}
If you want a prefixed package for some reason, use uutils-coreutils
instead
coreutils-full
package, only install it and give it higher priority
Using system.replaceDependencies
instead of environment.systemPackages
seems to be a better approach, but it has not been successful yet
Findutils
Uutils Findutils is a cross-platform memory-safe reimplementation of GNU findutils: xargs
, find
, locate
and updatedb
It aims to be a drop-in replacement of the original GNU findutils commands
Diffutils
Uutils Diffutils is is a cross-platform memory-safe reimplementation of GNU findutils: diff
, cmp
, diff3
and sdiff
It aims to be a drop-in replacement of the original GNU diffutils commands