mirror of
https://github.com/Foltik/dotfiles
synced 2024-11-27 21:19:51 -05:00
Reorganize deploy
This commit is contained in:
parent
4984a66e5e
commit
2cd2015210
@ -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:
|
||||
|
Loading…
Reference in New Issue
Block a user