Personalizando Ubuntu Server 24LTS desde cero
Tras instalar Ubuntu server hay algunas acciones que hago para dejarlo a mi gusto. Estas son las acciones dewcritas de manera somera:
Desinstalar snap
Esto es de las primeras cosas. Bastante tengo con dpkg y apt. Alguna vez necesito AppImage, pero prefiero no depender de gestores de paquetes como flatpack o snap.
apt purge snapd
apt autoremove
Actualizar sistema
Siempre hay algún paquete que actualizar recién instalado un S. O. (y si no, al menos se comprueba)
apt update && apt upgrade
apt autoremove
apt autoclean
Instalar shell ZSH
Bash está muy bien, pero… ZSH está mejor 🙂
apt install zsh
chsh -s $(which zsh)
La primera vez que se usa empezará a preguntar sobre la configuración… No describo aquí las respuestas pues van a gusto del consumidor y siempre se pueden modificar más a delante.
Instalar el framework OH My ZSH! para hacer zsh aún más cómodo en su manejo y configuración. Esto lo tienen que hacer los usuarios por separado y cada uno tendrá su propia personalización.
sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
Editar el fichero .zshrc para añadir el plugin z (navegar con el comando ‘z’ a cualquier directorio tras un pequeño aprendizaje del propio zsh) y cambiar alguna opción más…
ZSH_THEME="clean"
[...]
source $HOME/.bash_aliases
plugins=(z zsh-autosuggestions)
<EOF>
Se descarga el plugin…
git clone https://github.com/zsh-users/zsh-autosuggestions $ZSH_CUSTOM/plugins/zsh-autosuggestions
Me gusta que salga el nombre de la máquina en el prompt porque si no me lío cuando tengo varios terminales contra distintos servidores. Editando el prompt en el tema correspondiente… (en este caso .oh-my-zsh/themes/clean.zsh-theme):
[...]
PROMPT='%{$fg[$NCOLOR]%}%B%m@%n%b%{$reset_color%}:%{$fg[blue]%}%B%c/%b%{$reset_color%}\ $(git_prompt_info)%(!.#.$) '
[...]
Personalizando VIM
Lo primero es asegurarse de que la versión improved de vi está instalada.
apt install vim
Se instala vim-plug para instalar cómodamente los plugin que se necesiten:
curl -fLo ~/.vim/autoload/plug.vim --create-dirs https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
Al final de /etc/vim/vimrc se añade la siguiente configuración y plugins (más info en https://victorhckinthefreeworld.com/2020/02/19/como-instalar-plugins-de-vim/):
" INDENTATION
filetype plugin indent on
set autoindent
set expandtab
set tabstop=4
set shiftwidth=4
set softtabstop=4
set smarttab
" INTERFACE
set relativenumber
set ruler
set hlsearch
let g:airline_powerline_fonts = 1
let g:airline_section_z = "%p%% : \ue0a1:%l/%L: Col:%c"
set t_Co=256
" MISC
set history=5000
" UNDO with undotree plugin configurtion
if has("persistent_undo")
let target_path = expand('~/.vim/undodir')
" create the directory and any parent directories
" if the location does not exist.
if !isdirectory(target_path)
call mkdir(target_path, "p", 0700)
endif
let &undodir=target_path
set undofile
endif
nnoremap <F5> :UndotreeToggle<CR>
let g:undotree_WindowLayout = 2
let g:undotree_SplitWidth = 40
let g:undotree_SetFocusWhenToggle = 1
call plug#begin()
Plug 'vim-airline/vim-airline'
Plug 'vim-airline/vim-airline-themes'
Plug 'mbbill/undotree'
call plug#end()
autocmd FileType yaml setlocal ts=2 sts=2 sw=2 expandtab
Una vez salvado, volver a editar el mismo fichero y ejecutar dentreo del vi:
:PlugInstall