#!/bin/bash MISSING="" if ! [ -x "$(command -v git)" ]; then echo "git manque et doit être installé" MISSING="${MISSING} git" fi if ! [ -x "$(command -v zsh)" ]; then echo "zsh manque et doit être installé" MISSING="${MISSING} zsh" fi if ! [ -x "$(command -v nvim)" ]; then echo "neovim manque et doit être installé" MISSING="${MISSING} neovim python3-venv python-neovim python3-neovim" fi if ! [ -x "$(command -v exa)" ]; then echo "exa manque et doit être installé" MISSING="${MISSING} exa" fi if ! [ -x "$(command -v fdfind)" ]; then echo "fdfind manque et doit être installé" MISSING="${MISSING} fd-find" fi if ! [ -x "$(command -v rg)" ]; then echo "ripgrep manque et doit être installé" MISSING="${MISSING} ripgrep" fi if [ -n "$MISSING" ]; then echo "Installation de $MISSING" sudo apt update sudo apt -y install $MISSING fi if ! [ -x "$HOME/.bin/starship" ]; then echo "Installation de starship" mkdir -p "$HOME/.bin" curl -sfL https://starship.rs/install.sh -o /tmp/install.sh chmod +x /tmp/install.sh /tmp/install.sh -y -b "$HOME/.bin" rm /tmp/install.sh fi if [ ! "$SHELL" = "/bin/zsh" ]; then sudo usermod "$USER" -s /bin/zsh && echo "Nouveau shell: zsh" fi if [ ! -x "$HOME/.bin/chezmoi" ]; then echo "Installation de chezmoi" mkdir -p "$HOME/.bin" curl -sfL https://git.io/chezmoi -o /tmp/chezmoi.sh chmod +x /tmp/chezmoi.sh /tmp/chezmoi.sh -b "$HOME/.bin" -d rm /tmp/chezmoi.sh fi if [ ! -d "$HOME/.local/share/chezmoi/.git" ]; then mkdir -p "$HOME/.vim/backup" echo "Application des dotfiles …" cd "$HOME" || exit "$HOME/.bin/chezmoi" init --apply --verbose https://git.sysnove.net/jrabier/dotfiles echo "Application des dotfiles terminée" else echo "Mise à jour de chezmoi" "$HOME/.bin/chezmoi" upgrade echo "Mise à jour des dotfiles" "$HOME/.bin/chezmoi" update -v echo "Mise à jour des plugins ZSH" "$HOME/.bin/sheldon" lock --update mkdir -p "$HOME/.vim/backup" fi