Jump to content

Uutils: Difference between revisions

From NixOS Wiki
Malix (talk | contribs)
m expand request
Malix (talk | contribs)
Line 22: Line 22:
   ];
   ];
}|name=/etc/nixos/configuration.nix|lang=nix}}
}|name=/etc/nixos/configuration.nix|lang=nix}}
<small>If you want a prefixed package for some reason, use [https://search.nixos.org/packages?show=uutils-coreutils <code>uutils-coreutils</code>] instead</small>  
<small>If you want a prefixed package for some reason, use [https://search.nixos.org/packages?show=uutils-coreutils <code>uutils-coreutils</code>] instead</small>
 
{{Note|1=This will '''not''' replace [https://search.nixos.org/packages?show=coreutils-full the <code>coreutils-full</code> package], only install it over and giving it higher priority
 
Using [https://search.nixos.org/options?show=system.replaceDependencies <code>system.replaceDependencies</code>] instead of [https://search.nixos.org/options?show=environment.systemPackages <code>environment.systemPackages</code>] seems to be a better approach, but it has not been successful yet
 
<small>For details, see [https://discourse.nixos.org/t/how-to-use-uutils-coreutils-instead-of-the-builtin-coreutils/8904/36?u=malix NixOS - Discourse: "How to use uutils-coreutils instead of the builtin coreutils?" (8904) - Comment 36]</small>}}


== Findutils ==
== Findutils ==

Revision as of 14:54, 16 August 2025

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

❄︎ /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

Note: This will not replace the coreutils-full package, only install it over and giving it higher priority

Using system.replaceDependencies instead of environment.systemPackages seems to be a better approach, but it has not been successful yet

For details, see NixOS - Discourse: "How to use uutils-coreutils instead of the builtin coreutils?" (8904) - Comment 36

Findutils

☶︎
This section needs to be expanded. Further information may be found in the related discussion page. Please consult the pedia article metapage for guidelines on contributing.

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

Nixpkgs - uutils-findutils

Diffutils

☶︎
This section needs to be expanded. Further information may be found in the related discussion page. Please consult the pedia article metapage for guidelines on contributing.

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

Nixpkgs - uutils-diffutils