diff options
Diffstat (limited to 'dots_manager/stow.py')
-rw-r--r-- | dots_manager/stow.py | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/dots_manager/stow.py b/dots_manager/stow.py index b78e2fc..da4fbbb 100644 --- a/dots_manager/stow.py +++ b/dots_manager/stow.py @@ -1,9 +1,8 @@ from pathlib import Path from typing import Literal -from dots_manager.env import Environment +from dots_manager.config import Environment from dots_manager.shell import run_shell_command -from dots_manager.parallel import parallelize -from dots_manager.utils import is_some +from dots_manager.utils import is_some, parallelize def list_stowable_packages(packages: Path) -> list[Path]: @@ -18,9 +17,12 @@ def list_stowable_packages(packages: Path) -> list[Path]: def apply_stow_operation_to_packages( packages: Path, target: Path, - stow_op: Literal["-D", "--no-folding"], + stow_op: Literal["--delete", "--no-folding"], env: Environment, ) -> bool: + if not packages.exists(): + env.logger.warn("nothing to clean up <_mood.anxious>") + return True if not run_shell_command(["stow", "--version"], env.logger): env.logger.error("stow not installed D:") return False @@ -35,6 +37,6 @@ def apply_stow_operation_to_packages( results = parallelize( lambda command: is_some(run_shell_command, command, env.logger)[0], commands, - env, + env.logger, ) return len(commands) == sum(1 if x else 0 for x in results) |