mirror of
https://github.com/TheAnachronism/docspell.git
synced 2025-06-22 02:18:26 +00:00
Extend nix modules for new config options
This commit is contained in:
@ -4,6 +4,11 @@ let
|
|||||||
full-text-search = {
|
full-text-search = {
|
||||||
enabled = true;
|
enabled = true;
|
||||||
solr.url = "http://localhost:${toString config.services.solr.port}/solr/docspell";
|
solr.url = "http://localhost:${toString config.services.solr.port}/solr/docspell";
|
||||||
|
postgresql = {
|
||||||
|
pg-config = {
|
||||||
|
"german" = "my-germam";
|
||||||
|
};
|
||||||
|
};
|
||||||
};
|
};
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
|
@ -213,6 +213,7 @@ Docpell Update Check
|
|||||||
};
|
};
|
||||||
full-text-search = {
|
full-text-search = {
|
||||||
enabled = false;
|
enabled = false;
|
||||||
|
backend = "solr";
|
||||||
solr = {
|
solr = {
|
||||||
url = "http://localhost:8983/solr/docspell";
|
url = "http://localhost:8983/solr/docspell";
|
||||||
commit-within = 1000;
|
commit-within = 1000;
|
||||||
@ -220,6 +221,17 @@ Docpell Update Check
|
|||||||
def-type = "lucene";
|
def-type = "lucene";
|
||||||
q-op = "OR";
|
q-op = "OR";
|
||||||
};
|
};
|
||||||
|
postgresql = {
|
||||||
|
use-default-connection = false;
|
||||||
|
jdbc = {
|
||||||
|
url = "jdbc:postgresql://server:5432/db";
|
||||||
|
user = "pguser";
|
||||||
|
password = "";
|
||||||
|
};
|
||||||
|
pg-config = {};
|
||||||
|
pg-query-parser = "websearch_to_tsquery";
|
||||||
|
pg-rank-normalization = [ 4 ];
|
||||||
|
};
|
||||||
migration = {
|
migration = {
|
||||||
index-all-chunk = 10;
|
index-all-chunk = 10;
|
||||||
};
|
};
|
||||||
@ -1371,6 +1383,12 @@ in {
|
|||||||
Currently the SOLR search platform is supported.
|
Currently the SOLR search platform is supported.
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
backend = mkOption {
|
||||||
|
type = types.str;
|
||||||
|
default = defaults.full-text-search.backend;
|
||||||
|
description = "The backend to use, either solr or postgresql";
|
||||||
|
};
|
||||||
|
|
||||||
solr = mkOption {
|
solr = mkOption {
|
||||||
type = types.submodule({
|
type = types.submodule({
|
||||||
options = {
|
options = {
|
||||||
@ -1408,6 +1426,61 @@ in {
|
|||||||
default = defaults.full-text-search.solr;
|
default = defaults.full-text-search.solr;
|
||||||
description = "Configuration for the SOLR backend.";
|
description = "Configuration for the SOLR backend.";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
postgresql = mkOption {
|
||||||
|
type = types.submodule({
|
||||||
|
options = {
|
||||||
|
use-default-connection = mkOption {
|
||||||
|
type = types.bool;
|
||||||
|
default = defaults.full-text-search.postgresql.use-default-connection;
|
||||||
|
description = "Whether to use the primary db connection.";
|
||||||
|
};
|
||||||
|
jdbc = mkOption {
|
||||||
|
type = types.submodule ({
|
||||||
|
options = {
|
||||||
|
url = mkOption {
|
||||||
|
type = types.str;
|
||||||
|
default = defaults.jdbc.url;
|
||||||
|
description = ''
|
||||||
|
The URL to the database.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
user = mkOption {
|
||||||
|
type = types.str;
|
||||||
|
default = defaults.jdbc.user;
|
||||||
|
description = "The user name to connect to the database.";
|
||||||
|
};
|
||||||
|
password = mkOption {
|
||||||
|
type = types.str;
|
||||||
|
default = defaults.jdbc.password;
|
||||||
|
description = "The password to connect to the database.";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
});
|
||||||
|
default = defaults.full-text-search.postgresql.jdbc;
|
||||||
|
description = "Database connection settings";
|
||||||
|
};
|
||||||
|
pg-config = mkOption {
|
||||||
|
type = types.attrs;
|
||||||
|
default = defaults.full-text-search.postgresql.pg-config;
|
||||||
|
description = "";
|
||||||
|
};
|
||||||
|
pg-query-parser = mkOption {
|
||||||
|
type = types.str;
|
||||||
|
default = defaults.full-text-search.postgresql.pg-query-parser;
|
||||||
|
description = "";
|
||||||
|
};
|
||||||
|
pg-rank-normalization = mkOption {
|
||||||
|
type = types.listOf types.int;
|
||||||
|
default = defaults.full-text-search.postgresql.pg-rank-normalization;
|
||||||
|
description = "";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
});
|
||||||
|
default = defaults.full-text-search.postgresql;
|
||||||
|
description = "PostgreSQL for fulltext search";
|
||||||
|
};
|
||||||
|
|
||||||
migration = mkOption {
|
migration = mkOption {
|
||||||
type = types.submodule({
|
type = types.submodule({
|
||||||
options = {
|
options = {
|
||||||
|
@ -62,6 +62,17 @@ let
|
|||||||
def-type = "lucene";
|
def-type = "lucene";
|
||||||
q-op = "OR";
|
q-op = "OR";
|
||||||
};
|
};
|
||||||
|
postgresql = {
|
||||||
|
use-default-connection = false;
|
||||||
|
jdbc = {
|
||||||
|
url = "jdbc:postgresql://server:5432/db";
|
||||||
|
user = "pguser";
|
||||||
|
password = "";
|
||||||
|
};
|
||||||
|
pg-config = {};
|
||||||
|
pg-query-parser = "websearch_to_tsquery";
|
||||||
|
pg-rank-normalization = [ 4 ];
|
||||||
|
};
|
||||||
};
|
};
|
||||||
auth = {
|
auth = {
|
||||||
server-secret = "hex:caffee";
|
server-secret = "hex:caffee";
|
||||||
@ -575,6 +586,60 @@ in {
|
|||||||
default = defaults.full-text-search.solr;
|
default = defaults.full-text-search.solr;
|
||||||
description = "Configuration for the SOLR backend.";
|
description = "Configuration for the SOLR backend.";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
postgresql = mkOption {
|
||||||
|
type = types.submodule({
|
||||||
|
options = {
|
||||||
|
use-default-connection = mkOption {
|
||||||
|
type = types.bool;
|
||||||
|
default = defaults.full-text-search.postgresql.use-default-connection;
|
||||||
|
description = "Whether to use the primary db connection.";
|
||||||
|
};
|
||||||
|
jdbc = mkOption {
|
||||||
|
type = types.submodule ({
|
||||||
|
options = {
|
||||||
|
url = mkOption {
|
||||||
|
type = types.str;
|
||||||
|
default = defaults.jdbc.url;
|
||||||
|
description = ''
|
||||||
|
The URL to the database.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
user = mkOption {
|
||||||
|
type = types.str;
|
||||||
|
default = defaults.jdbc.user;
|
||||||
|
description = "The user name to connect to the database.";
|
||||||
|
};
|
||||||
|
password = mkOption {
|
||||||
|
type = types.str;
|
||||||
|
default = defaults.jdbc.password;
|
||||||
|
description = "The password to connect to the database.";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
});
|
||||||
|
default = defaults.full-text-search.postgresql.jdbc;
|
||||||
|
description = "Database connection settings";
|
||||||
|
};
|
||||||
|
pg-config = mkOption {
|
||||||
|
type = types.attrs;
|
||||||
|
default = defaults.full-text-search.postgresql.pg-config;
|
||||||
|
description = "";
|
||||||
|
};
|
||||||
|
pg-query-parser = mkOption {
|
||||||
|
type = types.str;
|
||||||
|
default = defaults.full-text-search.postgresql.pg-query-parser;
|
||||||
|
description = "";
|
||||||
|
};
|
||||||
|
pg-rank-normalization = mkOption {
|
||||||
|
type = types.listOf types.int;
|
||||||
|
default = defaults.full-text-search.postgresql.pg-rank-normalization;
|
||||||
|
description = "";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
});
|
||||||
|
default = defaults.full-text-search.postgresql;
|
||||||
|
description = "PostgreSQL for fulltext search";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
default = defaults.full-text-search;
|
default = defaults.full-text-search;
|
||||||
|
Reference in New Issue
Block a user