aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichelle Tilley <michelle@michelletilley.net>2025-05-13 08:29:04 -0700
committerGitHub <noreply@github.com>2025-05-13 08:29:04 -0700
commitc93991b5d0e76b7c2381f840655620cfdc2b8388 (patch)
treecbc68cedb9e8e2cf3c749e4aa1d732c272008aaa
parentchore(deps): bump tower from 0.4.13 to 0.5.2 (#2734) (diff)
downloadatuin-c93991b5d0e76b7c2381f840655620cfdc2b8388.zip
chore: Allow setting script DB path (#2750)
* chore: Allow setting script DB path * Rename scripts.database_path setting to scripts.db_path to match other crates
-rw-r--r--CONTRIBUTING.md5
-rw-r--r--crates/atuin-client/src/settings.rs2
-rw-r--r--crates/atuin-client/src/settings/scripts.rs4
-rw-r--r--crates/atuin/src/command/client/scripts.rs3
-rw-r--r--crates/atuin/src/command/client/store/rebuild.rs3
-rw-r--r--crates/atuin/src/sync.rs2
6 files changed, 10 insertions, 9 deletions
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 0a761e07..8f5b2194 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -13,9 +13,10 @@ Before working on anything, we suggest taking a copy of your Atuin data director
While data directory backups are always a good idea, you can instruct Atuin to use custom path using the following environment variables:
```shell
+export ATUIN_RECORD_STORE_PATH=/tmp/atuin_records.db
export ATUIN_DB_PATH=/tmp/atuin_dev.db
export ATUIN_KV__DB_PATH=/tmp/atuin_kv.db
-export ATUIN_RECORD_STORE_PATH=/tmp/atuin_records.db
+export ATUIN_SCRIPTS__DB_PATH=/tmp/atuin_scripts.db
```
It is also recommended to update your `$PATH` so that the pre-exec scripts would use the locally built version:
@@ -24,7 +25,7 @@ It is also recommended to update your `$PATH` so that the pre-exec scripts would
export PATH="./target/release:$PATH"
```
-These 4 variables can be added in a local `.envrc` file, read by [direnv](https://direnv.net/).
+These 5 variables can be added in a local `.envrc` file, read by [direnv](https://direnv.net/).
## PRs
diff --git a/crates/atuin-client/src/settings.rs b/crates/atuin-client/src/settings.rs
index 48803a49..d1f37e39 100644
--- a/crates/atuin-client/src/settings.rs
+++ b/crates/atuin-client/src/settings.rs
@@ -741,6 +741,7 @@ impl Settings {
let db_path = data_dir.join("history.db");
let record_store_path = data_dir.join("records.db");
let kv_path = data_dir.join("kv.db");
+ let scripts_path = data_dir.join("scripts.db");
let socket_path = atuin_common::utils::runtime_dir().join("atuin.sock");
let key_path = data_dir.join("key");
@@ -805,6 +806,7 @@ impl Settings {
.set_default("daemon.systemd_socket", false)?
.set_default("daemon.tcp_port", 8889)?
.set_default("kv.db_path", kv_path.to_str())?
+ .set_default("scripts.db_path", scripts_path.to_str())?
.set_default(
"search.filters",
vec!["global", "host", "session", "workspace", "directory"],
diff --git a/crates/atuin-client/src/settings/scripts.rs b/crates/atuin-client/src/settings/scripts.rs
index e9d66c93..a1a5ed6a 100644
--- a/crates/atuin-client/src/settings/scripts.rs
+++ b/crates/atuin-client/src/settings/scripts.rs
@@ -2,7 +2,7 @@ use serde::{Deserialize, Serialize};
#[derive(Debug, Serialize, Deserialize, Clone)]
pub struct Settings {
- pub database_path: String,
+ pub db_path: String,
}
impl Default for Settings {
@@ -11,7 +11,7 @@ impl Default for Settings {
let path = dir.join("scripts.db");
Self {
- database_path: path.to_string_lossy().to_string(),
+ db_path: path.to_string_lossy().to_string(),
}
}
}
diff --git a/crates/atuin/src/command/client/scripts.rs b/crates/atuin/src/command/client/scripts.rs
index 2b4b58bb..cd1b13ba 100644
--- a/crates/atuin/src/command/client/scripts.rs
+++ b/crates/atuin/src/command/client/scripts.rs
@@ -561,8 +561,7 @@ impl Cmd {
let script_store = ScriptStore::new(store, host_id, encryption_key);
let script_db =
- atuin_scripts::database::Database::new(settings.scripts.database_path.clone(), 1.0)
- .await?;
+ atuin_scripts::database::Database::new(settings.scripts.db_path.clone(), 1.0).await?;
match self {
Self::New(new_script) => {
diff --git a/crates/atuin/src/command/client/store/rebuild.rs b/crates/atuin/src/command/client/store/rebuild.rs
index 6fdd3ca4..f8784a6f 100644
--- a/crates/atuin/src/command/client/store/rebuild.rs
+++ b/crates/atuin/src/command/client/store/rebuild.rs
@@ -79,8 +79,7 @@ impl Rebuild {
let host_id = Settings::host_id().expect("failed to get host_id");
let script_store = ScriptStore::new(store, host_id, encryption_key);
let database =
- atuin_scripts::database::Database::new(settings.scripts.database_path.clone(), 1.0)
- .await?;
+ atuin_scripts::database::Database::new(settings.scripts.db_path.clone(), 1.0).await?;
script_store.build(database).await?;
diff --git a/crates/atuin/src/sync.rs b/crates/atuin/src/sync.rs
index ad1e9764..b95b78b9 100644
--- a/crates/atuin/src/sync.rs
+++ b/crates/atuin/src/sync.rs
@@ -44,7 +44,7 @@ pub async fn build(
kv_store.build().await?;
let script_db =
- atuin_scripts::database::Database::new(settings.scripts.database_path.clone(), 1.0).await?;
+ atuin_scripts::database::Database::new(settings.scripts.db_path.clone(), 1.0).await?;
script_store.build(script_db).await?;
Ok(())
}