Jump to content

Uutils

From NixOS Wiki
Revision as of 15:50, 11 August 2025 by Malix (talk | contribs) (feat: Uutils)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

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

We simply add uutils-coreutils-noprefix in environment.systemsPackages

❄︎ /etc/nixos/configuration.nix
{ 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

Findutils

Uutils Findutils is a cross-platform memory-safe reimplementation of the GNU findutils: xargs, find, locate and updatedb

It aims to be a drop-in replacement of the original GNU findutils commands

Nixpkgs - uutils-findutils

Diffutils

Uutils Diffutils is is a cross-platform memory-safe reimplementation of the GNU findutils: diff, cmp, diff3 and sdiff.

It aims to be a drop-in replacement of the original GNU findutils commands

Nixpkgs - uutils-diffutils