How to switch to a stable channel and install using nix-env without needing the -f option?

At the risk of confusing you by throwing more unfamiliar ideas at you at a time when you are already dealing with plenty (in which case, just ignore me for now, and come back to the idea later), I would recommend not using nix-env -i, and look into using home manager instead.

nix-env -i is already a big step forward from other state-mutating package managers, but home-manager allows you to manage your environment in a declarative way, and this brings you many more of the advantages that Nix has to offer!