automate/020_windsurf-codeium.sh

85 lines
1.7 KiB
Bash

ki#!/bin/bash
DEST=${1:/etc/skel}
# Install required tools
sudo apt-get install wget gpg
RELEASE="stable"
TRANSPORT="https"
MIRROR="windsurf-${RELEASE}"
DOMAIN="codeiumdata.com"
KEY_PATH="wVxQEIWkwPUEAGf3"
URI_PATH="${KEY_PATH}/apt"
URI="${TRANSPORT}://${MIRROR}.${DOMAIN}/${URI_PATH}"
ARCH="amd64"
TYPES="deb"
KEYRING="windsurf-${RELEASE}.gpg"
KEYRINGS="/etc/apt/keyrings"
ACTIVE="/etc/apt/sources.list.d"
AVAILABLE="/etc/apt/sources.list-available"
SUITE='stable'
COMPONENT="main"
ENABLED="yes"
mkdir -p "${AVAILABLE}"
# Download and process GPG key
wget -qO- "${TRANSPORT}://${MIRROR}.${DOMAIN}/${KEY_PATH}/windsurf.gpg" | gpg --dearmor > ${KEYRING}
sudo install -D -o root -g root -m 644 ${KEYRING} ${KEYRINGS}/${KEYRING}
# Create sources file in DEB822 format
cat << EOF | sudo tee ${AVAILABLE}/windsurf.sources > /dev/null
Types: ${TYPES}
URIs: ${URI}
Suites: ${SUITE}
Components: ${COMPONENT}
Architectures: ${ARCH}
Signed-By: ${KEYRINGS}/${KEYRING}
Enabled: ${ENABLED}
EOF
ln -sf "${AVAILABLE}"/windsurf.sources "${ACTIVE}"/windsurf.sources
# Clean up temporary key file
rm -f ${KEYRING}
sudo apt install apt-transport-https
sudo apt update
sudo apt install windsurf
# neovim codeium plugin
# https://github.com/Exafunction/windsurf.vim
# key bindings
# disable bindings
# vim.g.codeium_disable_bindings = 1
# using folke/lazy.nvim.
cat << 'EOF' | tee ${DEST}/.config/nvim/lua/plugins/windsurf.lua
return {
{
"Exafunction/windsurf.nvim",
dependencies = {
"nvim-lua/plenary.nvim",
"hrsh7th/nvim-cmp",
},
config = function()
require("codeium").setup({
accept_keymapping = "<C-g>",
virtual_text = {
enabled = true,
},
debug = false,
})
end,
},
}
EOF