scripts | ||
src | ||
.envrc | ||
.gitignore | ||
Cargo.lock | ||
Cargo.toml | ||
flake.lock | ||
flake.nix | ||
README.md |
nixp-meta
General purpose meta tool for all things nix.
Currently implemented modules
PR tracking
Using nixp-meta track <pr>
on can see which nixpkgs branches a pull requests has reached, to gauge if updating is worth it yet.
Live PR diffs
If you cannot wait for a PR to be merged, or just want to test it while it's still being worked on, this module is for you.
nixp-meta add-pr <pr>
Downloads the diff for the specified PR to a folder (default ./patches/PR
)
nixp-meta update-prs
updates all prs.
Then using below module one can alter nixpkgs to use these patches
{
inputs,
...
}:
{
flake = {
nixpkgs-patched =
let
system = "x86_64-linux";
pkgs = import inputs.nixpkgs { inherit system; };
in
pkgs.stdenvNoCC.mkDerivation {
name = "Nixpkgs with patches from open PRs";
src = inputs.nixpkgs;
dontConfigure = true;
dontBuild = true;
doCheck = false;
dontFixup = true;
installPhase = ''
cp -r ./ $out
'';
patches =
if builtins.pathExists ../patches then pkgs.lib.filesystem.listFilesRecursive ../patches else [ ];
};
};
}