I have this problem with Tubleweed.
Installed a few DEs to try them out, but it was easyer to install than remove the same swathe of packages.
Now I have multiple file browsers and settings programs :(
Buy a new, bigger ssd and start again from scratch. Copy your data from the old disk, then retire it into your NAS to add storage there. Repeat every once in a while, and suddenly you have a homelab.
Right now I have a VM running NixOS, so I can figure things out. What annoys me is that when asked to list all the programs I want to use, I struggle, but installing things on the fly is so much more easier. Nix-env does that, but it doesn't add it to a /etc/nixos/configuration.nix, does it? Also, I know about home-manager, but I've heard it's extrememly difficult.
No, nix-env installs to your user environment, which the nixos-rebuild command barely touches. It doesn't touch the global configuration file. In fact you can even manage user accounts imperatively.
My approach is the following: try a program using nix run (or nix-shell, depending on the case) and if it does what I want, add it to my configuration and nixos-rebuild test. It will then be available permanently on next update.
What I also do is keep all nix-related files in a git repository under main user control and have the flake.nix (if using flakes, otherwise configuration.nix) soft linked into /etc/nixos. This also enables rollback on your configuration, not only on the actual system state.
I agree that each package takes more time, but OTOH, you save a lot of time and effort in the longer run. Also I don't really have that high fluctuation of packages that it actually matters.
home-manager is a bit in a weird spot in my opinion as in it's not very clear how it should be installed. If it's a NixOS module, your changes will only be applied during rebuild - which only root can trigger. But if you're already triggering those as root, you might as well as the packages globally. I generally install globally and configure the options using home-manager.
pacman -Qs, and look through packages you don't need and delete them. Then you'll hit a dependency, and another one, and another.... and you'll find out one app requires the gtk3 package so like 20-30 packages are just for it and can't get deleted
I installed SwayFX, but no program wanted to open in Wayland despite XWayland being installed, complaining about "no x server", even the wayland-native programs. I gave up and went to XFCE4, then back to SwayFX because Wayland magically started workinng.