⚙️ Outils DevOps + Pop!_OS — Shell, CLI, Neovim, Plugins#
Ce fichier est un récap complet de la config Neovim optimisée DevOps utilisée sur Pop!_OS. Idéal pour référence ou mise en ligne Hugo.
🔧 Lazy.nvim — À quoi ça sert ?#
Lazy est le cœur de mon écosystème Neovim.
Il permet de déclarer, installer, mettre à jour et charger dynamiquement tous mes plugins. Il est :
⚡ ultra rapide grâce au chargement différé (lazy loading)
🔍 modulaire : chaque plugin peut être configuré proprement
🧠 intelligent : il gère les dépendances et les hooks (
config
,init
,cmd
,event
, etc.)
-- Exemple de déclaration dans init.lua :
{
"nvim-telescope/telescope.nvim",
dependencies = { "nvim-lua/plenary.nvim" },
cmd = "Telescope", -- se charge uniquement quand la commande est appelée
}

🧰 Mason.nvim — À quoi ça sert ?#
Mason agit comme un centre d’installation centralisé pour les outils LSP dans Neovim.
Il facilite :
📦 L’installation automatique des language servers (ex :
pyright
,bashls
)🧩 L’**intégration fluide avec **`` (via
mason-lspconfig
)📋 L’affichage clair des outils installés/disponibles (menu visuel avec
:Mason
)
:Mason # Ouvre l’interface graphique des outils
:MasonInstall pyright bashls yaml-language-server

🔌 Plugins chargés via Lazy.nvim#
Plugin | Délai | Description / Rôle |
---|---|---|
ansible-vim | 0.29 ms | Ajoute syntaxe, indentation et snippets pour les fichiers Ansible (*.yml ) |
cmp-nvim-lsp | 0.03 ms | Connecte le LSP aux suggestions auto (nvim-cmp ) |
Dockerfile.vim | 0.18 ms | Coloration et indent pour les Dockerfiles |
lazy.nvim | 2.01 ms | Gestionnaire de plugins moderne, rapide et asynchrone |
lualine.nvim | 0.24 ms | Barre de statut personnalisable en Lua |
LuaSnip | 4.04 ms | Moteur de snippets avancé |
mason-lspconfig.nvim | 0.05 ms | Relie mason.nvim aux LSP disponibles dans lspconfig |
mason.nvim | 0.3 ms | Installe et gère automatiquement les LSP, DAP, linters, formatters |
neovim | 3.44 ms | (core) Configuration de base de Neovim |
nvim-cmp | 0.92 ms | Auto-complétion intelligente (via LSP, snippets, buffers…) |
nvim-lint | 0.23 ms | Linting (analyse statique de code) |
nvim-lspconfig | 7.73 ms | Intègre les serveurs LSP dans Neovim |
nvim-treesitter | 7.69 ms | Highlighting syntaxique et structurel ultra-précis |
syntastic | 5.25 ms | Linting asynchrone pour divers langages |
telescope.nvim | 0.27 ms | Fuzzy finder rapide pour fichiers, buffers, etc. |
vim-commentary | 0.41 ms | gcc /gc pour commenter/décommenter facilement |
vim-helm | 0.34 ms | Support des templates Helm pour Kubernetes |
vim-surround | 0.53 ms | Ajout/retrait rapide de " ' () {} autour du texte |
vim-terraform | 0.3 ms | Coloration, lint, format pour Terraform |
🔍 Serveurs LSP installés via Mason.nvim#
Serveur | Nom interne | Description / Utilité |
Ansible | ansiblels | Fournit autocomplétion, linting et navigation dans les rôles/playbooks Ansible |
Bash | bashls | Suggestions et diagnostics pour les scripts Bash |
Dockerfile | dockerls | Analyse syntaxique et suggestions pour Dockerfile |
Python | pyright | Serveur rapide pour Python : vérifie les types, détecte les erreurs, propose des fix |
Terraform | terraformls | Autocomplétion, formatage et lint pour les fichiers .tf |
YAML | yamlls | Aide à l’édition de fichiers YAML avec schémas, validation et completions |
Voici un exemple de tous ces plugins en action 👇🏻

✨ Commandes utiles et explications#
🐚 Zsh & Prompt#
echo $SHELL # Affiche le shell utilisé (zsh attendu)
chsh -s $(which zsh) # Change le shell par défaut pour zsh
p10k configure # Lance l’assistant Powerlevel10k
Lancer
p10k configure
pour configurer le prompt.📦 Outils CLI améliorés#
batcat fichier.txt # Remplaçant de cat avec syntaxe colorée
batcat -n fichier.txt # Affiche le contenu avec numérotation des lignes
exa -la # Liste les fichiers avec détails + fichiers cachés
exa -T # Affiche l’arborescence sous forme d’arbre
flameshot gui # Ouvre l’interface graphique de capture
flameshot full -p ~/Images # Capture écran entière → enregistre dans ~/Images
jq . fichier.json # Affiche le JSON de manière lisible (indenté)
curl -I https://site.com # Affiche les en-têtes HTTP d’un site
curl -LO https://site.com/fichier.tar.gz # Télécharge un fichier en gardant son nom
rg "erreur" ./logs # Recherche du texte 'erreur' dans tous les fichiers
rg -i "erreur" ./logs # Idem, insensible à la casse
fd nom # Recherche fichiers contenant "nom"
fd . -e txt # Recherche tous les fichiers .txt
fzf # Lance recherche floue (ex : via `cat file | fzf`)
CTRL+R # Recherche floue dans l’historique zsh
Ajoutez un raccourci clavier personnalisé :
flameshot gui
🧠 Git & DevOps#
git status # Affiche les changements en cours
git log --oneline --graph # Historique Git visuel avec branches
git switch main # Change de branche (plus moderne que checkout)
git restore fichier.txt # Restaure fichier à son dernier état
lazygit # UI terminal Git rapide
lazydocker # UI terminal Docker
nvim fichier.txt # Ouvre fichier dans Neovim
:Mason # Ouvre l'interface d'installation Mason
:MasonInstall pyright bashls # Installe les serveurs LSP nécessaires
Idéal pour gérer les issues/PR depuis le terminal.

🧪 tmux & direnv#
tmux # Lance une session par défaut
tmux new -s dev # Crée une session tmux nommée dev
tmux ls # Liste les sessions en cours
tmux a -t dev # Reconnecte à la session 'dev'
echo 'export VAR=value' > .envrc # Ajoute une var d'env automatique dans un dossier
direnv allow # Autorise le chargement du .envrc à l’entrée du dossier