forked from jan-leila/nix-config
feat: started to create panoramax config
This commit is contained in:
parent
22b9c5b3f9
commit
88dcba346f
3 changed files with 111 additions and 0 deletions
|
|
@ -25,5 +25,8 @@
|
||||||
(final: prev: {
|
(final: prev: {
|
||||||
mapillary-uploader = pkgs.callPackage ./mapillary-uploader.nix {};
|
mapillary-uploader = pkgs.callPackage ./mapillary-uploader.nix {};
|
||||||
})
|
})
|
||||||
|
(final: prev: {
|
||||||
|
panoramax = pkgs.python3.pkgs.callPackage ./panoramax.nix {};
|
||||||
|
})
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
|
||||||
65
modules/common-modules/pkgs/panoramax.nix
Normal file
65
modules/common-modules/pkgs/panoramax.nix
Normal file
|
|
@ -0,0 +1,65 @@
|
||||||
|
{
|
||||||
|
lib,
|
||||||
|
fetchFromGitLab,
|
||||||
|
buildPythonPackage,
|
||||||
|
flit-core,
|
||||||
|
flask,
|
||||||
|
pillow,
|
||||||
|
requests,
|
||||||
|
python-dotenv,
|
||||||
|
authlib,
|
||||||
|
sentry-sdk,
|
||||||
|
python-dateutil,
|
||||||
|
croniter,
|
||||||
|
pydantic,
|
||||||
|
...
|
||||||
|
}: let
|
||||||
|
pname = "geovisio";
|
||||||
|
version = "2.10.0";
|
||||||
|
repo = fetchFromGitLab {
|
||||||
|
owner = "panoramax";
|
||||||
|
repo = "server/api";
|
||||||
|
rev = version;
|
||||||
|
hash = "sha256-kCLcrOe7jJdIfmWWOmxQ5dOj8ZG2B7s0qFpHXs02B/E=";
|
||||||
|
};
|
||||||
|
in
|
||||||
|
buildPythonPackage {
|
||||||
|
inherit pname version;
|
||||||
|
|
||||||
|
pyproject = true;
|
||||||
|
|
||||||
|
src = repo;
|
||||||
|
|
||||||
|
build-system = [
|
||||||
|
flit-core
|
||||||
|
];
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
flask
|
||||||
|
pillow
|
||||||
|
requests
|
||||||
|
python-dotenv
|
||||||
|
authlib
|
||||||
|
sentry-sdk
|
||||||
|
python-dateutil
|
||||||
|
croniter
|
||||||
|
pydantic
|
||||||
|
];
|
||||||
|
|
||||||
|
# Skip tests as they may require network access or specific setup
|
||||||
|
doCheck = false;
|
||||||
|
|
||||||
|
# Disable runtime dependencies check as many dependencies are not available in nixpkgs
|
||||||
|
dontCheckRuntimeDeps = true;
|
||||||
|
|
||||||
|
# Disable imports check as many dependencies are not available in nixpkgs
|
||||||
|
pythonImportsCheck = [];
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "Panoramax API client and tools for street-level imagery platform";
|
||||||
|
homepage = "https://gitlab.com/panoramax/server/api";
|
||||||
|
license = licenses.mit;
|
||||||
|
maintainers = [];
|
||||||
|
platforms = platforms.all;
|
||||||
|
};
|
||||||
|
}
|
||||||
43
modules/nixos-modules/server/panoramax.nix
Normal file
43
modules/nixos-modules/server/panoramax.nix
Normal file
|
|
@ -0,0 +1,43 @@
|
||||||
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
osConfig,
|
||||||
|
...
|
||||||
|
}: let
|
||||||
|
cfg = config.services.panoramax;
|
||||||
|
in {
|
||||||
|
options.services.panoramax = {
|
||||||
|
enable = lib.mkEnableOption "panoramax";
|
||||||
|
|
||||||
|
package = lib.mkOption {
|
||||||
|
type = lib.types.package;
|
||||||
|
default = pkgs.panoramax;
|
||||||
|
description = "The panoramax package to use";
|
||||||
|
};
|
||||||
|
|
||||||
|
# TODO: create configs
|
||||||
|
# TODO: auto config db
|
||||||
|
# config = {
|
||||||
|
# DB_PORT = lib.mkOption {};
|
||||||
|
# DB_HOST = lib.mkOption {};
|
||||||
|
# DB_USERNAME = lib.mkOption {};
|
||||||
|
# DB_PASSWORD = lib.mkOption {};
|
||||||
|
# DB_NAME = lib.mkOption {};
|
||||||
|
# FS_URL = lib.mkOption {};
|
||||||
|
# };
|
||||||
|
};
|
||||||
|
|
||||||
|
config = lib.mkIf cfg.enable (
|
||||||
|
lib.mkMerge [
|
||||||
|
{
|
||||||
|
# TODO: configure options for the package
|
||||||
|
}
|
||||||
|
(
|
||||||
|
lib.mkIf osConfig.host.impermanence.enable {
|
||||||
|
# TODO: configure impermanence for panoramax data
|
||||||
|
}
|
||||||
|
)
|
||||||
|
]
|
||||||
|
);
|
||||||
|
}
|
||||||
Loading…
Add table
Add a link
Reference in a new issue