i have a flake with my nixos configs for multiple machines.
i use the forSystem pattern to instantiate nixpkgs once per system.
i determine revisions of nixpkgs by committing the flake.lock
such that i can easily update with nix flake update
when i update machineA, i commit the lockfile and push it,
when i update machineB, i discover a problem, specific to machineB,
so i revert the upgrade. if i now push i also downgrade machineA,
which didn’t manifest the problem.
what’s the best way to decouple the revision control for as long as i need to fix
the problem?
should i just branch? then i could just scrap the whole differentiation between
machines and have a single machine whose details i overwrite per branch.
but id have to clone the correct branch when setting it up and constantly merge
the common stuff like packages i defined in the same flake
if i add another input nixpkgs2, i need a way to switch it on or off per machine.
this breaks the recommended perSystem pattern, because i now depend on the
machine before instantiating nixpkgs making all users of nixpkgs dependent
on the machine even if they do not need it, eg. packages i defined in the same flake
would love to know your solutions when having multiple machines
regards