summaryrefslogtreecommitdiff
path: root/dots_manager/stow.py
diff options
context:
space:
mode:
authorHunt <lizhunt@amazon.com>2025-06-03 11:58:25 -0700
committerHunt <lizhunt@amazon.com>2025-06-03 11:58:25 -0700
commitee9ad10b5cc9850c3e2ed1946f70e0cef429fb48 (patch)
treeb6b0411b02127951cc28292425a35a1830c2758d /dots_manager/stow.py
parent64d060d2730cd212b2932879036eb33f7336ef38 (diff)
downloaddotfiles-ee9ad10b5cc9850c3e2ed1946f70e0cef429fb48.tar.gz
dotfiles-ee9ad10b5cc9850c3e2ed1946f70e0cef429fb48.zip
Refactor
Diffstat (limited to 'dots_manager/stow.py')
-rw-r--r--dots_manager/stow.py12
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)