[Nix-dev] A suggestion of Nixpkgs contributing workflow - help and opinions needed

Anderson Torres torres.anderson.85 at gmail.com
Sun Apr 10 20:51:56 CEST 2016


Hello, Nixers!

I am developing a very particular style of workflow for Nixpkgs. I
will describe it here:

0 - Choose a package to port for Nixpkgs - say, higan.

1 - Find the current release of your locally installed NixOS:

<user at HOME >$ nixos-version

16.09pre79453.32b7b00 (Flounder)

2 - Checkout to the corresponding ID on your nixpkgs clone tree (in
the case, 32b7b00), and give to it a name - here, Current:

<user at nixpkgs >$ git checkout 32b7b00
[... omitted messages...]
<user at nixpkgs >$ git checkout -b Current

3 - Branch again:

<user at nixpkgs >$ git checkout -b higan-test

4 - Hack it and commit:

<user at nixpkgs >$ nano pkgs/top-level/all-packages.nix
<user at nixpkgs >$ testThePackage
<user at nixpkgs >$ git add pkgs/top-level/all-packages.nix
<user at nixpkgs >$ git commit

5 - Another branch! Now, for pull-request

<user at nixpkgs >$ git checkout -b higan-rebase
<user at nixpkgs >$ git rebase upstream/master
<user at nixpkgs >$ git push -fvu origin higan-rebase

And, after it, just fill a pull-request for upstream Nixpkgs!

The idea of pass 2 above is to use "Current" as a base for more
branches and packages - so I can just checkout to Current and branch
it to, say, mgba.

---------------

My question is: how can I "update" Current if I update Nixos locally,
AND propagate the update to the derived branches?


More information about the nix-dev mailing list