SSH configuration path is not ~/.ssh/config by default (#145)

SSH configuration path is not `~/.ssh/config` by default
This commit is contained in:
Christian Visintin
2023-02-10 15:51:47 +01:00
committed by veeso
parent 251b125cbb
commit 1c75c7d386
3 changed files with 21 additions and 2 deletions

View File

@@ -36,7 +36,7 @@ pub struct UserInterfaceConfig {
pub notification_threshold: Option<u64>, // @! Since 0.7.0; Default 512MB
}
#[derive(Deserialize, Serialize, Debug, Default)]
#[derive(Deserialize, Serialize, Debug)]
/// Contains configuratio related to remote hosts
pub struct RemoteConfig {
/// Ssh configuration path. If NONE, won't be read
@@ -46,6 +46,19 @@ pub struct RemoteConfig {
pub ssh_keys: HashMap<String, PathBuf>,
}
impl Default for RemoteConfig {
fn default() -> Self {
let home_dir = dirs::home_dir().unwrap_or_else(|| PathBuf::from("/root"));
let mut ssh_config_path = "~/.ssh/config".to_string();
ssh_config_path = ssh_config_path.replacen('~', &home_dir.to_string_lossy(), 1);
Self {
ssh_config: Some(ssh_config_path),
ssh_keys: HashMap::default(),
}
}
}
impl Default for UserInterfaceConfig {
fn default() -> Self {
UserInterfaceConfig {