This repo contains softwares configuration that I can't afford to lose:
- i3wm
- nvim
- polybar
i3 window manager configuration should go to $XDG_CONFIG_HOME/i3.
There is not much custom configuration:
- keyboard layout
- rofi and clipboard screen capture
- logout/reboot/power off mode
- polybar
- dunst: notification manager
- feh: background utility
- greenclip: clipboard manager
- maim: screenshot utility
- playerctl
- polybar: top bar, see below
- rofi: dmenu replacement, with clipboard integration
- starship: shell prompt
This configuration is optimized for a PHP environment.
Javascript, Yaml, Twig, Json, Behat, CSS are also needed.
- ripgrep: for telescope search
- nerdfonts: specificaly Hack Nerd Font or JetBrainsMono Nerd Font
- Node (with NPM) for tsserver and others LSP
- PHP and Composer for phpactor
- phpactor for the nvim plugin
- python3.10-venv for Nginx LSP
Symlink nvim directory to $XDG_CONFIG_HOME/nvim and .vimrc to home directory.
Then simply run :PlugInstall.
- argonaut: wrap/unwrap arguments
- barbar: buffer as tabs
- dap: dap client for xDebug
- dressing: vim.ui interface
- edge: color theme (goes with xfce4-terminal theme)
- flash: improve code navigation
- gitsigns: simple git integration
- indent-blankline: shows indentation guides
- mardown-preview: markdown live preview in the browser
- mason: easy LSP integration with lspconfig (with mason-lspconfig)
- nvim-autopairs
- nvim-cmp: entire autocomplete feature
- nvim-lualine: status line
- nvim-ts-autotag: rename matching html tags
- snacks: collection of small plugins
- trouble: pretty diagnostics
- quickfix-reflector: edit quickfix list
- telescope
- telescope-fzf-native: better file search
- telescope-live-grep-args: usage of rg args
- telescope-all-recent: sort pickers by mostly used results
- tree: with web-devicons
- tree-sitter: with text objects plugin
- tree-sitter-context: shows code context
- ulti-snips: snippets integration
- vim-abolish: better substitution and coercion
- vim-commentary: comment stuff out
- vim-fugitive: mostly for git blame
- vim-illuminate: match words under cursor
- vim-plug
- vim-surround: change surrounding
- yaml: yaml integration (yank key/value, find with Telescope)
- yanky: yank history with Telescope integration
- Add the new plugin (with Plug) in the
.vimrcinside theplugblock. - Run
:PlugInstall - If configuration is necessary, create a lua file in
lua/config - Require it in
lua/config/init.lua
- html
- javascript
- make
- php
- twig
- yaml
Install parsers with this command:
:TSInstall javascript
:TSInstall makeInstalling a LSP is made easy with mason-lspconfig, just run the following command to install a LSP:
:MasonInstall dockerfile-language-server
:MasonInstall docker-compose-language-service
:MasonInstall emmet-language-server
:MasonInstall lua-language-server
:MasonInstall nginx-language-server
:MasonInstall phpactor
:MasonInstall tsserverThe corresponding LSP are attached in lua/config/nvim-cmp.lua.
:LspInfo gives great infos about errors of LSP not correctly setup
If fzf fails to install, go to the plugin dir $XDG_CONFIG_HOME/nvim/plugged/telescope-fzf-native.nvim and run make:
make-reblames selected commit<CR>opens commit,<CR>can be used again to navigate in patch and file
.GBrowseopens it in configured git browser
:0Gclogopens log for current file in quickfix list
polybar configuration should go to $XDG_CONFIG_HOME/polybar.
This configuration is required by i3.
There is a launch.sh script that starts the bar on each monitor.
The network dropdown has been taken from https://github.com/P3rf/rofi-network-manager.
starship configuration should go to $XDG_CONFIG_HOME/starship.toml.