Change:
<ins> { coreutils , fetchFromGitHub }: let advcpmv-data = { pname = "advcpmv"; patch-version = "0.9"; coreutils-version = "9.4"; version = "${advcpmv-data.patch-version}-${advcpmv-data.coreutils-version}"; src = fetchFromGitHub { owner = "jarun"; repo = "advcpmv"; rev = "a1f8b505e691737db2f7f2b96275802c45f65c59"; hash = "sha256-IHfMu6PyGRPc87J/hbxMUdosmLq13K0oWa5fPLWKOvo="; }; patch-file = advcpmv-data.src + "/advcpmv-${advcpmv-data.version}.patch"; }; coreutilsNoSingleBinary = coreutils.override { singleBinary = false; }; in assert (advcpmv-data.coreutils-version == coreutils.version); coreutilsNoSingleBinary.overrideAttrs (old: { inherit (advcpmv-data) pname version; patches = (old.patches or [ ]) ++ [ advcpmv-data.patch-file ]; outputs = [ "out" ]; # Since we don't need info files configureFlags = (old.configureFlags or [ ]) ++ [ # To not conflict with regular coreutils "--program-prefix=adv" ]; # Only cpg and mvg are desired, the others are not touched and therefore can # be removed. Equally, the info directory is removed. postFixup = (old.postFixup or "") + '' rm -rf $out/share/info pushd $out/bin mv advcp cpg mv advmv mvg rm adv* mv cpg advcp mv mvg advmv ln -s advcp cpg ln -s advcp acp ln -s advmv mvg ln -s advmv amv popd ''; meta = old.meta // { homepage = "https://github.com/jarun/advcpmv"; description = "Patched cp and mv from Coreutils that provides progress bars"; longDescription = '' Advanced Copy is a mod for the GNU cp and GNU mv tools which adds a progress bar and provides some info on what's going on. It was written by Florian Zwicke and released under the GPL. ''; }; }) </ins>

Discussion:
Project description 'cp' and 'mv' utilities with progress bar patches The utilize it (flag -r) to show cp, mv progress. Advanced Copy is a mod for the GNU cp and GNU mv tools which adds a progress bar and provides some info on what's going on. It was written by Florian Zwicke and released under the GPL. This repository exists because the website appears to be dead. You can still find it via the . More info: Metadata homepage URL: source URL: license: GPL platforms: unix, linux Priorities Add a :+1: [reaction] to [issues you find important]. [reaction]: [issues you find important]:
The after running the in the advcpmv repo would be and need the binary with name and for the flag -r to work. So symlink and to and respectively.
It is a patch against coreutils, basically?
Yes
On a hand, it can simply be treated as a , or even better, a NUR-like overlay. On the other hand, coreutils is a core (pun not intended) package for Nixpkgs, a dependency for things from fetchers to stdenvs. Modifying it has the potential to be a mass-rebuiding mess. Indeed, patches for coreutils should be "vendored". Let's try.
Sorry I am so new to Nix and NixOS (2 weeks usage), I don't even know it would mess things up. I don't know much about , isn't it just permanently modify and in place? I have learned something about writing a derivation this week, and here is the .nix file I am using and work just fine for me:
Nix is source-based - it builds the binaries (and artifacts in general) from the sources. Think like picking Archlinux but from the PKGBUILDS. Despite being source-based, Nix can rely on local and remote binary caches to speedup the building. Certainly, when a package source is updated, its old entry in the cache is invalidated and the new version is put in its place. For an application like, say, Zsnes emulator, it affects only Zsnes.

On the other, for a library like, say, SDL, its update invalidates SDL and everything that uses SDL - zsnes, bochs, frets-on-fire, dosbox, mednafen... the list is huge. And it applies to everything, from the core utilities like coreutils to desktops like XFCE. provides a better visual analogy.
Thanks for explaining it to me. I think it would be better not touching those basic packages.
I have tried this and it worked: Now I am thinking if it's better to put this in my (future) NUR overlay or in the main Nixpkgs.
I think that this issue should stay open because it is not necessary to edit the coreutils packaged in nix. One can just make another package that only includes advcpmv commands like arch does:
The problem is that advcpmv is a patch that modifies only cp and mv, while coreutils has a truckload of extra commands. It can cause conflicts with existing packages.
I just tried to rebuild my config(was working before), got: What's the suggested resolution here?
From this it seems like, the only way out is to not use this package anymore? It's an dependency to some nnn file browser feature. I'll look for alternatives for it.
Two weeks ago . If you are interested in keeping advcpmv - and receiving because "it will break the world" in a future update of Coreutils -, feel free to pick it.