I have a low-end PC so i can’t handle build and compile every packege i want to install.
I tried to read about caches but I didnt understand how it work.
is there always a binary available for every packege or only the large ones?, or do i have compile everything?, and how can i see if a prebuild binery exists?
Nix is configured with the official cache by default. You would have to go out of your way to remove it. If you use one of the release channels, pretty much everything provided should be available from there. If your pulling packages from master, hydra may not have had enough time to build and deploy it to the cache. This can also be true for nixpkgs-unstable sometimes, although a lot of packages are cached from there.
On a release channel, the only time you’d have to build a package is if you modify it with an overlay. For NUR, and other community projects, there is the nix-community cache, which can be set up fairly easily for a user with cachix use nix-community, or for the whole system with sudo cachix use nix-community.
If you wanna know if an exact derivation has a binary on the official cache, you can check the hydra logs.