v0.12 - added nvim

This commit is contained in:
2023-10-14 15:40:34 +00:00
parent 1497c7967c
commit f34e7c8fac

35
kfg
View File

@@ -1,7 +1,7 @@
#!/bin/bash #!/bin/bash
NAME="kfg" NAME="kfg"
VERSION="0.11" VERSION="0.12"
HOME_PATH="$HOME" HOME_PATH="$HOME"
TMP_PATH="$HOME_PATH/.tmp/kfg_install" TMP_PATH="$HOME_PATH/.tmp/kfg_install"
@@ -29,6 +29,7 @@ TOOLS[zoxide]="A smarter cd command. - https://github.com/ajeetdsouza/zoxide"
TOOLS[fzf]="A command-line fuzzy finder - https://github.com/junegunn/fzf" TOOLS[fzf]="A command-line fuzzy finder - https://github.com/junegunn/fzf"
TOOLS[fzf-tab]="Replace zsh's default completion selection menu with fzf - https://github.com/Aloxaf/fzf-tab" TOOLS[fzf-tab]="Replace zsh's default completion selection menu with fzf - https://github.com/Aloxaf/fzf-tab"
TOOLS[zoom]="Conference platform Zoom - https://eu01web.zoom.us/" TOOLS[zoom]="Conference platform Zoom - https://eu01web.zoom.us/"
TOOLS[nvim]="Neovim a modal terminal editor - https://github.com/neovim/neovim/"
function show_help_name { function show_help_name {
echo "$NAME v$VERSION" echo "$NAME v$VERSION"
@@ -424,7 +425,8 @@ function init {
} }
function cleanup { function cleanup {
rm -R "$TMP_PATH" #rm -R "$TMP_PATH"
nop
} }
function apt_install { function apt_install {
@@ -521,6 +523,7 @@ function p_all {
p_omp p_omp
p_zoxide p_zoxide
p_fzf p_fzf
p_nvim
} }
function p_zsh { function p_zsh {
@@ -550,6 +553,7 @@ function p_zsh {
install_rc_download sh zsh.rc 'https://git.cbeck.tech/kamu/dotfiles/raw/branch/main/.config/sh/zsh.rc' install_rc_download sh zsh.rc 'https://git.cbeck.tech/kamu/dotfiles/raw/branch/main/.config/sh/zsh.rc'
} }
function p_tmux { function p_tmux {
# ----------------- # -----------------
# tmux # tmux
@@ -649,6 +653,32 @@ function p_zoom {
install_deb "zoom_amd64.deb" "${_path_zoom}" install_deb "zoom_amd64.deb" "${_path_zoom}"
} }
function p_nvim {
# Build nvim from source
log_info "Installing dependencies for neovim"
# install requirements
apt_install ninja-build
apt_install gettext
apt_install cmake
apt_install unzip
apt_install curl
apt_install ripgrep
log_info "Cloning Repository"
# get repository
res=$(git_clone "https://github.com/neovim/neovim" "${TMP_PATH}/neovim" 2>&1)
res=$(git -C "${TMP_PATH}/neovim" checkout stable 2>&1)
# build neovim
res=$(make -C "${TMP_PATH}/neovim" CMAKE_BUILD_TYPE=Release 2>&1)
# Install neovim
log_info "Installing neovim..."
res=$(sudo make -C "${TMP_PATH}/neovim" install 2>&1)
log_add "Installed neovim [$(${TMP_PATH}/neovim/build/bin/nvim --version | head -n 1 | grep -oE "v(.*)$")]"
#cd "${TMP_PATH}/neovim/build" && cpack -G DEB && sudo dpkg -i nvim-linux64.deb
}
function install { function install {
if [ -z "$1" ]; then if [ -z "$1" ]; then
show_help_install show_help_install
@@ -682,6 +712,7 @@ function install {
zoxide) p_zoxide; shift ;; zoxide) p_zoxide; shift ;;
fzf) p_fzf; shift ;; fzf) p_fzf; shift ;;
zoom) p_zoom; shift ;; zoom) p_zoom; shift ;;
nvim) p_nvim; shift ;;
# If invalid options were passed, then getopt should have reported an error, # If invalid options were passed, then getopt should have reported an error,
# which we checked as VALID_ARGUMENTS when getopt was called... # which we checked as VALID_ARGUMENTS when getopt was called...
*) log_error "Unrecognised program: $1"; shift ;; *) log_error "Unrecognised program: $1"; shift ;;