I don't believe there is a way to make the new store permanent, I think at startup the $EntityStores
is empty by design.
But you can add the relevant code to your .init file, where you can keep any code you want executed when the kernel starts. I have tons of stuff in my init file, little helper functions I find to be useful.
To find the init file, run
SystemOpen@Echo @ FileNameJoin[{$UserBaseDirectory, "Kernel", "init.m"}]
add the lines
store = Get[ "~/Downloads/General-Topology-EntityStore.wl" ];
AppendTo[ $EntityStores , store];
And then when you restart your kernel you should be able to run
EntityValue["GeneralTopologyTheorem", "Activate"] // Activate;
Entity["GeneralTopologyTheorem", "ClassicalAscolisTheorem"]["QualifyingObjects"]
and get the result. There isn't a way to have the "Activate" code run beforehand, since the EntityValue framework is loaded after the init.m file is read.