NixOS / nix.dev

Official documentation for getting things done with Nix.
https://nix.dev
Creative Commons Attribution Share Alike 4.0 International
2.66k stars 255 forks source link

Patterns: patching upstream software #114

Open domenkozar opened 4 years ago

domenkozar commented 4 years ago

https://twitter.com/amanjeev/status/1333419722768048129

amanjeev commented 4 years ago

Thanks for adding this issue. Here is something a bit more elaborate that might help for a newbie like me faces with Nix

Patching upstream or helping with patching/updating upstream (Nixpkgs only, I have not even graduated here so not gonna talk about NixOS)

This is very clear in itself because not only do I want to update something but also help upstream get the benefit of the upgrade and help the community. I have not been able to do that for a variety of reasons. I can recall some -

So three things – a) Debugging b) Better error messages and formatting of those messages c) a standard way for derivation developers to document their process

General, techniques.

@grahamc knows a lot of things as stated here https://twitter.com/grhmc/status/1333429379360284672 but can those patterns be documented? When would you do what? Overlays? Patches (global local)? Shell or env? I perhaps know some of these and even use shell.nix heavily but that is where I am limited.

Basically, this tweet into a whole page https://twitter.com/grhmc/status/1333411016705765377

And this one https://twitter.com/grhmc/status/1322539935589687296?s=20

Tools at the periphery

I found this https://github.com/ryantm/nixpkgs-update while trying to upgrade rustup. I could not even build it. The commands listed ran for ages. What was it doing? Perhaps it is something I should not have run but then it says it is a tool to facilitate auto updates wherever possible. LOL

Are there other such tools and if yes then how do people find them?

davidak commented 3 years ago

The commands listed ran for ages.

It probably updates the full nixpkgs :smile: