aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--CONTRIBUTORS1
-rw-r--r--atuin-client/config.toml23
-rw-r--r--atuin-client/src/settings.rs8
-rw-r--r--atuin-server/server.toml13
-rw-r--r--atuin-server/src/lib.rs1
-rw-r--r--atuin-server/src/settings.rs9
-rw-r--r--atuin/src/command/client.rs10
-rw-r--r--atuin/src/command/client/config.rs5
-rw-r--r--atuin/src/command/server.rs12
9 files changed, 74 insertions, 8 deletions
diff --git a/CONTRIBUTORS b/CONTRIBUTORS
index 636e4b3a..1310d95d 100644
--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -71,6 +71,7 @@ Satyarth Sampath <satyarth.23@gmail.com>
Simon Elsbrock <simon@iodev.org>
Steve Kemp <steve@steve.org.uk>
Steven Xu
+Tobias Genannt <tobias.genannt@gmail.com>
Tobias Hunger <tobias.hunger@gmail.com>
Tom Cammann <cammann.tom@gmail.com>
Trygve Aaberge <trygveaa@gmail.com>
diff --git a/atuin-client/config.toml b/atuin-client/config.toml
index 7fd07986..d1c1081f 100644
--- a/atuin-client/config.toml
+++ b/atuin-client/config.toml
@@ -28,7 +28,7 @@
## how often to sync history. note that this is only triggered when a command
## is ran, so sync intervals may well be longer
## set it to 0 to sync after every command
-# sync_frequency = "1h"
+# sync_frequency = "10m"
## which search mode to use
## possible values: prefix, fulltext, fuzzy, skim
@@ -102,3 +102,24 @@
# cwd_filter = [
# "^/very/secret/area"
# ]
+
+## Configure the maximum height of the preview to show.
+## Useful when you have long scripts in your history that you want to distinguish
+## by more than the first few lines.
+# max_preview_height = 4
+
+## Configure whether or not to show the help row, which includes the current Atuin
+## version (and whether an update is available), a keymap hint, and the total
+## amount of commands in your history.
+# show_help = true
+
+## Invert the UI - put the search bar at the top
+# invert = false
+
+## Defaults to true. This matches history against a set of default regex, and will not save it if we get a match. Defaults include
+## 1. AWS key id
+## 2. Github pat (old and new)
+## 3. Slack oauth tokens (bot, user)
+## 4. Slack webhooks
+## 5. Stripe live/test keys
+# secrets_filter = true
diff --git a/atuin-client/src/settings.rs b/atuin-client/src/settings.rs
index e49ab0cb..15aa9e06 100644
--- a/atuin-client/src/settings.rs
+++ b/atuin-client/src/settings.rs
@@ -24,6 +24,7 @@ pub const LAST_SYNC_FILENAME: &str = "last_sync_time";
pub const LAST_VERSION_CHECK_FILENAME: &str = "last_version_check_time";
pub const LATEST_VERSION_FILENAME: &str = "latest_version";
pub const HOST_ID_FILENAME: &str = "host_id";
+static EXAMPLE_CONFIG: &str = include_str!("../config.toml");
#[derive(Clone, Debug, Deserialize, Copy, ValueEnum, PartialEq)]
pub enum SearchMode {
@@ -410,9 +411,8 @@ impl Settings {
FileFormat::Toml,
))
} else {
- let example_config = include_bytes!("../config.toml");
let mut file = File::create(config_file).wrap_err("could not create config file")?;
- file.write_all(example_config)
+ file.write_all(EXAMPLE_CONFIG.as_bytes())
.wrap_err("could not write default config file")?;
config_builder
@@ -446,6 +446,10 @@ impl Settings {
Ok(settings)
}
+
+ pub fn example_config() -> &'static str {
+ EXAMPLE_CONFIG
+ }
}
impl Default for Settings {
diff --git a/atuin-server/server.toml b/atuin-server/server.toml
index 808f15f1..3aed7f9d 100644
--- a/atuin-server/server.toml
+++ b/atuin-server/server.toml
@@ -9,3 +9,16 @@
## URI for postgres (using development creds here)
# db_uri="postgres://username:password@localhost/atuin"
+
+## Maximum size for one history entry
+# max_history_length = 8192
+
+## Maximum size for one record entry
+## 1024 * 1024 * 1024
+# max_record_size = 1073741824
+
+## Webhook to be called when user registers on the servers
+# register_webhook_username = ""
+
+## Default page size for requests
+# page_size = 1100
diff --git a/atuin-server/src/lib.rs b/atuin-server/src/lib.rs
index 810b7db9..007ad5c9 100644
--- a/atuin-server/src/lib.rs
+++ b/atuin-server/src/lib.rs
@@ -14,6 +14,7 @@ mod router;
mod settings;
mod utils;
+pub use settings::example_config;
pub use settings::Settings;
use tokio::signal;
diff --git a/atuin-server/src/settings.rs b/atuin-server/src/settings.rs
index 7e447e9e..744f4ec2 100644
--- a/atuin-server/src/settings.rs
+++ b/atuin-server/src/settings.rs
@@ -5,6 +5,8 @@ use eyre::{eyre, Result};
use fs_err::{create_dir_all, File};
use serde::{de::DeserializeOwned, Deserialize, Serialize};
+static EXAMPLE_CONFIG: &str = include_str!("../server.toml");
+
#[derive(Clone, Debug, Deserialize, Serialize)]
pub struct Settings<DbSettings> {
pub host: String,
@@ -56,10 +58,9 @@ impl<DbSettings: DeserializeOwned> Settings<DbSettings> {
FileFormat::Toml,
))
} else {
- let example_config = include_bytes!("../server.toml");
create_dir_all(config_file.parent().unwrap())?;
let mut file = File::create(config_file)?;
- file.write_all(example_config)?;
+ file.write_all(EXAMPLE_CONFIG.as_bytes())?;
config_builder
};
@@ -71,3 +72,7 @@ impl<DbSettings: DeserializeOwned> Settings<DbSettings> {
.map_err(|e| eyre!("failed to deserialize: {}", e))
}
}
+
+pub fn example_config() -> &'static str {
+ EXAMPLE_CONFIG
+}
diff --git a/atuin/src/command/client.rs b/atuin/src/command/client.rs
index 7124ca99..312bcafa 100644
--- a/atuin/src/command/client.rs
+++ b/atuin/src/command/client.rs
@@ -12,6 +12,7 @@ mod sync;
#[cfg(feature = "sync")]
mod account;
+mod config;
mod history;
mod import;
mod kv;
@@ -44,6 +45,10 @@ pub enum Cmd {
#[command(subcommand)]
Kv(kv::Cmd),
+
+ /// Print example configuration
+ #[command()]
+ DefaultConfig,
}
impl Cmd {
@@ -77,6 +82,11 @@ impl Cmd {
Self::Account(account) => account.run(settings).await,
Self::Kv(kv) => kv.run(&settings, &mut store).await,
+
+ Self::DefaultConfig => {
+ config::run();
+ Ok(())
+ }
}
}
}
diff --git a/atuin/src/command/client/config.rs b/atuin/src/command/client/config.rs
new file mode 100644
index 00000000..f51e45c2
--- /dev/null
+++ b/atuin/src/command/client/config.rs
@@ -0,0 +1,5 @@
+use atuin_client::settings::Settings;
+
+pub fn run() {
+ println!("{}", Settings::example_config());
+}
diff --git a/atuin/src/command/server.rs b/atuin/src/command/server.rs
index c02c4007..b56fde28 100644
--- a/atuin/src/command/server.rs
+++ b/atuin/src/command/server.rs
@@ -4,7 +4,7 @@ use tracing_subscriber::{fmt, prelude::*, EnvFilter};
use clap::Parser;
use eyre::{Context, Result};
-use atuin_server::{launch, Settings};
+use atuin_server::{example_config, launch, Settings};
#[derive(Parser, Debug)]
#[clap(infer_subcommands = true)]
@@ -19,6 +19,9 @@ pub enum Cmd {
#[clap(long, short)]
port: Option<u16>,
},
+
+ /// Print server example configuration
+ DefaultConfig,
}
impl Cmd {
@@ -31,10 +34,9 @@ impl Cmd {
tracing::trace!(command = ?self, "server command");
- let settings = Settings::new().wrap_err("could not load server settings")?;
-
match self {
Self::Start { host, port } => {
+ let settings = Settings::new().wrap_err("could not load server settings")?;
let host = host
.as_ref()
.map_or(settings.host.clone(), std::string::ToString::to_string);
@@ -42,6 +44,10 @@ impl Cmd {
launch::<Postgres>(settings, host, port).await
}
+ Self::DefaultConfig => {
+ println!("{}", example_config());
+ Ok(())
+ }
}
}
}