#howto - Installare la powerline

Scritto da il
Redatto da
bash
zsh
fish

Molto famosa e ormai largamente usata è la powerline nei nostri terminali, questo strano tema che, attraverso caratteri UNICODE, rende colorato e informativo ogni riga del nostro output su terminale.

Questa funzione si può facilmente ottenere attraverso diversi procedimenti e comunque facilmente.

Prerequisiti

Bisogna avere nel proprio sistema operativo il supporto a tutti i font unicode con carattere mono, consiglio l’installazione di un nerdfont. Inoltre è necessario avere python-pip, il package manager di python.

Potrebbe essere anche interessante una lettura sul nostro articolo dei file di avvio delle shell.

nerdfont fura code

Ad esempio vediamo come installare i fura-code

mkdir furacode
cd !^

wget https://github.com/ryanoasis/nerd-fonts/releases/download/v2.1.0/FiraCode.zip 

unzip FiraCode.zip 

mv Fura\ Code\ Regular\ Nerd\ Font\ Complete.ttf /usr/share/fonts/TTF 

fc-cache -vf

Ricordiamoci di selezionare il font scaricato nelle preferenze del nostro emulatore di terminale preferito

python-pip

Un’installazione di python a mio dire, non è mai completa se non avete anche installato pip, ovvero Python Installer Package

Generalmente disponibile direttamente nei propri repository

Ubuntu

apt install python3-pip

Fedora

yum -y install python-pip

Archlinux

pacman -S python-pip

tutto il resto

pip è installabile anche semplicemente digitando:

curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py

python get-pip.py

Ricordate di aggiornarlo ogni tanto così

pip install --upgrade pip

NOTA:

pip può installare i pacchetti sia come utente che come amministratore, se avete necessità che i pacchetti installati da pip siano utilizzati da tutti gli utenti dovrete utilizzare sudo o qualunque altro sistema di acquisizione dei privilegi

installare powerline-shell

Il metodo più universale è sicuramente quello di powerline-shell, si può utilizzare su più sistemi operativi nonché molti interpreti di terminale

Installiamolo tramite python-pip.

pip install powerline-shell

bash

Modifichiamo il file $HOME/.bashrc aggiungendo queste righe:

function _update_ps1() {
    PS1=$(powerline-shell $?)
}

if [[ $TERM != linux && ! $PROMPT_COMMAND =~ _update_ps1 ]]; then
    PROMPT_COMMAND="_update_ps1; $PROMPT_COMMAND"
fi

zsh

Non consiglio di installare powerline-shell su zsh, esistendo alternative di gran lunga migliori come powerlevel.

In ogni caso per installarlo aggiungete al file $HOME/.zshrc:

function powerline_precmd() {
    PS1="$(powerline-shell --shell zsh $?)"
}

function install_powerline_precmd() {
  for s in "${precmd_functions[@]}"; do
    if [ "$s" = "powerline_precmd" ]; then
      return
    fi
  done
  precmd_functions+=(powerline_precmd)
}

if [ "$TERM" != "linux" ]; then
    install_powerline_precmd
fi

fish

Per fish ricordo che il file di configurazione è il fish config ovvero $HOME/.config/fish/config.fish. Aggiungete le righe:

function fish_prompt
    powerline-shell --shell bare $status
end

Configurazione di powerline-shell

La configurazione di powerline-shell avviene attraverso il file $HOME/.config/powerline-shell/config.json, attraverso cui potete specificare cosa ogni singolo segmentino deve mostrare. All’inizio il percorso non esisterà, quindi creiamolo:

mkdir -p $HOME/.config/powerline-shell

touch $_/config.json

Fondamentalmente è un file json in cui nella sezione segments vanno inseriti i vari moduli che volete mostrare e il tema. Trovate così i vostri moduli:

ls /usr/lib/python3.?/site-packages/powerline_shell/segments/

e così i temi :

ls /usr/lib/python3.?/site-packages/powerline_shell/themes/

Qui un esempio di config

powerlevel10k

L’alternativa migliore è sicuramente powerlevel10k, con molte funzioni nonché un menu di configurazione dedicato. Purtroppo non è disponibile su tutti gli interpreti, ma solo per zsh e (se pur con un altro nome) fish

installazione su zsh

Per installare su zsh abbiamo bisogno innanzitutto di oh-my-zsh. In realtà non è propriamente obbligatorio, esistono altri metodi per utilizzarlo, ma su questo articolo vedremo come installarlo con il gestore dei temi di zsh. Recuperate questo articolo se non avete oh-my-zsh.

Scaricate il tema così:

git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k

Quindi nel file .zshrc alla riga ZSH_THEME scrivete:

ZSH_THEME="powerlevel10k/powerlevel10k"

Potete anche utilizzare il vecchio tema powerlevel9k così:

ZSH_THEME="powerlevel10k/powerlevel9k"

Ma non avrete la funzione di personalizzazione. Riavviate zsh per completare l’installazione.

installazione su Fish

Su fish potrete installare invece TIDE, che ha le stesse funzioni.

Tramite fisher

Fisher è un gestore di plugin di fish.

Installatelo, se non lo avete:

curl -sL https://git.io/fisher | source && fisher install jorgebucaran/fisher

Quindi:

fisher install IlanCosman/tide

manuale

Eseguite:

set -l _tide_tmp_dir (command mktemp -d)
curl https://codeload.github.com/ilancosman/tide/tar.gz/HEAD | tar -xzC $_tide_tmp_dir
command cp -R $_tide_tmp_dir/tide-HEAD/{completions,conf.d,functions} $__fish_config_dir
exec fish --init-command "set -g fish_greeting; emit _tide_init_install"

configurazione

Per configurarlo, utilizzate il comando

tide configure

Anche se dovrebbe comunque partire in automatico dopo l’installazione.

history_edu Revisioni