Do not pull Doom Emacs manually
This commit is contained in:
@@ -235,8 +235,10 @@ fn run() -> Result<()> {
|
|||||||
let emacs = emacs::Emacs::new(&base_dirs);
|
let emacs = emacs::Emacs::new(&base_dirs);
|
||||||
if config.use_predefined_git_repos() {
|
if config.use_predefined_git_repos() {
|
||||||
if config.should_run(Step::Emacs) {
|
if config.should_run(Step::Emacs) {
|
||||||
if let Some(directory) = emacs.directory() {
|
if !emacs.is_doom() {
|
||||||
git_repos.insert(directory);
|
if let Some(directory) = emacs.directory() {
|
||||||
|
git_repos.insert(directory);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
git_repos.insert(base_dirs.home_dir().join(".doom.d"));
|
git_repos.insert(base_dirs.home_dir().join(".doom.d"));
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -15,6 +15,7 @@ const DDOM_PATH: &str = "bin/doom";
|
|||||||
|
|
||||||
pub struct Emacs {
|
pub struct Emacs {
|
||||||
directory: Option<PathBuf>,
|
directory: Option<PathBuf>,
|
||||||
|
doom: Option<PathBuf>,
|
||||||
}
|
}
|
||||||
|
|
||||||
impl Emacs {
|
impl Emacs {
|
||||||
@@ -30,9 +31,13 @@ impl Emacs {
|
|||||||
}
|
}
|
||||||
|
|
||||||
pub fn new(base_dirs: &BaseDirs) -> Self {
|
pub fn new(base_dirs: &BaseDirs) -> Self {
|
||||||
Self {
|
let directory = Emacs::directory_path(base_dirs);
|
||||||
directory: Emacs::directory_path(base_dirs),
|
let doom = directory.as_ref().and_then(|d| d.join(DDOM_PATH).if_exists());
|
||||||
}
|
Self { directory, doom }
|
||||||
|
}
|
||||||
|
|
||||||
|
pub fn is_doom(&self) -> bool {
|
||||||
|
self.doom.is_some()
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn directory(&self) -> Option<&PathBuf> {
|
pub fn directory(&self) -> Option<&PathBuf> {
|
||||||
@@ -48,10 +53,9 @@ impl Emacs {
|
|||||||
pub fn upgrade(&self, run_type: RunType) -> Result<()> {
|
pub fn upgrade(&self, run_type: RunType) -> Result<()> {
|
||||||
let emacs = require("emacs")?;
|
let emacs = require("emacs")?;
|
||||||
let init_file = require_option(self.directory.as_ref())?.join("init.el").require()?;
|
let init_file = require_option(self.directory.as_ref())?.join("init.el").require()?;
|
||||||
let doom = require_option(self.directory.as_ref())?.join(DDOM_PATH);
|
|
||||||
|
|
||||||
if doom.exists() {
|
if let Some(doom) = &self.doom {
|
||||||
return Emacs::update_doom(&doom, run_type);
|
return Emacs::update_doom(doom, run_type);
|
||||||
}
|
}
|
||||||
|
|
||||||
print_separator("Emacs");
|
print_separator("Emacs");
|
||||||
|
|||||||
Reference in New Issue
Block a user