Announcing nixpkgs-unfree

Yeah, good point. In order to keep both in sync, you can have your main nixpkgs follow the same revision of nixpkgs that is used by nixpkgs-unfree:

inputs = {
  nixpkgs-unstable-unfree = {
     url = "github:numtide/nixpkgs-unfree/nixpkgs-unstable";
  };
  nixpkgs.follows = "nixpkgs-unstable-unfree/nixpkgs";
};

:tada: Thx a ton @zimbatm works like a charm.

When trying the same with nixos-23.05 using input

    nixos-unfree = {
      url = "github:numtide/nixpkgs-unfree";
      inputs.nixpkgs.follows = "nixos";
    };

and nix.registriy.nixpkgs-unfree.flake = inputs.nixos-unfree;
evaluation errors with

error: infinite recursion encountered

       at /nix/store/hl93xdyddynkvgpvfpvyvy1qvw0jvf11-source/pkgs/development/ruby-modules/gem-config/default.nix:289:71:

          288|     postPatch = let
          289|       getconf = if stdenv.hostPlatform.isGnu then stdenv.cc.libc else getconf;
             |                                                                       ^
          290|     in ''
(use '--show-trace' to show detailed location information)

Is my assumption correct that this error is based on nixpkgs-unfree not supporting the 23.05 channel?

Fixed to also track nixos-25.05. Looking into the ./sync.sh I was reminded that it currently force-pushes to those branches.

1 Like

Fixed the sync script so the commit history should be linear and you can now safely use nixos-unstable in your flake.lock.

1 Like

Thanks so much for the updates - highly appreciated.

Also above infinite recursion trace turned out to be a simple typo on my end - it’s nix.registry not nix.registriy :man_facepalming: