Clarifications on home-manager working

Hi! I am trying to configure home-manager, and I have some questions regarding it. Here are my dotfiles for MacOS just in case.
So background, I tried to install home-manager the Darwin way. I coudnt do it, I tried whatever I could based on website mentions, didnt work.
Now I am trying Standalone one. I followed the same instructions present here.

Here are my questions -

  1. whenever I do nix-env -iA nixpkgs.anything, it gives me error: profile '/Users/anirudhgupta/.local/state/nix/profiles/profile' is incompatible with 'nix-env'; please use 'nix profile' instead.
    I read that once you use nix profile anywhere, you cant use it. So does that mean I can NEVER use it??? Anyway I can? Rather should I?

  2. So I have managed to get home-manager running.
    So here is the system how it works on my machine -

  • I have ~/dotfiles/zsh/.zshrc, this was meant initially for stow but now I am switching to home-manager.
  • so using home.nix and home-manager, I have now ~/.zshrc same as ~/dotfiles/zsh/.zshrc, but it points to /nix/store/...something. So I cant edit ~/.zshrc(because it says its not editable, since its symlinked to /nix/... but I have to edit the dotfiles one and home-manager switch then, the changes will be reflected.

Is there not a way I can edit ~/.zshrc? or I now always have to edit the dotfiles one. And am I doing this all correctly???

  1. home-manager was taking ~/.config/home-manager/home.nix as default, but I had my home.nix in the my-dotfiles as linked above. So I symlinked the ~/.config/home-manager/home.nix to my home.nix. and home-manager switch works great. Question is, is there a way I can change the default somewhere? Or this is the way only.

  2. I can specify some packages in home.nix as well as flake.nix. So globally, both the packages mentioned will be available to me? In which cases will flake.nix or home.nix or (Say) a shell.nix(for some directory) packages be available and non-available to me.

  3. (not related to either above) In my MacOS, I have jankyborders installed. How do I activate it? Usually you do it with brew start services borders. But this time it’s not installed via brew but nixpkgs. So how do I activate it???

Thanks for taking your time and clarifying my doubts. I would love some clean references if you can point out as responses. Thanks so much for the amazing Nix, its a bit complicated for me initially, hopefully ill get hang of things soon!