update install config
This commit is contained in:
+28
-22
@@ -6,32 +6,30 @@ from pathlib import Path
|
||||
def sym_link_dir():
|
||||
confirm_link = input("Do you want to link home directories to external storage? (Y/n): ")
|
||||
|
||||
if confirm_link.lower() == "y" or confirm_link.lower() == '':
|
||||
if confirm_link.lower() in ("y", "yes", ""):
|
||||
target_dir = input("Specify the full path to the external storage: ")
|
||||
|
||||
def home_dir_item(item):
|
||||
return Path(f"{Path.home()}/{item}")
|
||||
if Path(target_dir).is_dir():
|
||||
for dir in config.DIRECTORIES:
|
||||
DIR_ITEM = Path(f"{Path.home()}/{dir}")
|
||||
|
||||
for dir in config.DIRECTORIES:
|
||||
HOME_DIR_PATH = home_dir_item(dir)
|
||||
TARGET_SYMLINK_DIR = f"{target_dir}/{dir}"
|
||||
HAS_HOME_DIR = HOME_DIR_PATH.is_dir()
|
||||
IS_SYMLINK = HOME_DIR_PATH.is_symlink()
|
||||
if not DIR_ITEM.is_symlink():
|
||||
if DIR_ITEM.is_dir():
|
||||
DIR_ITEM.rmdir()
|
||||
DIR_ITEM.symlink_to(f"{target_dir}/{dir}")
|
||||
|
||||
if HAS_HOME_DIR:
|
||||
HOME_DIR_PATH.rmdir()
|
||||
for dir in config.DIRECTORIES_TO_REMOVE:
|
||||
DIR_ITEM = Path(f"{Path.home()}/{dir}")
|
||||
|
||||
if not IS_SYMLINK:
|
||||
HOME_DIR_PATH.symlink_to(TARGET_SYMLINK_DIR)
|
||||
|
||||
for dir in config.DIRECTORIES_TO_REMOVE:
|
||||
if home_dir_item(dir).is_dir():
|
||||
home_dir_item(dir).rmdir()
|
||||
if DIR_ITEM.is_dir() and not DIR_ITEM.is_symlink():
|
||||
DIR_ITEM.rmdir()
|
||||
|
||||
|
||||
def install_apps():
|
||||
for app in config.APPS:
|
||||
subprocess.run(['sudo', 'pacman', '-S', f"{app}", '--noconfirm'])
|
||||
subprocess.run([
|
||||
'sudo', 'pacman', '-S', f"{app}", '--noconfirm'
|
||||
], check=True)
|
||||
|
||||
subprocess.run([
|
||||
"fish", "-c", "fisher install jorgebucaran/nvm.fish"
|
||||
@@ -43,12 +41,20 @@ def install_apps():
|
||||
|
||||
|
||||
def stow_dot_files():
|
||||
dotfiles_root = Path.home()/'.dotfiles'
|
||||
for dotfile in config.DOTFILES:
|
||||
subprocess.run(['stow', f"../../{dotfile}", '--adopt'])
|
||||
subprocess.run([
|
||||
'stow', '-d', str(dotfiles_root), dotfile, '--adopt'
|
||||
], check=True)
|
||||
|
||||
subprocess.run(['git', 'checkout', '--', '.'])
|
||||
subprocess.run(
|
||||
['git', 'checkout', '--', *config.DOTFILES],
|
||||
cwd=dotfiles_root,
|
||||
check=True,
|
||||
)
|
||||
|
||||
|
||||
sym_link_dir()
|
||||
install_apps()
|
||||
stow_dot_files()
|
||||
if __name__ == "__main__":
|
||||
sym_link_dir()
|
||||
install_apps()
|
||||
stow_dot_files()
|
||||
|
||||
Reference in New Issue
Block a user