1
0
mirror of https://github.com/Foltik/dotfiles synced 2024-11-27 21:19:51 -05:00

Reorganize deploy

This commit is contained in:
Jack Foltz 2018-12-08 23:20:00 -05:00
parent 4984a66e5e
commit 2cd2015210
Signed by: foltik
GPG Key ID: D1F0331758D1F29A

View File

@ -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: