overhaul of some dotfiles
This commit is contained in:
@@ -7,22 +7,31 @@ echo "--- Starting Development Tools Setup ---"
|
||||
|
||||
# Setup NVIM
|
||||
echo "Setting up Neovim..."
|
||||
if command -v nvim &>/dev/null && [[ "$(nvim --version | head -n 1)" == "NVIM"* ]]; then
|
||||
echo "Neovim appears to be installed. Checking version/source or skipping."
|
||||
# Add logic here if you want to ensure it's your /opt/nvim version
|
||||
_nvim_asset_name() {
|
||||
case "$(uname -m)" in
|
||||
x86_64) echo "nvim-linux-x86_64" ;;
|
||||
aarch64) echo "nvim-linux-arm64" ;;
|
||||
*) echo "Unsupported arch for Neovim: $(uname -m)" >&2; exit 1 ;;
|
||||
esac
|
||||
}
|
||||
|
||||
NVIM_LATEST="$(curl -fsSL https://api.github.com/repos/neovim/neovim/releases/latest | grep '"tag_name"' | cut -d'"' -f4)"
|
||||
NVIM_INSTALLED="$(nvim --version 2>/dev/null | head -n1 | awk '{print $2}')"
|
||||
|
||||
if [ "$NVIM_INSTALLED" = "$NVIM_LATEST" ]; then
|
||||
echo "Neovim ${NVIM_LATEST} already up-to-date."
|
||||
else
|
||||
echo "Downloading and installing Neovim to /opt/nvim..."
|
||||
NVIM_ASSET="$(_nvim_asset_name)"
|
||||
echo "Installing Neovim ${NVIM_LATEST} (${NVIM_ASSET})..."
|
||||
TEMP_NVIM_DIR=$(mktemp -d)
|
||||
curl -Lo "${TEMP_NVIM_DIR}/nvim-linux64.tar.gz" https://github.com/neovim/neovim/releases/latest/download/nvim-linux64.tar.gz
|
||||
curl -fsSLo "${TEMP_NVIM_DIR}/${NVIM_ASSET}.tar.gz" \
|
||||
"https://github.com/neovim/neovim/releases/latest/download/${NVIM_ASSET}.tar.gz"
|
||||
sudo rm -rf /opt/nvim
|
||||
sudo tar -C /opt -xzf "${TEMP_NVIM_DIR}/nvim-linux64.tar.gz"
|
||||
rm -rf "${TEMP_NVIM_DIR}" # Clean up
|
||||
echo "Neovim installed to /opt/nvim. Add /opt/nvim-linux64/bin to your PATH."
|
||||
# Consider adding to PATH via a profile script if not handled by zshrc/bashrc symlinks
|
||||
if [ ! -f /usr/local/bin/nvim ] && [ -d /opt/nvim-linux64/bin ]; then
|
||||
sudo ln -sf /opt/nvim-linux64/bin/nvim /usr/local/bin/nvim
|
||||
echo "Symlinked nvim to /usr/local/bin/nvim"
|
||||
fi
|
||||
sudo tar -C /opt -xzf "${TEMP_NVIM_DIR}/${NVIM_ASSET}.tar.gz"
|
||||
sudo mv "/opt/${NVIM_ASSET}" /opt/nvim 2>/dev/null || true
|
||||
rm -rf "${TEMP_NVIM_DIR}"
|
||||
sudo ln -sf /opt/nvim/bin/nvim /usr/local/bin/nvim
|
||||
echo "Neovim ${NVIM_LATEST} installed to /opt/nvim, symlinked to /usr/local/bin/nvim"
|
||||
fi
|
||||
|
||||
# pynvim
|
||||
@@ -116,17 +125,16 @@ if ! command -v oh-my-posh &>/dev/null; then
|
||||
echo "➤ Installing Oh-My-Posh latest release..."
|
||||
# GitHub /releases/latest/download will 302 redirect to actual asset
|
||||
BIN_URL="https://github.com/JanDeDobbeleer/oh-my-posh/releases/latest/download/posh-${OS}-${ARCH}"
|
||||
THEME_URL="https://github.com/JanDeDobbeleer/oh-my-posh/releases/latest/download/jandedobbeleer.omp.json"
|
||||
|
||||
mkdir -p "${HOME}/.local/bin"
|
||||
TMPBIN="$(mktemp)"
|
||||
curl -fsSL -L "${BIN_URL}" -o "${TMPBIN}"
|
||||
sudo install -m755 "${TMPBIN}" /usr/local/bin/oh-my-posh
|
||||
install -m755 "${TMPBIN}" "${HOME}/.local/bin/oh-my-posh"
|
||||
rm -f "${TMPBIN}"
|
||||
echo "Installed oh-my-posh to /usr/local/bin/oh-my-posh"
|
||||
echo "Installed oh-my-posh to ~/.local/bin/oh-my-posh"
|
||||
|
||||
mkdir -p "${HOME}/.poshthemes"
|
||||
curl -fsSL -L "${THEME_URL}" -o "${HOME}/.poshthemes/jandedobbeleer.omp.json"
|
||||
echo "Downloaded default theme to ~/.poshthemes/"
|
||||
echo "Theme is managed via dotfiles repo at terminal/posh-theme.omp.json"
|
||||
echo "Run 04-config-symlinks.sh to link it to ~/.config/oh-my-posh/theme.omp.json"
|
||||
|
||||
else
|
||||
echo "✔ Oh-My-Posh already installed: $(oh-my-posh --version | head -n1)"
|
||||
@@ -144,18 +152,5 @@ else
|
||||
echo "For the current session, you can run: source \"\$HOME/.cargo/env\""
|
||||
fi
|
||||
|
||||
# Setup Starship
|
||||
echo "Installing Starship prompt..."
|
||||
if command -v starship &>/dev/null; then
|
||||
echo "Starship already installed."
|
||||
else
|
||||
# The -y flag attempts a non-interactive install
|
||||
if curl -sS https://starship.rs/install.sh | sh -s -- -y; then
|
||||
echo "Starship installed. Add 'eval \"\$(starship init zsh)\"' (or bash/fish) to your shell config."
|
||||
else
|
||||
echo "ERROR: Starship installation failed."
|
||||
fi
|
||||
fi
|
||||
|
||||
echo "--- Development Tools Setup Finished ---"
|
||||
|
||||
|
||||
Reference in New Issue
Block a user