diff --git a/modules/home-manager/programs/gpxsee.nix b/modules/home-manager/programs/gpxsee.nix
index 13a28016da8f8b9921a701c2f6063c7679a206d0..6f9fa7d2bc3709e039b5755f4fb6d05e576d33ae 100644
--- a/modules/home-manager/programs/gpxsee.nix
+++ b/modules/home-manager/programs/gpxsee.nix
@@ -9,7 +9,10 @@ if pkgs.stdenv.isDarwin then
"Library/Application Support/GPXSee"
else
"${config.xdg.dataHome}/gpxsee";
mapDir = "${appDataLocation}/maps";
in
{
meta.maintainers = with maintainers; [ sikmir ];
@@ -24,41 +27,84 @@ description = "GPXSee package to install.";
type = types.package;
};
default = null;
description = "GPXSee DEM package to install.";
type = types.nullOr types.package;
mapsPackage = mkOption {
default = pkgs.gpxsee-maps;
default = null;
description = "GPXSee maps package to install.";
type = types.package;
type = types.nullOr types.package;
default = [];
description = "GPXSee POI packages to install.";
type = types.listOf types.package;
};
stylesPackage = mkOption {
default = pkgs.qtpbfimageplugin-styles;
default = null;
description = "QtPBFImagePlugin styles package to install.";
type = types.package;
type = types.nullOr types.package;
default = [];
description = "";
type = types.listOf types.str;
default = "";
description = "Style for MVT usable with QtPBFImagePlugin";
type = types.str;
};
};
{
home.packages = [ cfg.package pkgs.qtpbfimageplugin ];
}
if pkgs.stdenv.isDarwin then
"${cfg.package}/Applications/GPXSee.app/Contents/Resources/maps/OpenStreetMap.xml"
else
"${cfg.package}/share/gpxsee/maps/OpenStreetMap.xml";
"${cfg.mapsPackage}/share/gpxsee/maps/World/Europe/RU/OpenTopoMap-RU.xml";
"${cfg.mapsPackage}/share/gpxsee/maps/World/Europe/RU/nakarte-ggc500.xml";
"${cfg.mapsPackage}/share/gpxsee/maps/World/Europe/FI/Karjalankartta20k.xml";
"${cfg.mapsPackage}/share/gpxsee/maps/World/Europe/FI/Maastokartta.xml";
"${cfg.mapsPackage}/share/gpxsee/maps/World/CyclOSM.xml";
"${cfg.mapsPackage}/share/gpxsee/maps/World/MapTiler.xml";
(
mkIf (cfg.demPackage != null) {
home.file."${demDir}".source =
"${cfg.demPackage}/share/gpxsee/DEM";
}
)
(
let
mapXml = map: {
name = "${mapDir}/${map}";
value.source = "${cfg.mapsPackage}/share/gpxsee/maps/${map}";
};
in mkIf (cfg.mapsPackage != null && cfg.maps != []) {
home.file = listToAttrs (map mapXml cfg.maps);
}
)
(
let
mapPoi = poi: {
name = "${poiDir}/${poi.name}";
value.source = "${poi}/share/gpxsee/POI";
};
in mkIf (cfg.poiPackages != []) {
home.file = listToAttrs (map mapPoi cfg.poiPackages);
}
)
"${cfg.stylesPackage}/share/gpxsee/style/OpenMapTiles/klokantech-basic";
(
mkIf (cfg.stylesPackage != null && cfg.style != "") {
home.file."${styleDir}".source =
"${cfg.stylesPackage}/share/gpxsee/style/${cfg.style}";
}
)
}
application/octet-stream
This content has been proxied by September (3851b).