summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJakub Jirutka <jakub@jirutka.cz>2022-05-13 07:07:46 +0200
committerGitHub <noreply@github.com>2022-05-13 06:07:46 +0100
commit5e4e8d11528fde2f773dbb4445c216fadd09cb86 (patch)
tree600883abeee8963c794d9cb69acd171b9e21a8c6
parentb7946cc9cba2ab120cfbc621fba9714bde413821 (diff)
Don't create config dir for server in default location if not needed (#406)
...respect ATUIN_CONFIG_DIR. The current behaviour is problematic when running atuin server as a system service with config dir in /etc/atuin.
-rw-r--r--atuin-server/src/settings.rs7
1 files changed, 2 insertions, 5 deletions
diff --git a/atuin-server/src/settings.rs b/atuin-server/src/settings.rs
index 8e8961e9..e6745173 100644
--- a/atuin-server/src/settings.rs
+++ b/atuin-server/src/settings.rs
@@ -17,15 +17,11 @@ pub struct Settings {
impl Settings {
pub fn new() -> Result<Self> {
- let config_dir = atuin_common::utils::config_dir();
- let config_dir = config_dir.as_path();
-
- create_dir_all(config_dir)?;
-
let mut config_file = if let Ok(p) = std::env::var("ATUIN_CONFIG_DIR") {
PathBuf::from(p)
} else {
let mut config_file = PathBuf::new();
+ let config_dir = atuin_common::utils::config_dir();
config_file.push(config_dir);
config_file
};
@@ -50,6 +46,7 @@ impl Settings {
))
} 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)?;