diff --git a/saku-cli/src/config.rs b/saku-cli/src/config.rs index 02d12cf..adad8e5 100644 --- a/saku-cli/src/config.rs +++ b/saku-cli/src/config.rs @@ -2,6 +2,7 @@ use saku_lib::exec; use saku_lib::pkg; use saku_lib::pkg::config::Config; use saku_lib::prelude::*; +use saku_lib::util::filepath; use saku_lib::util::{constants, io, msg, path}; use crate::{flask, update}; @@ -24,6 +25,14 @@ pub fn init() -> Result<()> { io::mkdir(constants::FLASK_DIR.to_string())?; + if !filepath::exists(&*constants::LIB_DIR) { + let repo_dir: String = path::repo("saku"); + let lib_dir: String = constants::LIB_DIR_NAME.to_string(); + dbg!(&repo_dir, &lib_dir); + let target = filepath::join(&repo_dir, &lib_dir); + io::link(&target, &*constants::LIB_DIR)?; + } + create_root()?; io::mkdir(path::gr("custom"))?; diff --git a/saku-lib/util/constants.rs b/saku-lib/util/constants.rs index 3e669c4..756c208 100644 --- a/saku-lib/util/constants.rs +++ b/saku-lib/util/constants.rs @@ -13,7 +13,8 @@ lazy_static! { pub static ref PKG_DIR: String = format!("{}{}", *SAKU_DIR, "/flask"); pub static ref ROOT_DIR: String = format!("{}{}", *SAKU_DIR, "/root"); pub static ref STORE_DIR: String = format!("{}{}", *SAKU_DIR, "/store"); - pub static ref LIB_DIR: String = format!("{}{}", *SAKU_DIR, "/lib"); + pub static ref LIB_DIR_NAME: String = "lib".to_string(); + pub static ref LIB_DIR: String = format!("{}/{}", *SAKU_DIR, *LIB_DIR_NAME); pub static ref FLASK_DIR_NAME: String = "flasks".to_string(); pub static ref FLASK_DIR: String = format!("{}/{}", *PKG_DIR, *FLASK_DIR_NAME);