Skip to content

thomas-hiron/dotfiles

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

dotfiles

This repo contains softwares configuration that I can't afford to lose:

  • i3wm
  • nvim
  • polybar

i3 configuration

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

Prerequisites

  • dunst: notification manager
  • feh: background utility
  • greenclip: clipboard manager
  • maim: screenshot utility
  • polybar: top bar, see below
  • rofi: dmenu replacement, with clipboard integration

neovim configuration

This configuration is optimized for a PHP environment.
Javascript, Yaml, Twig, Json, Behat, CSS are also needed.

Prerequisites

  • ripgrep: for telescope search
  • nerdfonts: specificaly Hack 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

Installation

Symlink nvim directory to $XDG_CONFIG_HOME/nvim and .vimrc to home directory.
Then simply run :PlugInstall.

Installed plugins

Installing a new plugin

  1. Add the new plugin (with Plug) in the .vimrc inside the plug block.
  2. Run :PlugInstall
  3. If configuration is necessary, create a lua file in lua/config
  4. Require it in lua/config/init.lua

Installed tree-sitter parsers

  • html
  • javascript
  • make
  • php
  • twig
  • yaml

Install parsers with this command:

:TSInstall javascript
:TSInstall make

LSP

Installing 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 tsserver

The corresponding LSP are attached in lua/config/nvim-cmp.lua.

PHPActor configuration

Symlink phpactor.json to $XDG_CONFIG_HOME/phpactor, and make sure the config file is loaded:

phpactor status

PHPActor status

Troubleshooting

LSP

:LspInfo gives great infos about errors of LSP not correctly setup

Telescope FZF

If fzf fails to install, go to the plugin dir $XDG_CONFIG_HOME/nvim/plugged/telescope-fzf-native.nvim and run make:

make

polybar configuration

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.

Prerequisites

  • playerctl