diff options
| author | Benedikt Peetz <benedikt.peetz@b-peetz.de> | 2026-07-09 21:43:23 +0200 |
|---|---|---|
| committer | Benedikt Peetz <benedikt.peetz@b-peetz.de> | 2026-07-09 21:43:23 +0200 |
| commit | 3223d93cb3c77ab02aa0a35f2a8314e447cee9a4 (patch) | |
| tree | 3971a1f37f5fe3cadb747c5229a0d54e868e45e3 /crates/server | |
| parent | fix(client/sync): Pass through precise error on `SyncError::WrongKey` (diff) | |
| download | atuin-3223d93cb3c77ab02aa0a35f2a8314e447cee9a4.zip | |
chore: Separate daemon, client, server, and lib into crates
Diffstat (limited to '')
| -rw-r--r-- | crates/server/Cargo.toml | 103 | ||||
| -rw-r--r-- | crates/server/db/server-pg-migrations/20210425153745_create_history.sql (renamed from crates/turtle/db/server-pg-migrations/20210425153745_create_history.sql) | 0 | ||||
| -rw-r--r-- | crates/server/db/server-pg-migrations/20210425153757_create_users.sql (renamed from crates/turtle/db/server-pg-migrations/20210425153757_create_users.sql) | 0 | ||||
| -rw-r--r-- | crates/server/db/server-pg-migrations/20210425153800_create_sessions.sql (renamed from crates/turtle/db/server-pg-migrations/20210425153800_create_sessions.sql) | 0 | ||||
| -rw-r--r-- | crates/server/db/server-pg-migrations/20220419082412_add_count_trigger.sql (renamed from crates/turtle/db/server-pg-migrations/20220419082412_add_count_trigger.sql) | 0 | ||||
| -rw-r--r-- | crates/server/db/server-pg-migrations/20220421073605_fix_count_trigger_delete.sql (renamed from crates/turtle/db/server-pg-migrations/20220421073605_fix_count_trigger_delete.sql) | 0 | ||||
| -rw-r--r-- | crates/server/db/server-pg-migrations/20220421174016_larger-commands.sql (renamed from crates/turtle/db/server-pg-migrations/20220421174016_larger-commands.sql) | 0 | ||||
| -rw-r--r-- | crates/server/db/server-pg-migrations/20220426172813_user-created-at.sql (renamed from crates/turtle/db/server-pg-migrations/20220426172813_user-created-at.sql) | 0 | ||||
| -rw-r--r-- | crates/server/db/server-pg-migrations/20220505082442_create-events.sql (renamed from crates/turtle/db/server-pg-migrations/20220505082442_create-events.sql) | 0 | ||||
| -rw-r--r-- | crates/server/db/server-pg-migrations/20220610074049_history-length.sql (renamed from crates/turtle/db/server-pg-migrations/20220610074049_history-length.sql) | 0 | ||||
| -rw-r--r-- | crates/server/db/server-pg-migrations/20230315220537_drop-events.sql (renamed from crates/turtle/db/server-pg-migrations/20230315220537_drop-events.sql) | 0 | ||||
| -rw-r--r-- | crates/server/db/server-pg-migrations/20230315224203_create-deleted.sql (renamed from crates/turtle/db/server-pg-migrations/20230315224203_create-deleted.sql) | 0 | ||||
| -rw-r--r-- | crates/server/db/server-pg-migrations/20230515221038_trigger-delete-only.sql (renamed from crates/turtle/db/server-pg-migrations/20230515221038_trigger-delete-only.sql) | 0 | ||||
| -rw-r--r-- | crates/server/db/server-pg-migrations/20230623070418_records.sql (renamed from crates/turtle/db/server-pg-migrations/20230623070418_records.sql) | 0 | ||||
| -rw-r--r-- | crates/server/db/server-pg-migrations/20231202170508_create-store.sql (renamed from crates/turtle/db/server-pg-migrations/20231202170508_create-store.sql) | 0 | ||||
| -rw-r--r-- | crates/server/db/server-pg-migrations/20231203124112_create-store-idx.sql (renamed from crates/turtle/db/server-pg-migrations/20231203124112_create-store-idx.sql) | 0 | ||||
| -rw-r--r-- | crates/server/db/server-pg-migrations/20240108124837_drop-some-defaults.sql (renamed from crates/turtle/db/server-pg-migrations/20240108124837_drop-some-defaults.sql) | 0 | ||||
| -rw-r--r-- | crates/server/db/server-pg-migrations/20240614104159_idx-cache.sql (renamed from crates/turtle/db/server-pg-migrations/20240614104159_idx-cache.sql) | 0 | ||||
| -rw-r--r-- | crates/server/db/server-pg-migrations/20240621110731_user-verified.sql (renamed from crates/turtle/db/server-pg-migrations/20240621110731_user-verified.sql) | 0 | ||||
| -rw-r--r-- | crates/server/db/server-pg-migrations/20240702094825_idx_cache_index.sql (renamed from crates/turtle/db/server-pg-migrations/20240702094825_idx_cache_index.sql) | 0 | ||||
| -rw-r--r-- | crates/server/db/server-pg-migrations/20260127000000_remove-email-verification.sql (renamed from crates/turtle/db/server-pg-migrations/20260127000000_remove-email-verification.sql) | 0 | ||||
| -rw-r--r-- | crates/server/db/server-pg-migrations/20260611222503_make_user-id_an_uuid.sql (renamed from crates/turtle/db/server-pg-migrations/20260611222503_make_user-id_an_uuid.sql) | 0 | ||||
| -rw-r--r-- | crates/server/src/database/db/mod.rs (renamed from crates/turtle/src/atuin_server/database/db/mod.rs) | 0 | ||||
| -rw-r--r-- | crates/server/src/database/db/wrappers.rs (renamed from crates/turtle/src/atuin_server/database/db/wrappers.rs) | 0 | ||||
| -rw-r--r-- | crates/server/src/database/mod.rs (renamed from crates/turtle/src/atuin_server/database/mod.rs) | 0 | ||||
| -rw-r--r-- | crates/server/src/database/models.rs (renamed from crates/turtle/src/atuin_server/database/models.rs) | 0 | ||||
| -rw-r--r-- | crates/server/src/handlers/mod.rs (renamed from crates/turtle/src/atuin_server/handlers/mod.rs) | 2 | ||||
| -rw-r--r-- | crates/server/src/handlers/v0/mod.rs (renamed from crates/turtle/src/atuin_server/handlers/v0/mod.rs) | 0 | ||||
| -rw-r--r-- | crates/server/src/handlers/v0/record.rs (renamed from crates/turtle/src/atuin_server/handlers/v0/record.rs) | 2 | ||||
| -rw-r--r-- | crates/server/src/lib.rs (renamed from crates/turtle/src/atuin_server/mod.rs) | 0 | ||||
| -rw-r--r-- | crates/server/src/metrics.rs (renamed from crates/turtle/src/atuin_server/metrics.rs) | 0 | ||||
| -rw-r--r-- | crates/server/src/router.rs (renamed from crates/turtle/src/atuin_server/router.rs) | 2 | ||||
| -rw-r--r-- | crates/server/src/settings.rs (renamed from crates/turtle/src/atuin_server/settings.rs) | 46 |
33 files changed, 124 insertions, 31 deletions
diff --git a/crates/server/Cargo.toml b/crates/server/Cargo.toml new file mode 100644 index 00000000..982f32b1 --- /dev/null +++ b/crates/server/Cargo.toml @@ -0,0 +1,103 @@ +[package] +name = "turtle-server" +edition = "2024" +description = "sync server for turtle history db" +readme = "./README.md" + +rust-version = { workspace = true } +version = { workspace = true } +authors = { workspace = true } +license = { workspace = true } +homepage = { workspace = true } +repository = { workspace = true } + +[dependencies] +async-trait = "0.1.58" +atuin-nucleo-matcher = { workspace = true } +atuin-nucleo = { workspace = true } +axum = "0.8" +base64 = "0.22" +clap = { version = "4.5.7", features = ["derive"] } +clap_complete = "4.5.8" +clap_complete_nushell = "4.5.4" +colored = "2.0.4" +config = { version = "0.15.8", default-features = false, features = ["toml"] } +crossterm = {version = "0.29.0", features = ["use-dev-tty", "serde"] } +crypto_secretbox = "0.1.1" +dashmap = "6.1.0" +directories = "6.0.0" +eyre = "0.6" +fs-err = "3.1" +fs4 = "0.13.1" +fuzzy-matcher = "0.3.7" +hyper-util = "0.1" +indicatif = "0.18.0" +interim = { version = "0.2.0", features = ["time_0_3"] } +itertools = "0.14.0" +lasso = { version = "0.7", features = ["multi-threaded"] } +log = "0.4" +metrics = "0.24" +metrics-exporter-prometheus = { version = "0.18", default-features = false } +minspan = "0.1.5" +norm = { version = "0.1.1", features = ["fzf-v2"] } +notify = "7" +prost = "0.14" +rand = { version = "0.8.5", features = ["std"] } +ratatui = "0.30.0" +regex = "1.10.5" +reqwest = { version = "0.13", features = ["json", "rustls-no-provider", "stream"], default-features = false } +rmp = { version = "0.8.14" } +runtime-format = "0.1.3" +rustix = { version = "1.1.4", features = ["process", "fs"] } +rustls = { version = "0.23", default-features = false, features = [ "ring", "std", "tls12", ] } +rusty_paserk = { version = "0.5.0", default-features = false, features = [ "v4", "serde", ] } +rusty_paseto = { version = "0.8.0", default-features = false } +semver = "1.0.20" +serde = { version = "1.0.202", features = ["derive"] } +serde_json = "1.0.119" +serde_regex = "1.1.0" +serde_with = "3.8.1" +shellexpand = "3" +sql-builder = "3" +sqlx = { version = "0.8", features = ["runtime-tokio-rustls", "time", "postgres", "uuid", "sqlite", "regexp"] } +thiserror = "2" +time = { version = "0.3.47", features = [ "serde-human-readable", "macros", "local-offset", "macros", "formatting", "parsing"] } +tokio = { version = "1", features = ["full"] } +tokio-stream = { version = "0.1.14", features = ["net"] } +toml_edit = "0.25.4" +tonic = "0.14" +tonic-prost = "0.14" +tower = "0.5" +tower-http = { version = "0.6", features = ["trace"] } +tracing = "0.1" +tracing-appender = "0.2" +tracing-subscriber = { version = "0.3", features = ["ansi", "fmt", "registry", "env-filter", "json"] } +typed-builder = "0.18.2" +unicode-segmentation = "1.11.0" +unicode-width = "0.2" +url = "2.5.2" +uuid = { version = "1.9", features = ["v4", "v7", "serde"] } +vt100 = "0.16" +whoami = "2.1.0" + +[target.'cfg(target_os = "linux")'.dependencies] +arboard = { version = "3.4", default-features = false, features = [ "wayland-data-control", ] } +listenfd = "1.0.1" + +[target.'cfg(unix)'.dependencies] +daemonize = "0.5.0" +portable-pty = "0.9" +signal-hook = "0.3" + +[dev-dependencies] +tokio = { version = "1", features = ["full"] } + +[build-dependencies] +protox = "0.9" +tonic-prost-build = "0.14" + +[package.metadata.docs.rs] +all-features = true + +[lints] +workspace = true diff --git a/crates/turtle/db/server-pg-migrations/20210425153745_create_history.sql b/crates/server/db/server-pg-migrations/20210425153745_create_history.sql index 2c2d17b0..2c2d17b0 100644 --- a/crates/turtle/db/server-pg-migrations/20210425153745_create_history.sql +++ b/crates/server/db/server-pg-migrations/20210425153745_create_history.sql diff --git a/crates/turtle/db/server-pg-migrations/20210425153757_create_users.sql b/crates/server/db/server-pg-migrations/20210425153757_create_users.sql index a25dcced..a25dcced 100644 --- a/crates/turtle/db/server-pg-migrations/20210425153757_create_users.sql +++ b/crates/server/db/server-pg-migrations/20210425153757_create_users.sql diff --git a/crates/turtle/db/server-pg-migrations/20210425153800_create_sessions.sql b/crates/server/db/server-pg-migrations/20210425153800_create_sessions.sql index c2fb6559..c2fb6559 100644 --- a/crates/turtle/db/server-pg-migrations/20210425153800_create_sessions.sql +++ b/crates/server/db/server-pg-migrations/20210425153800_create_sessions.sql diff --git a/crates/turtle/db/server-pg-migrations/20220419082412_add_count_trigger.sql b/crates/server/db/server-pg-migrations/20220419082412_add_count_trigger.sql index dd1afa88..dd1afa88 100644 --- a/crates/turtle/db/server-pg-migrations/20220419082412_add_count_trigger.sql +++ b/crates/server/db/server-pg-migrations/20220419082412_add_count_trigger.sql diff --git a/crates/turtle/db/server-pg-migrations/20220421073605_fix_count_trigger_delete.sql b/crates/server/db/server-pg-migrations/20220421073605_fix_count_trigger_delete.sql index 6198f300..6198f300 100644 --- a/crates/turtle/db/server-pg-migrations/20220421073605_fix_count_trigger_delete.sql +++ b/crates/server/db/server-pg-migrations/20220421073605_fix_count_trigger_delete.sql diff --git a/crates/turtle/db/server-pg-migrations/20220421174016_larger-commands.sql b/crates/server/db/server-pg-migrations/20220421174016_larger-commands.sql index 0ac43433..0ac43433 100644 --- a/crates/turtle/db/server-pg-migrations/20220421174016_larger-commands.sql +++ b/crates/server/db/server-pg-migrations/20220421174016_larger-commands.sql diff --git a/crates/turtle/db/server-pg-migrations/20220426172813_user-created-at.sql b/crates/server/db/server-pg-migrations/20220426172813_user-created-at.sql index a9138194..a9138194 100644 --- a/crates/turtle/db/server-pg-migrations/20220426172813_user-created-at.sql +++ b/crates/server/db/server-pg-migrations/20220426172813_user-created-at.sql diff --git a/crates/turtle/db/server-pg-migrations/20220505082442_create-events.sql b/crates/server/db/server-pg-migrations/20220505082442_create-events.sql index 57e16ec7..57e16ec7 100644 --- a/crates/turtle/db/server-pg-migrations/20220505082442_create-events.sql +++ b/crates/server/db/server-pg-migrations/20220505082442_create-events.sql diff --git a/crates/turtle/db/server-pg-migrations/20220610074049_history-length.sql b/crates/server/db/server-pg-migrations/20220610074049_history-length.sql index b1c23016..b1c23016 100644 --- a/crates/turtle/db/server-pg-migrations/20220610074049_history-length.sql +++ b/crates/server/db/server-pg-migrations/20220610074049_history-length.sql diff --git a/crates/turtle/db/server-pg-migrations/20230315220537_drop-events.sql b/crates/server/db/server-pg-migrations/20230315220537_drop-events.sql index fe3cae17..fe3cae17 100644 --- a/crates/turtle/db/server-pg-migrations/20230315220537_drop-events.sql +++ b/crates/server/db/server-pg-migrations/20230315220537_drop-events.sql diff --git a/crates/turtle/db/server-pg-migrations/20230315224203_create-deleted.sql b/crates/server/db/server-pg-migrations/20230315224203_create-deleted.sql index 9a9e6263..9a9e6263 100644 --- a/crates/turtle/db/server-pg-migrations/20230315224203_create-deleted.sql +++ b/crates/server/db/server-pg-migrations/20230315224203_create-deleted.sql diff --git a/crates/turtle/db/server-pg-migrations/20230515221038_trigger-delete-only.sql b/crates/server/db/server-pg-migrations/20230515221038_trigger-delete-only.sql index 3d0bba52..3d0bba52 100644 --- a/crates/turtle/db/server-pg-migrations/20230515221038_trigger-delete-only.sql +++ b/crates/server/db/server-pg-migrations/20230515221038_trigger-delete-only.sql diff --git a/crates/turtle/db/server-pg-migrations/20230623070418_records.sql b/crates/server/db/server-pg-migrations/20230623070418_records.sql index a3e5de2e..a3e5de2e 100644 --- a/crates/turtle/db/server-pg-migrations/20230623070418_records.sql +++ b/crates/server/db/server-pg-migrations/20230623070418_records.sql diff --git a/crates/turtle/db/server-pg-migrations/20231202170508_create-store.sql b/crates/server/db/server-pg-migrations/20231202170508_create-store.sql index ffb57966..ffb57966 100644 --- a/crates/turtle/db/server-pg-migrations/20231202170508_create-store.sql +++ b/crates/server/db/server-pg-migrations/20231202170508_create-store.sql diff --git a/crates/turtle/db/server-pg-migrations/20231203124112_create-store-idx.sql b/crates/server/db/server-pg-migrations/20231203124112_create-store-idx.sql index 56d67145..56d67145 100644 --- a/crates/turtle/db/server-pg-migrations/20231203124112_create-store-idx.sql +++ b/crates/server/db/server-pg-migrations/20231203124112_create-store-idx.sql diff --git a/crates/turtle/db/server-pg-migrations/20240108124837_drop-some-defaults.sql b/crates/server/db/server-pg-migrations/20240108124837_drop-some-defaults.sql index ad2af5a1..ad2af5a1 100644 --- a/crates/turtle/db/server-pg-migrations/20240108124837_drop-some-defaults.sql +++ b/crates/server/db/server-pg-migrations/20240108124837_drop-some-defaults.sql diff --git a/crates/turtle/db/server-pg-migrations/20240614104159_idx-cache.sql b/crates/server/db/server-pg-migrations/20240614104159_idx-cache.sql index 12bbbecc..12bbbecc 100644 --- a/crates/turtle/db/server-pg-migrations/20240614104159_idx-cache.sql +++ b/crates/server/db/server-pg-migrations/20240614104159_idx-cache.sql diff --git a/crates/turtle/db/server-pg-migrations/20240621110731_user-verified.sql b/crates/server/db/server-pg-migrations/20240621110731_user-verified.sql index 6eba02ec..6eba02ec 100644 --- a/crates/turtle/db/server-pg-migrations/20240621110731_user-verified.sql +++ b/crates/server/db/server-pg-migrations/20240621110731_user-verified.sql diff --git a/crates/turtle/db/server-pg-migrations/20240702094825_idx_cache_index.sql b/crates/server/db/server-pg-migrations/20240702094825_idx_cache_index.sql index d1a7b194..d1a7b194 100644 --- a/crates/turtle/db/server-pg-migrations/20240702094825_idx_cache_index.sql +++ b/crates/server/db/server-pg-migrations/20240702094825_idx_cache_index.sql diff --git a/crates/turtle/db/server-pg-migrations/20260127000000_remove-email-verification.sql b/crates/server/db/server-pg-migrations/20260127000000_remove-email-verification.sql index 15309920..15309920 100644 --- a/crates/turtle/db/server-pg-migrations/20260127000000_remove-email-verification.sql +++ b/crates/server/db/server-pg-migrations/20260127000000_remove-email-verification.sql diff --git a/crates/turtle/db/server-pg-migrations/20260611222503_make_user-id_an_uuid.sql b/crates/server/db/server-pg-migrations/20260611222503_make_user-id_an_uuid.sql index d31c23e2..d31c23e2 100644 --- a/crates/turtle/db/server-pg-migrations/20260611222503_make_user-id_an_uuid.sql +++ b/crates/server/db/server-pg-migrations/20260611222503_make_user-id_an_uuid.sql diff --git a/crates/turtle/src/atuin_server/database/db/mod.rs b/crates/server/src/database/db/mod.rs index 77bd0c61..77bd0c61 100644 --- a/crates/turtle/src/atuin_server/database/db/mod.rs +++ b/crates/server/src/database/db/mod.rs diff --git a/crates/turtle/src/atuin_server/database/db/wrappers.rs b/crates/server/src/database/db/wrappers.rs index 0315e331..0315e331 100644 --- a/crates/turtle/src/atuin_server/database/db/wrappers.rs +++ b/crates/server/src/database/db/wrappers.rs diff --git a/crates/turtle/src/atuin_server/database/mod.rs b/crates/server/src/database/mod.rs index 43fe5c3b..43fe5c3b 100644 --- a/crates/turtle/src/atuin_server/database/mod.rs +++ b/crates/server/src/database/mod.rs diff --git a/crates/turtle/src/atuin_server/database/models.rs b/crates/server/src/database/models.rs index 3fa6f471..3fa6f471 100644 --- a/crates/turtle/src/atuin_server/database/models.rs +++ b/crates/server/src/database/models.rs diff --git a/crates/turtle/src/atuin_server/handlers/mod.rs b/crates/server/src/handlers/mod.rs index b73df27b..c4332f80 100644 --- a/crates/turtle/src/atuin_server/handlers/mod.rs +++ b/crates/server/src/handlers/mod.rs @@ -1,7 +1,7 @@ use crate::atuin_common::api::{ErrorResponse, IndexResponse}; use axum::{Json, extract::State, http, response::IntoResponse}; -use crate::atuin_server::router::AppState; +use crate::router::AppState; pub(crate) mod v0; diff --git a/crates/turtle/src/atuin_server/handlers/v0/mod.rs b/crates/server/src/handlers/v0/mod.rs index 78fb47b8..78fb47b8 100644 --- a/crates/turtle/src/atuin_server/handlers/v0/mod.rs +++ b/crates/server/src/handlers/v0/mod.rs diff --git a/crates/turtle/src/atuin_server/handlers/v0/record.rs b/crates/server/src/handlers/v0/record.rs index 9350e1c8..0381ded8 100644 --- a/crates/turtle/src/atuin_server/handlers/v0/record.rs +++ b/crates/server/src/handlers/v0/record.rs @@ -3,7 +3,7 @@ use metrics::counter; use serde::Deserialize; use tracing::{error, instrument}; -use crate::atuin_server::{ +use crate::{ handlers::{ErrorResponse, ErrorResponseStatus, RespExt}, router::{AppState, UserAuth}, }; diff --git a/crates/turtle/src/atuin_server/mod.rs b/crates/server/src/lib.rs index a4b10acf..a4b10acf 100644 --- a/crates/turtle/src/atuin_server/mod.rs +++ b/crates/server/src/lib.rs diff --git a/crates/turtle/src/atuin_server/metrics.rs b/crates/server/src/metrics.rs index 6380bef1..6380bef1 100644 --- a/crates/turtle/src/atuin_server/metrics.rs +++ b/crates/server/src/metrics.rs diff --git a/crates/turtle/src/atuin_server/router.rs b/crates/server/src/router.rs index d6fe9482..2a5c5f15 100644 --- a/crates/turtle/src/atuin_server/router.rs +++ b/crates/server/src/router.rs @@ -16,7 +16,7 @@ use tower_http::trace::TraceLayer; use uuid::Uuid; use super::handlers; -use crate::atuin_server::{ +use crate::{ handlers::{ErrorResponseStatus, RespExt}, metrics, settings::Settings, diff --git a/crates/turtle/src/atuin_server/settings.rs b/crates/server/src/settings.rs index 73fc5e42..6a32fb9b 100644 --- a/crates/turtle/src/atuin_server/settings.rs +++ b/crates/server/src/settings.rs @@ -6,7 +6,7 @@ use fs_err::create_dir_all; use serde::{Deserialize, Serialize}; use tracing::info; -use crate::atuin_server::database::DbSettings; +use crate::database::DbSettings; #[derive(Clone, Debug, Deserialize, Serialize)] pub(crate) struct Metrics { @@ -50,18 +50,6 @@ pub(crate) struct Settings { impl Settings { pub(crate) fn new() -> Result<Self> { - let mut config_file = std::env::var("ATUIN_CONFIG_DIR").map_or_else( - |_| { - let mut config_file = PathBuf::new(); - let config_dir = crate::atuin_common::utils::config_dir(); - config_file.push(config_dir); - config_file - }, - PathBuf::from, - ); - - config_file.push("server.toml"); - // create the config file if it does not exist let mut config_builder = Config::builder() .set_default("host", "127.0.0.1")? @@ -79,23 +67,25 @@ impl Settings { .separator("__"), ); - config_builder = if config_file.exists() { - config_builder.add_source(ConfigFile::new( - config_file.to_str().unwrap(), - FileFormat::Toml, - )) - } else { - // TODO(@bpeetz): Rework the config handling, so that we can actually auto-write a - // file with defaults. <2026-06-13> - create_dir_all(config_file.parent().unwrap())?; + if let Ok(mut config_file) = std::env::var("TURTLE_SERVER_CONFIG").map(PathBuf::from) { + config_builder = if config_file.exists() { + config_builder.add_source(ConfigFile::new( + config_file.to_str().unwrap(), + FileFormat::Toml, + )) + } else { + // TODO(@bpeetz): Rework the config handling, so that we can actually auto-write a + // file with defaults. <2026-06-13> + create_dir_all(config_file.parent().unwrap())?; - info!( - "No config file at: `{}`. Not adding one.", - config_file.display() - ); + info!( + "No config file at: `{}`. Not adding one.", + config_file.display() + ); - config_builder - }; + config_builder + }; + } let config = config_builder.build()?; |
