added cheap way to run program from nix

This commit is contained in:
didier committed 2025-01-07 11:32:46 -05:00
1 parent 84abee712d
commit def2de2d85
2 files changed
+37 -19

No files matched your search

+1 -1
View File
@@ -18,7 +18,7 @@ public class DataService
"tertiary_link",
"residential",
"unclassified"];
private readonly string path = "/home/didier/dev/YongeStreet/real.duckdb";
private readonly string path = System.Environment.GetEnvironmentVariable("PREPROCESSED_DUCKDB_FILE") ?? "/home/didier/dev/YongeStreet/real.duckdb";
public IList<Road> GetRoads(string city, DateOnly extractDate)
{
+36 -18
View File
@@ -102,23 +102,21 @@
doCheck = false;
};
static-server-url = "https://static.home.all-dressed-programming.com";
geofabrik-base-url =
"https://static.home.all-dressed-programming.com/download.geofabrik.de/north-america/canada/";
"${static-server-url}/download.geofabrik.de/north-america/canada/";
osm-quebec."2020" = pkgs.fetchurl {
url = "${geofabrik-base-url}quebec-200101.osm.pbf";
hash =
"sha256-RYoz4Qo/xwiEVBoA4xRHHpt8kvNS/mHskJBmR4+3vQk=";
hash = "sha256-RYoz4Qo/xwiEVBoA4xRHHpt8kvNS/mHskJBmR4+3vQk=";
};
osm-quebec."2021" = pkgs.fetchurl {
url = "${geofabrik-base-url}quebec-210101.osm.pbf";
hash =
"sha256-kKi/5hCVHaVvMVFAJWpJGPybmKwDu0QXePimYnHBKKk=";
hash = "sha256-kKi/5hCVHaVvMVFAJWpJGPybmKwDu0QXePimYnHBKKk=";
};
osm-quebec."2022" = pkgs.fetchurl {
url = "${geofabrik-base-url}quebec-220101.osm.pbf";
hash =
"sha256-iZUm+vMiDH6eyf4kmee6O8z+lN/voyjAt4RtzmSU6Wo=";
hash = "sha256-iZUm+vMiDH6eyf4kmee6O8z+lN/voyjAt4RtzmSU6Wo=";
};
osm-quebec."2023" = pkgs.fetchurl {
url = "${geofabrik-base-url}quebec-230101.osm.pbf";
@@ -166,6 +164,35 @@
'';
};
processed-duckdb-file = pkgs.fetchurl {
url = "${static-server-url}/yongestreet/duckdb/2025-01-06.duckdb";
hash = "sha256-jZEkKg/D3MOVWprVGmsc/ev2fY6TVcN3tD3NH23B2h4=";
};
web-server = pkgs.buildDotnetModule {
pname = "YongeStreet";
version = "0.1.0";
src = ./.;
nugetDeps = ./nuget-deps.nix;
projectFile = "YongeStreet/YongeStreet.csproj";
dotnetBuildFlags = [ "--no-self-contained" ];
dotnet-sdk = pkgs.dotnetCorePackages.sdk_8_0;
dotnet-runtime = pkgs.dotnetCorePackages.aspnetcore_8_0;
};
yonge-street = pkgs.writeShellApplication {
name = "yong-street";
runtimeInputs = [ ];
text = ''
cd ${web-server}/lib/YongeStreet
pwd
export PREPROCESSED_DUCKDB_FILE="${processed-duckdb-file}"
${web-server}/bin/YongeStreet
'';
};
python-virtual-env = pkgs.python312.withPackages (ps: [
ps.matplotlib
ps.jupyter
@@ -178,19 +205,10 @@
ps.jinja2
]);
web-server = pkgs.buildDotnetModule {
pname = "YongeStreet";
version = "0.1.0";
src = ./.;
nugetDeps = ./nuget-deps.nix;
projectFile = "YongeStreet/YongeStreet.csproj";
dotnetBuildFlags = [ "--no-self-contained" ];
dotnet-sdk = pkgs.dotnetCorePackages.sdk_8_0;
dotnet-runtime = pkgs.dotnetCorePackages.aspnetcore_8_0;
};
in {
packages = {
default = yonge-street;
yonge-street = yonge-street;
historical-data-dir = historical-data-dir;
poly2geojson = poly2geojson;
osmosis = osmosis;