If you use programs.ssh.startAgent = true; in your configuration then nixos will start the ssh-agent. See SSH public key authentication - NixOS Wiki for more details. After starting a terminal you can use ssh-add directly. The agent will keep the ssh key after closing the terminal.
Even though you didn’t really answer my question, my guess is, you should set up your ~/.ssh/config correctly to use the correct key when dealing with GH.
A SSH certificate for github is used for instance for signing etc, not for login. So can you show which steps you take and what configuration is done related with the ssh certificate?
Got an error git@github.com: Permission denied (publickey). fatal: Could not read from remote repository. Please make sure you have the correct access rights and the repository exist
Here somethings that i dont understand
ssh-agent is already running
Looking at ~/.ssh/known_host file i can see github.com key is already exist.
The only fixes that i can do is by adding ssh-add /path/to/file which only works until next reboot