diff options
author | Jakub Jirutka <jakub@jirutka.cz> | 2022-05-13 07:07:46 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-05-13 06:07:46 +0100 |
commit | 5e4e8d11528fde2f773dbb4445c216fadd09cb86 (patch) | |
tree | 600883abeee8963c794d9cb69acd171b9e21a8c6 | |
parent | b7946cc9cba2ab120cfbc621fba9714bde413821 (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.rs | 7 |
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)?; |