I’m not sure (I’m about to install it for the first time - on this computer) - According to this all you need to do is:
# nix-channel --add https://channels.nixos.org/nixos-23.11 nixos
# nixos-rebuild switch --upgrade
What if I just want to upgrade some packages? Like not change channel, but Firefox needs an update? I’m not op and don’t use flakes btw
If using flakes you could just for instance add another input. You can also set the input URLs to specific states of the nixpkgs repository by eg referencing specific commits. Then, you should be able to just, e.g., pick Firefox from unstable, another package from the current stable channel, and maybe a broken package from a pull request fixing said package.
If you are not using flakes you can also add system wide channels. IIRC you can then import these channels into your configuration.nix and select packages from the corresponding channels. But here the channels/inputs are not part of configuration itself in contrast to when using flakes.
There’s no command to just update all packages without changing the nixos version?
You can add something like this to your config: https://stackoverflow.com/questions/48831392/how-to-add-nixos-unstable-channel-declaratively-in-configuration-nix
You just need to have it fetch the tarball for nixos 23.11 instead of nixos unstable.