Uutils: Difference between revisions
m expand request |
|||
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
{ 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 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
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