fix: improve bashrc sourcing and zoxide initialization; add home-manager installation check

This commit is contained in:
Menno van Leeuwen 2024-10-31 19:03:59 +01:00
parent 4125562f7a
commit dc50b4bcd0
No known key found for this signature in database
3 changed files with 31 additions and 4 deletions

12
.bashrc
View File

@ -89,18 +89,28 @@ fi
eval "$(starship init bash)"
# Source nix home-manager
if [ -f "$HOME/.nix-profile/etc/profile.d/hm-session-vars.sh" ]; then
. "$HOME/.nix-profile/etc/profile.d/hm-session-vars.sh"
fi
# Source agent-bridge script for 1password
source $HOME/dotfiles/bin/1password-agent-bridge.sh
# zoxide
# zoxide if available
if command -v zoxide &> /dev/null; then
eval "$(zoxide init bash)"
fi
# Check if we are running from zellij, if not then launch it
if [ -z "$ZELLIJ" ]; then
zellij
# Exit if zellij exits properly with a zero exit code
if [ $? -eq 0 ]; then
exit $?
fi
echo "Zellij exited with a non-zero exit code, continuing..."
return
fi

View File

@ -209,6 +209,18 @@ homemanager() {
cd $HOME/dotfiles/config/home-manager && home-manager switch
}
ensure_homemanager_installed() {
if [ ! -x "$(command -v home-manager)" ]; then
printfe "%s\n" "yellow" "Home Manager is not installed, installing it..."
nix-channel --add https://github.com/nix-community/home-manager/archive/release-24.05.tar.gz home-manager
nix-channel --update
nix-shell '<home-manager>' -A install
printfe "%s\n" "yellow" "Home Manager installed, please run the script again."
exit 1
fi
}
####################################################################################################
# Parse arguments
####################################################################################################
@ -223,6 +235,7 @@ shift
if [ "$#" -eq 0 ]; then
printfe "%s\n" "yellow" "No options passed, running full update..."
ensure_homemanager_installed
symlinks
sys_packages
homemanager

View File

@ -17,6 +17,10 @@ if [ ! -x "$(command -v sed)" ]; then
return
fi
if [ ! -f ~/.bashrc ]; then
touch ~/.bashrc
fi
sed -i -e '$a\'$'\n''export PATH=$PATH:$HOME/.local/bin' ~/.bashrc
sed -i -e '$a\'$'\n''export PATH=$PATH:~/dotfiles/bin' ~/.bashrc