I would like to switch to stable 23.05 everywhere. I am confused about which tag I should use for the nixpkgs input in that case. It is clear for nixos (pkgs-stable.url), it is (less) clear for darwin (pkgs-stable-darwin.url).
How is the nixpkgs-23.05-darwin tag different from the nixos-23.05 tag?
What should one use when configuring both nixos and darwin?
For NixOS use nixos-* branches, for Mac use nixpkgs-*-darwin or nixpkgs-unstable. Yes annyoing, but this is the safest way to use it.
Using nixos-* on mac might cause some source builds, while using nixpkgs-*-darwin on NixOS might not only cause source builds, but severe failures, as important things like the kernel and bootloader are not checked.
Thanks @NobbZ , but how can I make this work in a flake that covers both architectures? I don’t understand how the nixpkgs is passed on to the respective machines. I made an attempt to override in the flake linked above but could not get it to work.
This is what I am trying to do indeed. But I do not see how, because I do not see how I am passing packages to darwin machines… pardon my ignorance, I am new to this.
Having the same nixpkgs sources for Nixos and macOS cannot be guaranteed, because the the branches are independent from one another and there’s no target in hydra that performs both the NixOS tests and darwin tests, from what I understand, but I may be wrong.
In the end, I use two sub-flakes, one for darwin and the other for Linux that reference the main repo where most of the outputs are defined. In this way I can “override” some of the main flake outputs just for one of the OSes, while keeping most of the stuff declared in a common “base” flake.
That is correct, and the pkgs attribute is passed on automatically by the modules system. I think because pkgs is part of _module.args by default?
I not sure how to override it…
I have tried this (see commented out line), but this causes an error about the ‘lib’ attribute missing…