update install config

This commit is contained in:
Kendall Whitman
2026-04-22 18:16:04 -05:00
parent bb4a3b78a6
commit 95f748f930
2 changed files with 33 additions and 23 deletions
+5 -1
View File
@@ -14,10 +14,12 @@ DIRECTORIES_TO_REMOVE = [
APPS = [
'element-desktop',
'fisher',
'flatpak',
'freecad',
'libreoffice-fresh',
'librewolf-bin',
'neovim-git',
'neovim',
'proton-mail-bin',
'proton-vpn-gtk-app',
'rtorrent',
@@ -25,6 +27,8 @@ APPS = [
'stow',
'tmux',
'wl-clipboard',
'gimp',
'inkscape',
]
DOTFILES = [
+27 -21
View File
@@ -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:
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()
DIR_ITEM = Path(f"{Path.home()}/{dir}")
if HAS_HOME_DIR:
HOME_DIR_PATH.rmdir()
if not IS_SYMLINK:
HOME_DIR_PATH.symlink_to(TARGET_SYMLINK_DIR)
if not DIR_ITEM.is_symlink():
if DIR_ITEM.is_dir():
DIR_ITEM.rmdir()
DIR_ITEM.symlink_to(f"{target_dir}/{dir}")
for dir in config.DIRECTORIES_TO_REMOVE:
if home_dir_item(dir).is_dir():
home_dir_item(dir).rmdir()
DIR_ITEM = Path(f"{Path.home()}/{dir}")
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()