You could always dip your toe into a tiling window manager instead of a desktop environment. Its got an initial learning curve, and it helps to have something to do to learn it, and not just playtesting it.
rutrum
I use Vutlr. They have a nice UI.
This is very multipurpose, but if you haven't heard of gridfinity, there might be modules that would be helpful you home lab, or your home in general.
Wow, I never considered swap. I've had this problem with my laptop for the last year. I'll fix this, thank you.
To be fair, you're taking on a lot of new things at once. You can spin up docker containers on windows too, all while using a UI. I think it's great your exposing yourself to self hosting, linux, command line interface, and containerization all at once, but don't beat yourself up for it taking longer than expected. A lot of it takes time. I encourage you to keep trying and playing. Good luck!
Do you have recommendations for a new controller? I've been looking at 8bitdos: https://www.8bitdo.com/ultimate-2.4g-wireless-controller/
I think its best to move past bluetooth, if we can. I dont think it was ever a great protocol. But things like phones can't always have dongles either, so it's necessary.
What software did you use to make this image? Its very well done
Do you use a dock or bar? I find it hard to justify it these days. It tells me the time, thats about it.
Add this to your nix.conf: experimental-features = nix-command flakes
Then check out nix --help.
Here's an example of a tutorial that uses flakes and the new cli. You might glance through here to see how the syntax compares: https://zero-to-nix.com/start
They have resolved this exact problem. There is an "experimental" cli tool that fixes a lot of your complaints about nix-env, nix-channel, etc. Itcs wrapped together with "flakes". This newer feature is a little different, and working with or without flakes segments the community AND the types of articles about nix, like this one.
As far as I know though, nixos related thing still have a bizarre set of commands, and even with flakes "nixos-rebuild switch --upgrade" is still how you switch configs.
And as far as installation goes, using nix-env -iA really is a bad practice. Thats installing something ad hoc like you would in any other package manager. That defeats the point of nixos, where your configuration file explicitly defines all the packages you need installed, and nothing else. Nix will remove any packages you didnt specify.
Ive been playing with the nixified.ai project, which packages two web interfaces for LLMs and image generation. Im also looking into Tabby.ml for code assistant as well. I haven't gotten deep, but these all look like promising options for utilitizing a server's hardware but offering the functionality across the network.