

You don’t need to add mcfly bash integration to your .bashrc manually. Remove it from home.packages and instead enable the home-manager module with programs.mcfly.enable = true;. That’s all you need to do, it has a enableBashIntegration setting that’s true by default. Same for atuin, programs.atuin.enable = true; is enough.
It’s an habit you have to learn when switching to nix, check first if there is a module for the program you want to install before resorting to home.packages or environment.systemPackages.


Yes, just enabling a service or program is one line in nix but the module behind can do a lot of things (install the package, create and enable the systemd service file, install and setup any db if needed or other service dependencies, set some default settings…). For some service that would be quite the bash script.
Also theming in nix is very easy for the apps supported by Stylix.