fix: improve bashrc sourcing and zoxide initialization; add home-manager installation check
This commit is contained in:
parent
4125562f7a
commit
dc50b4bcd0
18
.bashrc
18
.bashrc
@ -89,18 +89,28 @@ fi
|
|||||||
eval "$(starship init bash)"
|
eval "$(starship init bash)"
|
||||||
|
|
||||||
# Source nix home-manager
|
# Source nix home-manager
|
||||||
. "$HOME/.nix-profile/etc/profile.d/hm-session-vars.sh"
|
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 agent-bridge script for 1password
|
||||||
source $HOME/dotfiles/bin/1password-agent-bridge.sh
|
source $HOME/dotfiles/bin/1password-agent-bridge.sh
|
||||||
|
|
||||||
# zoxide
|
# zoxide if available
|
||||||
eval "$(zoxide init bash)"
|
if command -v zoxide &> /dev/null; then
|
||||||
|
eval "$(zoxide init bash)"
|
||||||
|
fi
|
||||||
|
|
||||||
# Check if we are running from zellij, if not then launch it
|
# Check if we are running from zellij, if not then launch it
|
||||||
if [ -z "$ZELLIJ" ]; then
|
if [ -z "$ZELLIJ" ]; then
|
||||||
zellij
|
zellij
|
||||||
exit $?
|
|
||||||
|
# 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
|
return
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
@ -209,6 +209,18 @@ homemanager() {
|
|||||||
cd $HOME/dotfiles/config/home-manager && home-manager switch
|
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
|
# Parse arguments
|
||||||
####################################################################################################
|
####################################################################################################
|
||||||
@ -223,6 +235,7 @@ shift
|
|||||||
if [ "$#" -eq 0 ]; then
|
if [ "$#" -eq 0 ]; then
|
||||||
printfe "%s\n" "yellow" "No options passed, running full update..."
|
printfe "%s\n" "yellow" "No options passed, running full update..."
|
||||||
|
|
||||||
|
ensure_homemanager_installed
|
||||||
symlinks
|
symlinks
|
||||||
sys_packages
|
sys_packages
|
||||||
homemanager
|
homemanager
|
||||||
|
4
setup.sh
4
setup.sh
@ -17,6 +17,10 @@ if [ ! -x "$(command -v sed)" ]; then
|
|||||||
return
|
return
|
||||||
fi
|
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:$HOME/.local/bin' ~/.bashrc
|
||||||
sed -i -e '$a\'$'\n''export PATH=$PATH:~/dotfiles/bin' ~/.bashrc
|
sed -i -e '$a\'$'\n''export PATH=$PATH:~/dotfiles/bin' ~/.bashrc
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user