#!/usr/bin/env sh
+echo "Installing essential software"
+
+if command -v brew &> /dev/null; then
+ cat ./provisioning/brew_essential | xargs brew install
+else
+ if command -v apt &> /dev/null; then
+ echo "Warning: ASDF needs to be installed manually"
+ cat ./provisioning/apt_essential | xargs apt install
+ else
+ echo "Error: No valid package manager. Make sure brew or apt are available."
+ exit 1
+ fi
+fi
+
echo "Linking runcoms"
-# ZSH runcoms
-ln -fhs .dotfiles/runcoms/zshrc ~/.zshrc
-ln -fhs .dotfiles/runcoms/zshenv ~/.zshenv
-ln -fhs .dotfiles/runcoms/zprofile ~/.zprofile
-ln -fhs .dotfiles/runcoms/zlogout ~/.zlogout
-ln -fhs .dotfiles/runcoms/zlogin ~/.zlogin
+# hush login
+ln -fns .dotfiles/hushlogin ~/.hushlogin
+
+# zsh runcoms
+ln -fns .dotfiles/runcoms/zshrc ~/.zshrc
+ln -fns .dotfiles/runcoms/zshenv ~/.zshenv
+ln -fns .dotfiles/runcoms/zprofile ~/.zprofile
+ln -fns .dotfiles/runcoms/zlogout ~/.zlogout
+ln -fns .dotfiles/runcoms/zlogin ~/.zlogin
# Weechat
-ln -fhs .dotfiles/weechat ~/.weechat
+ln -fns .dotfiles/weechat ~/.weechat
# VIM
-ln -fhs .dotfiles/vim ~/.vim
-ln -fhs .dotfiles/vimrc ~/.vimrc
+ln -fns .dotfiles/vim ~/.vim
+ln -fns .dotfiles/vimrc ~/.vimrc
# TMUX
-ln -fhs .dotfiles/tmux.conf ~/.tmux.conf
+ln -fns .dotfiles/tmux.conf ~/.tmux.conf
# Nethack
-ln -fhs .dotfiles/nethackrc ~/.nethackrc
+ln -fns .dotfiles/nethackrc ~/.nethackrc
# Git
-ln -fhs .dotfiles/gitconfig ~/.gitconfig
+ln -fns .dotfiles/gitconfig ~/.gitconfig
# Ctags
-ln -fhs .dotfiles/ctags.d ~/.ctags.d
+ln -fns .dotfiles/ctags.d ~/.ctags.d
+
+# XDefaults
+ln -fns .dotfiles/XDefaults ~/.XDefaults
+
+# ripgrep
+ln -fns .dotfiles/rgignore ~/.rgignore
+
+# tmuxp
+ln -fns .dotfiles/tmuxp ~/.tmuxp
+
+# config dir
+mkdir -p ~/.config
+
+# kitty
+ln -fns ../.dotfiles/config/kitty ~/.config/kitty
+
+# nvim
+ln -fns ../.dotfiles/config/nvim ~/.config/nvim
+
+# config
+ln -fns ../.dotfiles/config/karabiner ~/.config/karabiner
# Italics setup
echo "Setting up terminfo"