Nix with Syntax

I am curious about some nix syntax that is weird.

here is what I am currently useing that works.

home.packages = with pkgs; [
tofi
swaybg

] ++ [
inputs.nixpkgs-unstable.legacyPackages.x86_64-linux.cosmic-term
];

but I would like all of the packages in the second set to use the unstable packages.

what I thought would work

home.packages = with pkgs; [
tofi
swaybg

] ++ with inputs.nixpkgs-unstable.legacyPackages.x86_64-linux; [
cosmic-term
];

why doesn’t this work?

Should be the case of operator precedence

try this

] ++ (with inputs.nixpkgs-unstable.legacyPackages.x86_64-linux; [
  cosmic-term
]);