Replace directories with home & etcetera (#407)
* Use global lazy HOME_DIR * Remove unused base_dirs * Use `etcetera` instead of `directories` --------- Co-authored-by: Thomas Schönauer <37108907+DottoDev@users.noreply.github.com>
This commit is contained in:
@@ -1,9 +1,9 @@
|
||||
#[cfg(any(windows, target_os = "macos"))]
|
||||
#[cfg(any(windows))]
|
||||
use std::env;
|
||||
use std::path::{Path, PathBuf};
|
||||
|
||||
use color_eyre::eyre::Result;
|
||||
use directories::BaseDirs;
|
||||
use etcetera::base_strategy::BaseStrategy;
|
||||
|
||||
use crate::command::CommandExt;
|
||||
use crate::execution_context::ExecutionContext;
|
||||
@@ -23,20 +23,12 @@ pub struct Emacs {
|
||||
}
|
||||
|
||||
impl Emacs {
|
||||
fn directory_path(base_dirs: &BaseDirs) -> Option<PathBuf> {
|
||||
fn directory_path() -> Option<PathBuf> {
|
||||
#[cfg(unix)]
|
||||
cfg_if::cfg_if! {
|
||||
if #[cfg(target_os = "macos")] {
|
||||
let emacs_xdg_dir = env::var("XDG_CONFIG_HOME")
|
||||
.ok()
|
||||
.and_then(|config| PathBuf::from(config).join("emacs").if_exists())
|
||||
.or_else(|| base_dirs.home_dir().join(".config/emacs").if_exists());
|
||||
} else {
|
||||
let emacs_xdg_dir = base_dirs.config_dir().join("emacs").if_exists();
|
||||
}
|
||||
}
|
||||
#[cfg(unix)]
|
||||
return base_dirs.home_dir().join(".emacs.d").if_exists().or(emacs_xdg_dir);
|
||||
return {
|
||||
let emacs_xdg_dir = crate::XDG_DIRS.config_dir().join("emacs").if_exists();
|
||||
crate::HOME_DIR.join(".emacs.d").if_exists().or(emacs_xdg_dir)
|
||||
};
|
||||
|
||||
#[cfg(windows)]
|
||||
return env::var("HOME")
|
||||
@@ -47,11 +39,11 @@ impl Emacs {
|
||||
.if_exists()
|
||||
.or_else(|| PathBuf::from(&home).join(".config\\emacs").if_exists())
|
||||
})
|
||||
.or_else(|| base_dirs.data_dir().join(".emacs.d").if_exists());
|
||||
.or_else(|| crate::WINDOWS_DIRS.data_dir().join(".emacs.d").if_exists());
|
||||
}
|
||||
|
||||
pub fn new(base_dirs: &BaseDirs) -> Self {
|
||||
let directory = Emacs::directory_path(base_dirs);
|
||||
pub fn new() -> Self {
|
||||
let directory = Emacs::directory_path();
|
||||
let doom = directory.as_ref().and_then(|d| d.join(DOOM_PATH).if_exists());
|
||||
Self { directory, doom }
|
||||
}
|
||||
|
||||
@@ -8,7 +8,6 @@ use std::{fs, io::Write};
|
||||
use color_eyre::eyre::eyre;
|
||||
use color_eyre::eyre::Context;
|
||||
use color_eyre::eyre::Result;
|
||||
use directories::BaseDirs;
|
||||
use tempfile::tempfile_in;
|
||||
use tracing::{debug, error};
|
||||
|
||||
@@ -18,6 +17,7 @@ use crate::executor::{ExecutorOutput, RunType};
|
||||
use crate::terminal::{print_separator, shell};
|
||||
use crate::utils::{self, require, require_option, which, PathExt};
|
||||
use crate::Step;
|
||||
use crate::HOME_DIR;
|
||||
use crate::{
|
||||
error::{SkipStep, StepFailed, TopgradeError},
|
||||
terminal::print_warning,
|
||||
@@ -26,7 +26,7 @@ use crate::{
|
||||
pub fn run_cargo_update(ctx: &ExecutionContext) -> Result<()> {
|
||||
let cargo_dir = env::var_os("CARGO_HOME")
|
||||
.map(PathBuf::from)
|
||||
.unwrap_or_else(|| ctx.base_dirs().home_dir().join(".cargo"))
|
||||
.unwrap_or_else(|| HOME_DIR.join(".cargo"))
|
||||
.require()?;
|
||||
utils::require("cargo").or_else(|_| {
|
||||
require_option(
|
||||
@@ -84,9 +84,9 @@ pub fn run_flutter_upgrade(run_type: RunType) -> Result<()> {
|
||||
run_type.execute(flutter).arg("upgrade").status_checked()
|
||||
}
|
||||
|
||||
pub fn run_gem(base_dirs: &BaseDirs, run_type: RunType) -> Result<()> {
|
||||
pub fn run_gem(run_type: RunType) -> Result<()> {
|
||||
let gem = utils::require("gem")?;
|
||||
base_dirs.home_dir().join(".gem").require()?;
|
||||
HOME_DIR.join(".gem").require()?;
|
||||
|
||||
print_separator("Gems");
|
||||
|
||||
@@ -102,7 +102,7 @@ pub fn run_gem(base_dirs: &BaseDirs, run_type: RunType) -> Result<()> {
|
||||
}
|
||||
|
||||
pub fn run_rubygems(ctx: &ExecutionContext) -> Result<()> {
|
||||
ctx.base_dirs().home_dir().join(".gem").require()?;
|
||||
HOME_DIR.join(".gem").require()?;
|
||||
let gem = require("gem")?;
|
||||
|
||||
print_separator("RubyGems");
|
||||
@@ -214,12 +214,12 @@ pub fn run_rustup(ctx: &ExecutionContext) -> Result<()> {
|
||||
ctx.run_type().execute(rustup).arg("update").status_checked()
|
||||
}
|
||||
|
||||
pub fn run_juliaup(base_dirs: &BaseDirs, run_type: RunType) -> Result<()> {
|
||||
pub fn run_juliaup(run_type: RunType) -> Result<()> {
|
||||
let juliaup = utils::require("juliaup")?;
|
||||
|
||||
print_separator("juliaup");
|
||||
|
||||
if juliaup.canonicalize()?.is_descendant_of(base_dirs.home_dir()) {
|
||||
if juliaup.canonicalize()?.is_descendant_of(&HOME_DIR) {
|
||||
run_type.execute(&juliaup).args(["self", "update"]).status_checked()?;
|
||||
}
|
||||
|
||||
@@ -493,31 +493,31 @@ pub fn run_tlmgr_update(ctx: &ExecutionContext) -> Result<()> {
|
||||
command.status_checked()
|
||||
}
|
||||
|
||||
pub fn run_chezmoi_update(base_dirs: &BaseDirs, run_type: RunType) -> Result<()> {
|
||||
pub fn run_chezmoi_update(run_type: RunType) -> Result<()> {
|
||||
let chezmoi = utils::require("chezmoi")?;
|
||||
base_dirs.home_dir().join(".local/share/chezmoi").require()?;
|
||||
HOME_DIR.join(".local/share/chezmoi").require()?;
|
||||
|
||||
print_separator("chezmoi");
|
||||
|
||||
run_type.execute(chezmoi).arg("update").status_checked()
|
||||
}
|
||||
|
||||
pub fn run_myrepos_update(base_dirs: &BaseDirs, run_type: RunType) -> Result<()> {
|
||||
pub fn run_myrepos_update(run_type: RunType) -> Result<()> {
|
||||
let myrepos = utils::require("mr")?;
|
||||
base_dirs.home_dir().join(".mrconfig").require()?;
|
||||
HOME_DIR.join(".mrconfig").require()?;
|
||||
|
||||
print_separator("myrepos");
|
||||
|
||||
run_type
|
||||
.execute(&myrepos)
|
||||
.arg("--directory")
|
||||
.arg(base_dirs.home_dir())
|
||||
.arg(&*HOME_DIR)
|
||||
.arg("checkout")
|
||||
.status_checked()?;
|
||||
run_type
|
||||
.execute(&myrepos)
|
||||
.arg("--directory")
|
||||
.arg(base_dirs.home_dir())
|
||||
.arg(&*HOME_DIR)
|
||||
.arg("update")
|
||||
.status_checked()
|
||||
}
|
||||
@@ -544,7 +544,7 @@ pub fn run_composer_update(ctx: &ExecutionContext) -> Result<()> {
|
||||
.map(|s| PathBuf::from(s.stdout.trim()))?
|
||||
.require()?;
|
||||
|
||||
if !composer_home.is_descendant_of(ctx.base_dirs().home_dir()) {
|
||||
if !composer_home.is_descendant_of(&HOME_DIR) {
|
||||
return Err(SkipStep(format!(
|
||||
"Composer directory {} isn't a decandent of the user's home directory",
|
||||
composer_home.display()
|
||||
|
||||
@@ -5,6 +5,7 @@ use std::path::PathBuf;
|
||||
use std::process::Command;
|
||||
|
||||
use crate::utils::require_option;
|
||||
use crate::HOME_DIR;
|
||||
use color_eyre::eyre::Result;
|
||||
#[cfg(target_os = "linux")]
|
||||
use nix::unistd::Uid;
|
||||
@@ -265,7 +266,7 @@ pub fn run_yarn_upgrade(ctx: &ExecutionContext) -> Result<()> {
|
||||
|
||||
pub fn deno_upgrade(ctx: &ExecutionContext) -> Result<()> {
|
||||
let deno = require("deno")?;
|
||||
let deno_dir = ctx.base_dirs().home_dir().join(".deno");
|
||||
let deno_dir = HOME_DIR.join(".deno");
|
||||
|
||||
if !deno.canonicalize()?.is_descendant_of(&deno_dir) {
|
||||
let skip_reason = SkipStep("Deno installed outside of .deno directory".to_string());
|
||||
|
||||
@@ -5,9 +5,8 @@ use std::process::Command;
|
||||
use std::{env, path::Path};
|
||||
|
||||
use crate::command::CommandExt;
|
||||
use crate::Step;
|
||||
use crate::{Step, HOME_DIR};
|
||||
use color_eyre::eyre::Result;
|
||||
use directories::BaseDirs;
|
||||
use home;
|
||||
use ini::Ini;
|
||||
use tracing::debug;
|
||||
@@ -127,7 +126,7 @@ pub fn run_fisher(run_type: RunType) -> Result<()> {
|
||||
}
|
||||
|
||||
pub fn run_bashit(ctx: &ExecutionContext) -> Result<()> {
|
||||
ctx.base_dirs().home_dir().join(".bash_it").require()?;
|
||||
HOME_DIR.join(".bash_it").require()?;
|
||||
|
||||
print_separator("Bash-it");
|
||||
|
||||
@@ -139,10 +138,7 @@ pub fn run_bashit(ctx: &ExecutionContext) -> Result<()> {
|
||||
|
||||
pub fn run_oh_my_fish(ctx: &ExecutionContext) -> Result<()> {
|
||||
let fish = require("fish")?;
|
||||
ctx.base_dirs()
|
||||
.home_dir()
|
||||
.join(".local/share/omf/pkg/omf/functions/omf.fish")
|
||||
.require()?;
|
||||
HOME_DIR.join(".local/share/omf/pkg/omf/functions/omf.fish").require()?;
|
||||
|
||||
print_separator("oh-my-fish");
|
||||
|
||||
@@ -171,8 +167,7 @@ pub fn run_pkgin(ctx: &ExecutionContext) -> Result<()> {
|
||||
|
||||
pub fn run_fish_plug(ctx: &ExecutionContext) -> Result<()> {
|
||||
let fish = require("fish")?;
|
||||
ctx.base_dirs()
|
||||
.home_dir()
|
||||
HOME_DIR
|
||||
.join(".local/share/fish/plug/kidonng/fish-plug/functions/plug.fish")
|
||||
.require()?;
|
||||
|
||||
@@ -191,7 +186,7 @@ pub fn run_fish_plug(ctx: &ExecutionContext) -> Result<()> {
|
||||
/// See: <https://github.com/danhper/fundle>
|
||||
pub fn run_fundle(ctx: &ExecutionContext) -> Result<()> {
|
||||
let fish = require("fish")?;
|
||||
ctx.base_dirs().home_dir().join(".config/fish/fundle").require()?;
|
||||
HOME_DIR.join(".config/fish/fundle").require()?;
|
||||
|
||||
print_separator("fundle");
|
||||
|
||||
@@ -335,6 +330,7 @@ pub fn run_nix(ctx: &ExecutionContext) -> Result<()> {
|
||||
let nix = require("nix")?;
|
||||
let nix_channel = require("nix-channel")?;
|
||||
let nix_env = require("nix-env")?;
|
||||
// TODO: Is None possible here?
|
||||
let profile_path = match home::home_dir() {
|
||||
Some(home) => Path::new(&home).join(".nix-profile"),
|
||||
None => Path::new("/nix/var/nix/profiles/per-user/default").into(),
|
||||
@@ -435,12 +431,12 @@ pub fn run_pearl(run_type: RunType) -> Result<()> {
|
||||
run_type.execute(pearl).arg("update").status_checked()
|
||||
}
|
||||
|
||||
pub fn run_sdkman(base_dirs: &BaseDirs, cleanup: bool, run_type: RunType) -> Result<()> {
|
||||
pub fn run_sdkman(cleanup: bool, run_type: RunType) -> Result<()> {
|
||||
let bash = require("bash")?;
|
||||
|
||||
let sdkman_init_path = env::var("SDKMAN_DIR")
|
||||
.map(PathBuf::from)
|
||||
.unwrap_or_else(|_| base_dirs.home_dir().join(".sdkman"))
|
||||
.unwrap_or_else(|_| HOME_DIR.join(".sdkman"))
|
||||
.join("bin")
|
||||
.join("sdkman-init.sh")
|
||||
.require()
|
||||
@@ -450,7 +446,7 @@ pub fn run_sdkman(base_dirs: &BaseDirs, cleanup: bool, run_type: RunType) -> Res
|
||||
|
||||
let sdkman_config_path = env::var("SDKMAN_DIR")
|
||||
.map(PathBuf::from)
|
||||
.unwrap_or_else(|_| base_dirs.home_dir().join(".sdkman"))
|
||||
.unwrap_or_else(|_| HOME_DIR.join(".sdkman"))
|
||||
.join("etc")
|
||||
.join("config")
|
||||
.require()?;
|
||||
|
||||
@@ -3,6 +3,7 @@ use std::path::Path;
|
||||
use std::{ffi::OsStr, process::Command};
|
||||
|
||||
use color_eyre::eyre::Result;
|
||||
use etcetera::base_strategy::BaseStrategy;
|
||||
use tracing::debug;
|
||||
|
||||
use crate::command::CommandExt;
|
||||
@@ -164,9 +165,8 @@ pub fn reboot() -> Result<()> {
|
||||
Command::new("shutdown").args(["/R", "/T", "0"]).status_checked()
|
||||
}
|
||||
|
||||
pub fn insert_startup_scripts(ctx: &ExecutionContext, git_repos: &mut Repositories) -> Result<()> {
|
||||
let startup_dir = ctx
|
||||
.base_dirs()
|
||||
pub fn insert_startup_scripts(git_repos: &mut Repositories) -> Result<()> {
|
||||
let startup_dir = crate::WINDOWS_DIRS
|
||||
.data_dir()
|
||||
.join("Microsoft\\Windows\\Start Menu\\Programs\\Startup");
|
||||
for entry in std::fs::read_dir(&startup_dir)?.flatten() {
|
||||
|
||||
@@ -5,11 +5,11 @@ use std::process::Command;
|
||||
use color_eyre::eyre::eyre;
|
||||
use color_eyre::eyre::Context;
|
||||
use color_eyre::eyre::Result;
|
||||
use directories::BaseDirs;
|
||||
|
||||
use crate::command::CommandExt;
|
||||
use crate::executor::RunType;
|
||||
use crate::terminal::print_separator;
|
||||
use crate::HOME_DIR;
|
||||
use crate::{
|
||||
execution_context::ExecutionContext,
|
||||
utils::{which, PathExt},
|
||||
@@ -18,11 +18,8 @@ use crate::{
|
||||
#[cfg(unix)]
|
||||
use std::os::unix::process::CommandExt as _;
|
||||
|
||||
pub fn run_tpm(base_dirs: &BaseDirs, run_type: RunType) -> Result<()> {
|
||||
let tpm = base_dirs
|
||||
.home_dir()
|
||||
.join(".tmux/plugins/tpm/bin/update_plugins")
|
||||
.require()?;
|
||||
pub fn run_tpm(run_type: RunType) -> Result<()> {
|
||||
let tpm = HOME_DIR.join(".tmux/plugins/tpm/bin/update_plugins").require()?;
|
||||
|
||||
print_separator("tmux plugins");
|
||||
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
use crate::command::CommandExt;
|
||||
use crate::error::{SkipStep, TopgradeError};
|
||||
use crate::HOME_DIR;
|
||||
use color_eyre::eyre::Result;
|
||||
use etcetera::base_strategy::BaseStrategy;
|
||||
|
||||
use crate::executor::{Executor, ExecutorOutput, RunType};
|
||||
use crate::terminal::print_separator;
|
||||
@@ -8,7 +10,6 @@ use crate::{
|
||||
execution_context::ExecutionContext,
|
||||
utils::{require, PathExt},
|
||||
};
|
||||
use directories::BaseDirs;
|
||||
use std::path::PathBuf;
|
||||
use std::{
|
||||
io::{self, Write},
|
||||
@@ -18,22 +19,19 @@ use tracing::debug;
|
||||
|
||||
const UPGRADE_VIM: &str = include_str!("upgrade.vim");
|
||||
|
||||
pub fn vimrc(base_dirs: &BaseDirs) -> Result<PathBuf> {
|
||||
base_dirs
|
||||
.home_dir()
|
||||
pub fn vimrc() -> Result<PathBuf> {
|
||||
HOME_DIR
|
||||
.join(".vimrc")
|
||||
.require()
|
||||
.or_else(|_| base_dirs.home_dir().join(".vim/vimrc").require())
|
||||
.or_else(|_| HOME_DIR.join(".vim/vimrc").require())
|
||||
}
|
||||
|
||||
fn nvimrc(base_dirs: &BaseDirs) -> Result<PathBuf> {
|
||||
fn nvimrc() -> Result<PathBuf> {
|
||||
#[cfg(unix)]
|
||||
let base_dir =
|
||||
// Bypass directories crate as nvim doesn't use the macOS-specific directories.
|
||||
std::env::var_os("XDG_CONFIG_HOME").map_or_else(|| base_dirs.home_dir().join(".config"), PathBuf::from);
|
||||
let base_dir = crate::XDG_DIRS.config_dir();
|
||||
|
||||
#[cfg(windows)]
|
||||
let base_dir = base_dirs.cache_dir();
|
||||
let base_dir = crate::WINDOWS_DIRS.cache_dir();
|
||||
|
||||
base_dir
|
||||
.join("nvim/init.vim")
|
||||
@@ -74,7 +72,7 @@ fn upgrade(command: &mut Executor, ctx: &ExecutionContext) -> Result<()> {
|
||||
}
|
||||
|
||||
pub fn upgrade_ultimate_vimrc(ctx: &ExecutionContext) -> Result<()> {
|
||||
let config_dir = ctx.base_dirs().home_dir().join(".vim_runtime").require()?;
|
||||
let config_dir = HOME_DIR.join(".vim_runtime").require()?;
|
||||
let git = require("git")?;
|
||||
let python = require("python3")?;
|
||||
let update_plugins = config_dir.join("update_plugins.py").require()?;
|
||||
@@ -105,7 +103,7 @@ pub fn upgrade_ultimate_vimrc(ctx: &ExecutionContext) -> Result<()> {
|
||||
Ok(())
|
||||
}
|
||||
|
||||
pub fn upgrade_vim(base_dirs: &BaseDirs, ctx: &ExecutionContext) -> Result<()> {
|
||||
pub fn upgrade_vim(ctx: &ExecutionContext) -> Result<()> {
|
||||
let vim = require("vim")?;
|
||||
|
||||
let output = Command::new(&vim).arg("--version").output_checked_utf8()?;
|
||||
@@ -113,7 +111,7 @@ pub fn upgrade_vim(base_dirs: &BaseDirs, ctx: &ExecutionContext) -> Result<()> {
|
||||
return Err(SkipStep(String::from("vim binary might be actually nvim")).into());
|
||||
}
|
||||
|
||||
let vimrc = vimrc(base_dirs)?;
|
||||
let vimrc = vimrc()?;
|
||||
|
||||
print_separator("Vim");
|
||||
upgrade(
|
||||
@@ -127,9 +125,9 @@ pub fn upgrade_vim(base_dirs: &BaseDirs, ctx: &ExecutionContext) -> Result<()> {
|
||||
)
|
||||
}
|
||||
|
||||
pub fn upgrade_neovim(base_dirs: &BaseDirs, ctx: &ExecutionContext) -> Result<()> {
|
||||
pub fn upgrade_neovim(ctx: &ExecutionContext) -> Result<()> {
|
||||
let nvim = require("nvim")?;
|
||||
let nvimrc = nvimrc(base_dirs)?;
|
||||
let nvimrc = nvimrc()?;
|
||||
|
||||
print_separator("Neovim");
|
||||
upgrade(
|
||||
@@ -143,7 +141,7 @@ pub fn upgrade_neovim(base_dirs: &BaseDirs, ctx: &ExecutionContext) -> Result<()
|
||||
)
|
||||
}
|
||||
|
||||
pub fn run_voom(_base_dirs: &BaseDirs, run_type: RunType) -> Result<()> {
|
||||
pub fn run_voom(run_type: RunType) -> Result<()> {
|
||||
let voom = require("voom")?;
|
||||
|
||||
print_separator("voom");
|
||||
|
||||
@@ -3,7 +3,6 @@ use std::path::PathBuf;
|
||||
use std::process::Command;
|
||||
|
||||
use color_eyre::eyre::Result;
|
||||
use directories::BaseDirs;
|
||||
use tracing::debug;
|
||||
use walkdir::WalkDir;
|
||||
|
||||
@@ -13,31 +12,32 @@ use crate::executor::RunType;
|
||||
use crate::git::Repositories;
|
||||
use crate::terminal::print_separator;
|
||||
use crate::utils::{require, PathExt};
|
||||
use crate::HOME_DIR;
|
||||
|
||||
pub fn run_zr(base_dirs: &BaseDirs, run_type: RunType) -> Result<()> {
|
||||
pub fn run_zr(run_type: RunType) -> Result<()> {
|
||||
let zsh = require("zsh")?;
|
||||
|
||||
require("zr")?;
|
||||
|
||||
print_separator("zr");
|
||||
|
||||
let cmd = format!("source {} && zr --update", zshrc(base_dirs).display());
|
||||
let cmd = format!("source {} && zr --update", zshrc().display());
|
||||
run_type.execute(zsh).args(["-l", "-c", cmd.as_str()]).status_checked()
|
||||
}
|
||||
|
||||
fn zdotdir(base_dirs: &BaseDirs) -> PathBuf {
|
||||
fn zdotdir() -> PathBuf {
|
||||
env::var("ZDOTDIR")
|
||||
.map(PathBuf::from)
|
||||
.unwrap_or_else(|_| base_dirs.home_dir().to_path_buf())
|
||||
.unwrap_or_else(|_| HOME_DIR.clone())
|
||||
}
|
||||
|
||||
pub fn zshrc(base_dirs: &BaseDirs) -> PathBuf {
|
||||
zdotdir(base_dirs).join(".zshrc")
|
||||
pub fn zshrc() -> PathBuf {
|
||||
zdotdir().join(".zshrc")
|
||||
}
|
||||
|
||||
pub fn run_antidote(ctx: &ExecutionContext) -> Result<()> {
|
||||
let zsh = require("zsh")?;
|
||||
let mut antidote = zdotdir(ctx.base_dirs()).join(".antidote").require()?;
|
||||
let mut antidote = zdotdir().join(".antidote").require()?;
|
||||
antidote.push("antidote.zsh");
|
||||
|
||||
print_separator("antidote");
|
||||
@@ -58,12 +58,12 @@ pub fn run_antibody(run_type: RunType) -> Result<()> {
|
||||
run_type.execute(antibody).arg("update").status_checked()
|
||||
}
|
||||
|
||||
pub fn run_antigen(base_dirs: &BaseDirs, run_type: RunType) -> Result<()> {
|
||||
pub fn run_antigen(run_type: RunType) -> Result<()> {
|
||||
let zsh = require("zsh")?;
|
||||
let zshrc = zshrc(base_dirs).require()?;
|
||||
let zshrc = zshrc().require()?;
|
||||
env::var("ADOTDIR")
|
||||
.map(PathBuf::from)
|
||||
.unwrap_or_else(|_| base_dirs.home_dir().join("antigen.zsh"))
|
||||
.unwrap_or_else(|_| HOME_DIR.join("antigen.zsh"))
|
||||
.require()?;
|
||||
|
||||
print_separator("antigen");
|
||||
@@ -72,12 +72,12 @@ pub fn run_antigen(base_dirs: &BaseDirs, run_type: RunType) -> Result<()> {
|
||||
run_type.execute(zsh).args(["-l", "-c", cmd.as_str()]).status_checked()
|
||||
}
|
||||
|
||||
pub fn run_zgenom(base_dirs: &BaseDirs, run_type: RunType) -> Result<()> {
|
||||
pub fn run_zgenom(run_type: RunType) -> Result<()> {
|
||||
let zsh = require("zsh")?;
|
||||
let zshrc = zshrc(base_dirs).require()?;
|
||||
let zshrc = zshrc().require()?;
|
||||
env::var("ZGEN_SOURCE")
|
||||
.map(PathBuf::from)
|
||||
.unwrap_or_else(|_| base_dirs.home_dir().join(".zgenom"))
|
||||
.unwrap_or_else(|_| HOME_DIR.join(".zgenom"))
|
||||
.require()?;
|
||||
|
||||
print_separator("zgenom");
|
||||
@@ -86,13 +86,13 @@ pub fn run_zgenom(base_dirs: &BaseDirs, run_type: RunType) -> Result<()> {
|
||||
run_type.execute(zsh).args(["-l", "-c", cmd.as_str()]).status_checked()
|
||||
}
|
||||
|
||||
pub fn run_zplug(base_dirs: &BaseDirs, run_type: RunType) -> Result<()> {
|
||||
pub fn run_zplug(run_type: RunType) -> Result<()> {
|
||||
let zsh = require("zsh")?;
|
||||
zshrc(base_dirs).require()?;
|
||||
zshrc().require()?;
|
||||
|
||||
env::var("ZPLUG_HOME")
|
||||
.map(PathBuf::from)
|
||||
.unwrap_or_else(|_| base_dirs.home_dir().join(".zplug"))
|
||||
.unwrap_or_else(|_| HOME_DIR.join(".zplug"))
|
||||
.require()?;
|
||||
|
||||
print_separator("zplug");
|
||||
@@ -103,13 +103,13 @@ pub fn run_zplug(base_dirs: &BaseDirs, run_type: RunType) -> Result<()> {
|
||||
.status_checked()
|
||||
}
|
||||
|
||||
pub fn run_zinit(base_dirs: &BaseDirs, run_type: RunType) -> Result<()> {
|
||||
pub fn run_zinit(run_type: RunType) -> Result<()> {
|
||||
let zsh = require("zsh")?;
|
||||
let zshrc = zshrc(base_dirs).require()?;
|
||||
let zshrc = zshrc().require()?;
|
||||
|
||||
env::var("ZINIT_HOME")
|
||||
.map(PathBuf::from)
|
||||
.unwrap_or_else(|_| base_dirs.home_dir().join(".zinit"))
|
||||
.unwrap_or_else(|_| HOME_DIR.join(".zinit"))
|
||||
.require()?;
|
||||
|
||||
print_separator("zinit");
|
||||
@@ -118,11 +118,11 @@ pub fn run_zinit(base_dirs: &BaseDirs, run_type: RunType) -> Result<()> {
|
||||
run_type.execute(zsh).args(["-i", "-c", cmd.as_str()]).status_checked()
|
||||
}
|
||||
|
||||
pub fn run_zi(base_dirs: &BaseDirs, run_type: RunType) -> Result<()> {
|
||||
pub fn run_zi(run_type: RunType) -> Result<()> {
|
||||
let zsh = require("zsh")?;
|
||||
let zshrc = zshrc(base_dirs).require()?;
|
||||
let zshrc = zshrc().require()?;
|
||||
|
||||
base_dirs.home_dir().join(".zi").require()?;
|
||||
HOME_DIR.join(".zi").require()?;
|
||||
|
||||
print_separator("zi");
|
||||
|
||||
@@ -130,7 +130,7 @@ pub fn run_zi(base_dirs: &BaseDirs, run_type: RunType) -> Result<()> {
|
||||
run_type.execute(zsh).args(["-i", "-c", &cmd]).status_checked()
|
||||
}
|
||||
|
||||
pub fn run_zim(base_dirs: &BaseDirs, run_type: RunType) -> Result<()> {
|
||||
pub fn run_zim(run_type: RunType) -> Result<()> {
|
||||
let zsh = require("zsh")?;
|
||||
env::var("ZIM_HOME")
|
||||
.or_else(|_| {
|
||||
@@ -141,7 +141,7 @@ pub fn run_zim(base_dirs: &BaseDirs, run_type: RunType) -> Result<()> {
|
||||
.map(|o| o.stdout)
|
||||
})
|
||||
.map(PathBuf::from)
|
||||
.unwrap_or_else(|_| base_dirs.home_dir().join(".zim"))
|
||||
.unwrap_or_else(|_| HOME_DIR.join(".zim"))
|
||||
.require()?;
|
||||
|
||||
print_separator("zim");
|
||||
@@ -154,7 +154,7 @@ pub fn run_zim(base_dirs: &BaseDirs, run_type: RunType) -> Result<()> {
|
||||
|
||||
pub fn run_oh_my_zsh(ctx: &ExecutionContext) -> Result<()> {
|
||||
require("zsh")?;
|
||||
let oh_my_zsh = ctx.base_dirs().home_dir().join(".oh-my-zsh").require()?;
|
||||
let oh_my_zsh = HOME_DIR.join(".oh-my-zsh").require()?;
|
||||
|
||||
print_separator("oh-my-zsh");
|
||||
|
||||
|
||||
Reference in New Issue
Block a user