{"id":25802966,"url":"https://github.com/thomas-hiron/dotfiles","last_synced_at":"2026-04-11T09:03:41.444Z","repository":{"id":220838468,"uuid":"752723837","full_name":"thomas-hiron/dotfiles","owner":"thomas-hiron","description":"Configuration for neovim, i3, polybar","archived":false,"fork":false,"pushed_at":"2024-04-13T12:50:31.000Z","size":194,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-04-13T23:56:11.976Z","etag":null,"topics":["dotfiles","i3wm","neovim","polybar","vim"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/thomas-hiron.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2024-02-04T16:24:56.000Z","updated_at":"2024-04-15T09:57:09.021Z","dependencies_parsed_at":"2024-03-01T09:25:09.686Z","dependency_job_id":"17cafc75-8bb0-4686-b0a7-11b2395b6051","html_url":"https://github.com/thomas-hiron/dotfiles","commit_stats":null,"previous_names":["thomas-hiron/nvim-config"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thomas-hiron%2Fdotfiles","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thomas-hiron%2Fdotfiles/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thomas-hiron%2Fdotfiles/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thomas-hiron%2Fdotfiles/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/thomas-hiron","download_url":"https://codeload.github.com/thomas-hiron/dotfiles/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241039597,"owners_count":19898716,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["dotfiles","i3wm","neovim","polybar","vim"],"created_at":"2025-02-27T17:36:59.119Z","updated_at":"2026-04-11T09:03:41.437Z","avatar_url":"https://github.com/thomas-hiron.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# dotfiles\n\nThis repo contains softwares configuration that I can't afford to lose:\n- i3wm\n- nvim\n- polybar\n\n## i3 configuration\n\n[i3 window manager](https://i3wm.org/) configuration should go to `$XDG_CONFIG_HOME/i3`.\n\nThere is not much custom configuration:\n- keyboard layout\n- rofi and clipboard screen capture \n- logout/reboot/power off mode\n- polybar\n\n### Prerequisites\n- [dunst](https://github.com/dunst-project/dunst): notification manager\n- [feh](https://github.com/derf/feh): background utility\n- [greenclip](https://github.com/erebe/greenclip): clipboard manager\n- [maim](https://github.com/naelstrof/maim): screenshot utility\n- playerctl\n- [polybar](https://github.com/polybar/polybar): top bar, see below\n- [rofi](https://github.com/davatorium/rofi): dmenu replacement, with clipboard integration\n- [starship](https://starship.rs): shell prompt\n\n## neovim configuration\n\nThis configuration is optimized for a PHP environment.  \nJavascript, Yaml, Twig, Json, Behat, CSS are also needed.\n\n### Prerequisites\n- [ripgrep](https://github.com/BurntSushi/ripgrep): for telescope search\n- [nerdfonts](https://www.nerdfonts.com/): specificaly Hack Nerd Font or JetBrainsMono Nerd Font\n- Node (with NPM) for tsserver and others LSP\n- PHP and Composer for phpactor\n- [phpactor](https://github.com/phpactor/phpactor) for the nvim plugin\n- python3.10-venv for Nginx LSP\n\n### Installation\nSymlink `nvim` directory to `$XDG_CONFIG_HOME/nvim` and `.vimrc` to home directory.  \nThen simply run `:PlugInstall`.\n\n### Installed plugins\n- [argonaut](https://git.sr.ht/~foosoft/argonaut.nvim): wrap/unwrap arguments\n- [barbar](https://github.com/romgrk/barbar.nvim): buffer as tabs\n- [dap](https://github.com/mfussenegger/nvim-dap): dap client for xDebug\n- [dressing](https://github.com/stevearc/dressing.nvim): vim.ui interface\n- [edge](https://github.com/sainnhe/edge): color theme (goes with [xfce4-terminal theme](https://github.com/xelser/edge-xfce4-terminal/blob/main/edge-light.theme))\n- [flash](https://github.com/folke/flash.nvim): improve code navigation\n- [gitsigns](https://github.com/lewis6991/gitsigns.nvim): simple git integration\n- [indent-blankline](https://github.com/lukas-reineke/indent-blankline.nvim): shows indentation guides\n- [mardown-preview](https://github.com/iamcco/markdown-preview.nvim): markdown live preview in the browser\n- [mason](https://github.com/mason-org/mason.nvim.git): easy LSP integration with lspconfig (with mason-lspconfig)\n- [nvim-autopairs](https://github.com/windwp/nvim-autopairs)\n- [nvim-cmp](https://github.com/hrsh7th/nvim-cmp): entire autocomplete feature\n- [nvim-lualine](https://github.com/nvim-lualine/lualine.nvim): status line\n- [nvim-ts-autotag](https://github.com/windwp/nvim-ts-autotag): rename matching html tags \n- [snacks](https://github.com/folke/snacks.nvim): collection of small plugins\n- [trouble](https://github.com/folke/trouble.nvim): pretty diagnostics\n- [quickfix-reflector](https://github.com/stefandtw/quickfix-reflector.vim): edit quickfix list\n- [telescope](https://github.com/nvim-telescope/telescope.nvim)\n  - [telescope-fzf-native](https://github.com/nvim-telescope/telescope-fzf-native.nvim): better file search\n  - [telescope-live-grep-args](https://github.com/nvim-telescope/telescope-live-grep-args.nvim): usage of rg args\n  - [telescope-all-recent](https://github.com/prochri/telescope-all-recent.nvim): sort pickers by mostly used results\n- [tree](https://github.com/nvim-tree/nvim-tree.lua): with [web-devicons](https://github.com/nvim-tree/nvim-web-devicons)\n- [tree-sitter](https://github.com/nvim-treesitter/nvim-treesitter): with text objects plugin\n- [tree-sitter-context](https://github.com/nvim-treesitter/nvim-treesitter-context): shows code context\n- [ulti-snips](https://github.com/SirVer/ultisnips/): snippets integration\n- [vim-abolish](https://github.com/tpope/vim-abolish): better substitution and coercion\n- [vim-commentary](https://github.com/tpope/vim-commentary): comment stuff out\n- [vim-fugitive](https://github.com/tpope/vim-fugitive): mostly for git blame\n- [vim-illuminate](https://github.com/RRethy/vim-illuminate): match words under cursor\n- [vim-plug](https://github.com/junegunn/vim-plug)\n- [vim-surround](https://github.com/tpope/vim-surround): change surrounding\n- [yaml](https://github.com/cuducos/yaml.nvim): yaml integration (yank key/value, find with Telescope)\n- [yanky](https://github.com/gbprod/yanky.nvim): yank history with Telescope integration\n\n### Installing a new plugin\n1. Add the new plugin (with Plug) in the `.vimrc` inside the `plug` block.\n2. Run `:PlugInstall`\n3. If configuration is necessary, create a lua file in `lua/config`\n4. Require it in `lua/config/init.lua`\n\n### Installed tree-sitter parsers\n- html\n- javascript\n- make\n- php\n- twig\n- yaml\n\nInstall parsers with this command:\n```vim\n:TSInstall javascript\n:TSInstall make\n```\n\n### LSP\nInstalling a LSP is made easy with mason-lspconfig, just run the following command to install a LSP:  \n```vim\n:MasonInstall dockerfile-language-server\n:MasonInstall docker-compose-language-service\n:MasonInstall emmet-language-server\n:MasonInstall lua-language-server\n:MasonInstall nginx-language-server\n:MasonInstall phpactor\n:MasonInstall tsserver\n```\n\nThe corresponding LSP are attached in `lua/config/nvim-cmp.lua`.\n\n### Troubleshooting\n\n#### LSP\n`:LspInfo` gives great infos about errors of LSP not correctly setup\n\n#### Telescope FZF\nIf fzf fails to install, go to the plugin dir `$XDG_CONFIG_HOME/nvim/plugged/telescope-fzf-native.nvim` and run make: \n```bash\nmake\n```\n\n### Tips\n\n#### vim-fugitive tips\n##### :Git blame\n- `-` reblames selected commit\n- `\u003cCR\u003e` opens commit, `\u003cCR\u003e` can be used again to navigate in patch and file\n\n##### Commit object\n- `.GBrowse` opens it in configured git browser\n\n##### File\n- `:0Gclog` opens log for current file in quickfix list\n\n## polybar configuration\n\n[polybar](https://github.com/polybar/polybar) configuration should go to `$XDG_CONFIG_HOME/polybar`.  \nThis configuration is required by i3.\n\nThere is a `launch.sh` script that starts the bar on each monitor.\n\nThe network dropdown has been taken from https://github.com/P3rf/rofi-network-manager.\n\n## starship configuration\n\n[starship](https://starship.rs) configuration should go to `$XDG_CONFIG_HOME/starship.toml`.  \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthomas-hiron%2Fdotfiles","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fthomas-hiron%2Fdotfiles","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthomas-hiron%2Fdotfiles/lists"}