Am i following the workflow correctly?

Thanks a lot for your detailed explanations, views and suggestions @sleepy. And please forgive me for late reply.

understood, But since i wanted to migrate all my machines to nix i wanted to make use of home-manager. So if i want to remove home-manager now, just deleting the home.nix file and doing a rebuild switch be sufficient ?

when you mean “imperatively”, is it installing packages not permanently(i mean not through configuration.nix or home.nix) ?

so in short, one is user level generation and the other is system level generation.:+1: Understood

wow, that is a :relieved: relief. Thanks for the extra information.

usually When i add some package, i leave one old generation for a week or so and then i try to do a garbage collect at first and then do a switch rebuild. Even then i use to see older generations on my boot menu. but every where i see on internet, its same as how you have said. after some tries i found

sudo /run/current-system/bin/switch-to-configuration boot

removed my older generation. I wanted to know why does only switch rebuild after garbage collection works for others as you have mentioned and not for me. And now, its even worst.

If possible you can take a look at my current problem, where the default generation is older one and i have a newer generation ahead of the my current defaultas per boot, but when enter into default(old) and try to list the generation, it says im under new generation. This confusing situation made me realized that this conflict is due to the mishandling of commands(home-manager & system configuration) which i tried out unknowingly. I wanted to know what caused this exactly, which was the main reason why i wrote this topic. since then i stopped adding any changes to my system and wanted to fix it before i go further.