Hi, new NixOS user here.
Liking it so far but just hit an issue that I'm having trouble getting past. Pages in firefox cannot access my geolocation, even after I hit allow when the page asks for permission. Same with the default Gnome maps app, it just places me in a central location of my countrys capital (I don't live in the capital).
I've added the following to my configuration.nix file and rebuilt but it made no difference.
# Geolocation
services.geoclue2.enable = true;
environment.sessionVariables = {
# Allows geolocation in firefox
MOZ_ENABLE_WAYLAND = "1";
};
What am I missing?
8 Comments
balsoft@lemmy.ml · 2 pts · 1y
Do you have some device that provides geolocation capabilities, e.g. a GPS modem, connected to your system? Because otherwise the only way to get your location is via geoip, which can be imprecise enough to place you in a different city, as you can see for yourself.
hyveltjuven@lemmy.world · 2 pts · 1y
No gps modem but geolocation works on my other computer running fedora which also doesn't have gps.
balsoft@lemmy.ml · 1 pts · 1y
Hm, interesting. The other user said that geoclue tries using beacondb (I didn't know that :D).
Can you try running this:
$(nix-build '<nixpkgs>' -A geoclue2)/libexec/geoclue-2.0/demos/where-am-i? It should print out your location according to geoclue, and the source which it has used.For me, it looks like this:
hyveltjuven@lemmy.world · 1 pts · 1y
My output is slightly difference, it seems I'm not getting data from GeoIP, but from Wifi data.
balsoft@lemmy.ml · 1 pts · 1y
Hmm, interesting. So this is probably the case of beacondb having incorrect data for your surrounding WiFi APs. I don't know why it works on the other laptop, maybe it uses a different location database?
hyveltjuven@lemmy.world · 1 pts · 1y
Just noticed that your accuarcy is at 25000 meters as well, are you getting anywhere near your actual location in map applications?
balsoft@lemmy.ml · 1 pts · 1y
Well, it gets the city right at least, and that's enough for me
Coelacanthus@lemmy.kde.social · 1 pts · 1y
GeoIP is the last way. Before that, geoclue will try to locate using found Wi-Fi and Cell towers via beacondb.net (via Mozilla Location Service before it shut down). If beacondb.net return fail or (0, 0), it try GeoIP at last.