From 2cd201521057cf0ff80e078dc384e1aecc9c7efd Mon Sep 17 00:00:00 2001 From: Jack Foltz Date: Sat, 8 Dec 2018 23:20:00 -0500 Subject: [PATCH] Reorganize deploy --- lib/deploy.py | 50 +++++++++++++++++++++++++++++++++++--------------- 1 file changed, 35 insertions(+), 15 deletions(-) diff --git a/lib/deploy.py b/lib/deploy.py index 4fd0935..579426a 100644 --- a/lib/deploy.py +++ b/lib/deploy.py @@ -1,8 +1,12 @@ import os import distutils +import subprocess from pathlib import Path -import lib.pacman as pacman from lib.package import Package +import lib.proc as proc +import lib.pacman as pacman +import lib.yay as yay +import lib.git as git installed_packages = pacman.get_installed() @@ -13,48 +17,64 @@ def copy(source, dest): else: pass#distutils.file_util.copy_file(source.absolute(), dest.absolute()) -def import_item(path): - copy(Path('~') / path, Path('./lain') / path) +def import_path(paths): + if not isinstance(paths, list): + paths = [paths] + for path in paths: + copy(Path('~') / path, Path('./lain') / path) -def export_item(path): - copy(Path('./lain') / path, Path('~') / path) +def export_path(paths): + if not isinstance(paths, list): + paths = [paths] + for path in paths: + copy(Path('./lain') / path, Path('~') / path) def install(package): if not package.install or not package.source: return - if package.source == 'core' and package.name not in installed_packages: - res = pacman.install(package.name) + if package.source == 'core':# and package.name not in installed_packages: + print('pacman', package.name) + #pacman.install(package.name) + elif package.source == 'aur':# and package.name not in installed_packages: + print('yay', package.name) + #yay.install(package.name) + elif package.source == 'git': + print('git', package.name) + #git.clone(package.url, 'git/' + package.name) def export_config(package): if not package.export_config or not package.config: return - - export_item(package.config) + export_path(package.config) def import_config(package): if not package.config: return - - import_item(package.config) + import_path(package.config) def run_script(package): if not package.run_script or not package.script: return + print('fish', package.script) + #proc.exec(['fish', package.script.absolute()]) def export_units(package): if not package.export_units or not package.userunits: return - - for unit in package.userunits: - export_item(unit) + export_path(package.userunits) def import_units(package): if not package.userunits: return + import_path(package.userunits) +def enable_units(package): + if not package.enable_units or not package.userunits: + return for unit in package.userunits: - import_item(unit) + print('systemctl --user enable', unit.name) + #proc.exec(['systemctl', '--user', 'enable', unit.name]) def deploy(package): if not package.enabled: