diff --git a/src/packagemanager.rs b/src/packagemanager.rs index 0e6fa1e..102faa0 100644 --- a/src/packagemanager.rs +++ b/src/packagemanager.rs @@ -89,22 +89,23 @@ impl<'a> PackageManager<'a> { // Allows setting the default `rux.conf` in folder `.config/rux/` in the // user's home directory. Will ask once per user, including sudo. pub fn set_default(&self) -> std::io::Result<()> { - let mut conf = match env::home_dir() { - Some(path) => path, - None => { - println!("Could not find home! Default cannot set properly!"); - std::process::exit(1) - } - }; - conf.push(".config/rux/"); - fs::create_dir_all(&conf).unwrap_or_else(|why| { - println!("! {:?}", why.kind()); + let conf = env::home_dir().unwrap_or_else(|| { + println!("Could not find home directory. Default cannot be saved properly!"); + std::process::exit(1) }); - conf.push("rux.conf"); + + let conf = conf.join(".config").join("rux"); + fs::create_dir_all(&conf).unwrap_or_else(|err| { + println!("Error setting default: {}", err); + return () + }); + let conf = conf.join("rux.conf"); + let mut file = File::create(conf)?; file.write_all(self.name.as_bytes())?; Ok(()) } + pub fn all() -> Vec> { let pacmatic = PackageManager::pacmatic(); let pacman = PackageManager::pacman();