Skip to content

Commit

Permalink
chore(docs): Align documentation with the code. Prepare for Astronvim…
Browse files Browse the repository at this point in the history
… docs
  • Loading branch information
Ziwi01 committed Aug 27, 2024
1 parent 3e25db4 commit fdf84a8
Show file tree
Hide file tree
Showing 8 changed files with 95 additions and 97 deletions.
3 changes: 3 additions & 0 deletions docs-web/docs/main/customization/30-config-files.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,3 +5,6 @@ As described in [`config role`](../roles/config) section, there are certain conf
1. (not recommended) Disable particular config file(s) management sections in `ansible/vars/overrides.yml` using `config_tasks_exclude: []`. This will prevent running config for it. For list of sections, see respective `ansible/roles/config/tasks/main.yml`.
2. (**recommended**) I personally suggest to checkout a local branch in this repository (`git checkout -b my-branch`), modify any configuration file(s) in `ansible/roles/config/files` and/or `ansible/roles/config/templates` and commit them. When you want to update changes, just merge release tag (or `master`) to your branch when needed. That way, you can have both your own modifications to the file, and possible upcoming improvements/features which will come with those files. In case of confilcts, you can either choose your own piece of config, or the incoming one, or both.

:::note[Neovim config]
Neovim config (based on AstroNvim) has its own repository. You can fork it and modify for you use, or use your own Neovim config entirely (from your repository). For details see [Neovim usage section](../../usage/vim)
:::
3 changes: 1 addition & 2 deletions docs-web/docs/main/customization/40-excludes.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,11 +16,10 @@ To exclude certain parts of ansible code for every subsequent runs, you can add

```yaml
software_tasks_exclude:
- bat # do not install Bat
- azurecli # do not install azurecli
- puppet # do not install Puppet
config_tasks_exclude:
- zsh # do not configure ZSH
```
For full list of exclude options, see [software](../roles/software) or [config](../roles/config) role description.
16 changes: 13 additions & 3 deletions docs-web/docs/main/customization/50-partial-run.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ To include/exclude whole roles:
- software

:::tip[Example: including only config]

```shell
ansible-playbook -i inventory.yml setup-ubuntu.yml --tags "config" -K
```
Expand All @@ -21,12 +22,21 @@ You can run multiple multiple tags at once:
```shell
ansible-playbook -i inventory.yml setup-ubuntu.yml --tags "neovim,lunarvim,tmux" -K
```

:::

:::tip[Example: including particular software installation without config]

```shell
ansible-playbook -i inventory.yml setup-ubuntu.yml --tags "zsh" --skip-tags "config" -K
```

Above will run only `software` role for ZSH, and will **not** run configuration for it.
:::

For particular functionality (`software` + `config`) below tags are available:
For particular functionality (`software` + `config`) below tags are available:

- ansible
- bat
- diff-so-fancy
- fd
- fzf
Expand All @@ -49,7 +59,7 @@ ansible-playbook -i inventory.yml setup-ubuntu.yml --tags "neovim,lunarvim,tmux"
- rvm
- sdkman
- software_packages
- thefuck
- ~thefuck~ # temporarily disabled. See docs.
- tmux
- w32yank
- yq
Expand Down
3 changes: 1 addition & 2 deletions docs-web/docs/main/features/10-terminal.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,6 @@ There are couple of useful plugins installed there (you can find them in `ansibl
- fuzzy search/go to directory
- aliases autosuggestions - tells you that you have an alias for particular commands
- easily traversing through **visited** directories (using [zoxide](https://github.com/ajeetdsouza/zoxide))
- correct your commands automatically with [thefuck](https://github.com/nvbn/thefuck)
- ~correct your commands automatically with [thefuck](https://github.com/nvbn/thefuck)~
- finding files with FZF
- Windows clipboard support - also works from VIM (copying in VIM makes it available in Windows clipboard)

47 changes: 4 additions & 43 deletions docs-web/docs/main/features/50-neovim.md
Original file line number Diff line number Diff line change
@@ -1,48 +1,9 @@
# Neovim with LunarVIM
# Neovim

[LunarVIM](https://github.com/LunarVim/LunarVim) is set as default `EDITOR`, also aliased as `vim` (you can change it in `ansible/roles/config/templates/zshrc.j2`).
[Neovim](https://github.com/neovim/neovim) is installed in latest stable version.

For details on how to navigate and power-use this IDE like a boss, see [Neovim usage](../../usage/vim)
It is set as default `EDITOR`, also aliased as `vim` (you can change it in `ansible/roles/config/templates/zshrc.j2`).

Core Neovim plugins, which are installed by LunarVIM, can be found [here](https://www.lunarvim.org/plugins/01-core-plugins-list.html).
For details on how to navigate and power-use this IDE like a boss, see [Neovim usage](../../usage/vim)

Additionally, I setup the plugins below:

- [folke/trouble.nvim](https://github.com/folke/trouble.nvim) - Toggle diagnostic windows and browse through them (`<Space>t` will list options to open)
- [rodjek/vim-puppet](https://github.com/rodjek/vim-puppet) - Puppet syntax support
- [pearofducks/ansible-vim](https://github.com/pearofducks/ansible-vim) - Ansible support
- [nanotee/zoxide.vim](https://github.com/nanotee/zoxide.vim) - Zoxide inside VIM: `:Zi` or `:Z <query>`.For Zoxide descrption see above for Zoxide description
- [will133/vim-dirdiff](https://github.com/will133/vim-dirdiff) - Diff directories. (`:DirDiff <dir1> <dir2>`)
- [plasticboy/vim-markdown](https://github.com/preservim/vim-markdown) - Markdown support
- [Sid0fc/mkdx](https://github.com/SidOfc/mkdx) - Markdown support #2
- [iamcco/markdown-preview.nvim](https://github.com/iamcco/markdown-preview.nvim) - Preview your markdown files in the browser (with dynamic scroll and refresh)
- [godlygeek/tabular](https://github.com/godlygeek/tabular) - easily line up text (like align with equal sign etc.)
- [junegunn/fzf](https://github.com/junegunn/fzf) and [junegunn/fzf.vim](https://github.com/junegunn/fzf.vim) - FZF integration in VIM
- GIT integration plugins:
- [tpope/fugitive](https://github.com/tpope/vim-fugitive) - Git wrapper, execute any Git command from VIM
- [kdheepak/lazygit.nvim](https://github.com/kdheepak/lazygit.nvim) - Neovim integration with awesome GIT wrapper (LazyGIT). See `software` role description for details.
- [mhinz/vim-signify](https://github.com/mhinz/vim-signify) - shows GIT info about modified/added/removed lines
- [sindrets/diffview.nvim](https://github.com/sindrets/diffview.nvim) - great GIT diff plugin for comparing file tree with particular revision(s) or browse file/selection history
- [f-person/git-blame.nvim](https://github.com/f-person/git-blame.nvim) - show Git blame in-line virtual text.
- [junegunn/gv](https://github.com/junegunn/gv.vim) - show git commits graph
- [tzachar/cmp-tabnine](https://github.com/tzachar/cmp-tabnine) - AI completion mechanism
- [rmagatti/goto-preview](https://github.com/rmagatti/goto-preview) - do not jump around the definition in new tabs/buffers - show floating preview window and edit it there, close the preview. Being on top of searched function: `gpd` (for definition).
- [itchyny/vim-cursorword](https://github.com/itchyny/vim-cursorword) - underline all the words that the cursor is on right now. Handy for typo spotting.
- [auto-save.nvim](https://github.com/Pocco81/auto-save.nvim) - exactly what the name suggests.
- [tpope/vim-obsession](https://github.com/tpope/vim-obsession) - VIM session manager
- [tpope/vim-surround](https://github.com/tpope/vim-surround) - easily surrond text with brackets, braces, quotes
- [ntpeters/vim-better-whitespace](https://github.com/ntpeters/vim-better-whitespace) - automatically trim/prune obsolete whitespace
- [preservim/vimux](https://github.com/preservim/vimux) - integrate neovim with TMUX - run commands in splits easily (@TODO: Add keymappings)
- [christoomey/vim-tmux-navigator](https://github.com/christoomey/vim-tmux-navigator) - integrate movements between TMUX splits and VIM windows/splits
- [towolf/vim-helm](https://github.com/towolf/vim-helm) - Helm files support
- [jvgrootveld/telescope-zoxide](https://github.com/jvgrootveld/telescope-zoxide) - Use Zoxide inside vim
- [kevinhwang91/nvim-bqf](https://github.com/kevinhwang91/nvim-bqf) - much better quickfix window
- [nvim-pack/nvim-spectre](https://github.com/nvim-pack/nvim-spectre) - Search and replace like on other IDEs
- [wincent/ferret](https://github.com/wincent/ferret) - Search and replace for files in your project. To be used if Spectre doesn't work as expected (see LunarVim usage docs for details)
- [roobert/search-replace.nvim](https://github.com/roobert/search-replace.nvim) - Better local search and replace
- [catpuccin/nvim](https://github.com/catppuccin/nvim) - Colorscheme
- [ggandor/leap.nvim](https://github.com/ggandor/leap.nvim) - Jump around the buffer like crazy

:::note
In LunarVIM there is an automatic LSP installer plugin - [lazy.nvim](https://github.com/folke/lazy.nvim) which will install supported language servers and use them, when you open a specific filetype. However, this doesn't work 100% of the time. I add custom configurations for terraform, ansible, markdown and puppet. If you have issues with automatic LSP config/attachment, you can add your own configurations for filetypes in `ansible/roles/config/files/lvim/ftplugin/<filetype>.lua` - all of the files from there will be copied over to LunarVim config. See: [LunarVIM docs](https://www.lunarvim.org/docs/configuration/language-features/language-servers) for details. I will be adding more LSP configs in the future probably.
:::
3 changes: 1 addition & 2 deletions docs-web/docs/main/features/60-other-software.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,7 @@

- [ripgrep](https://github.com/BurntSushi/ripgrep) - much faster grep. Also used from within VIM to grep for text.
- [fd](https://github.com/sharkdp/fd) - faster `find` command
- [bat](https://github.com/sharkdp/bat) - prettier cat with syntax highlight, line numbers etc.
- [batcat](https://github.com/sharkdp/bat) - prettier cat with syntax highlight, line numbers etc.
- [yq](https://mikefarah.gitbook.io/yq/) - YAML parser
- [htop](https://github.com/htop-dev/htop) - better top
- [jq](https://stedolan.github.io/jq/) - JSON parser

33 changes: 12 additions & 21 deletions docs-web/docs/main/roles/10-software.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,17 +10,17 @@ Various tools:
4. [Diff-so-fancy](https://github.com/so-fancy/diff-so-fancy) - alternate GIT DIFF presentation
5. [Git fuzzy](https://github.com/bigH/git-fuzzy.git) - managing GIT commands using FZF
6. [Gita](https://github.com/nosarthur/gita) - managing multiple GIT repositories at once (add groups, execute git or shell commands for those groups etc.)
6. [TheFuck](https://github.com/nvbn/thefuck) - corrects errors in previous console commands
7. [BAT](https://github.com/sharkdp/bat) - (much) better CAT
8. [Zoxide](https://github.com/ajeetdsouza/zoxide) - traverse directories with ease (also with FZF)
9. [Helm](https://github.com/helm/helm) - Kubernetes 'package manager'
10. [Ripgrep](https://github.com/BurntSushi/ripgrep) - `grep` on steroids. Blazing fast, easy to use
11. [fd](https://github.com/sharkdp/fd) - `find` alternative, much faster
12. [htop](https://htop.dev/) - process viewer, prettier `top` alternative
13. [TMUX](https://github.com/tmux/tmux) - terminal multiplexer
14. [LazyGIT](https://github.com/jesseduffield/lazygit) - GIT wrapper for both terminal and VIM
15. [keychain](https://www.funtoo.org/Funtoo:Keychain) - ssh-agent wrapper to keep SSH keys across terminal logins
16. [yq](https://mikefarah.gitbook.io/yq/) - awesome terminal YAML parser (also JSON, XML etc.)
7. ~[TheFuck](https://github.com/nvbn/thefuck) - corrects errors in previous console commands~
8. [BAT](https://github.com/sharkdp/bat) - (much) better CAT
9. [Zoxide](https://github.com/ajeetdsouza/zoxide) - traverse directories with ease (also with FZF)
10. [Helm](https://github.com/helm/helm) - Kubernetes 'package manager'
11. [Ripgrep](https://github.com/BurntSushi/ripgrep) - `grep` on steroids. Blazing fast, easy to use
12. [fd](https://github.com/sharkdp/fd) - `find` alternative, much faster
13. [htop](https://htop.dev/) - process viewer, prettier `top` alternative
14. [TMUX](https://github.com/tmux/tmux) - terminal multiplexer
15. [LazyGIT](https://github.com/jesseduffield/lazygit) - GIT wrapper for both terminal and VIM
16. [keychain](https://www.funtoo.org/Funtoo:Keychain) - ssh-agent wrapper to keep SSH keys across terminal logins
17. [yq](https://mikefarah.gitbook.io/yq/) - awesome terminal YAML parser (also JSON, XML etc.)

Development-related software:

Expand All @@ -33,11 +33,7 @@ Development-related software:
7. [pyenv](https://github.com/pyenv/pyenv) - Python version manager not to mess system python
8. [pyenv-virtualenv](https://github.com/pyenv/pyenv-virtualenv) - Python virtual environment manager to have separate environments with different packages for projects using same Python version

Also, common useful packages, like:

- mlocate (file search)
- tree (directory tree)
- jq (JSON/YAML parser)
Also, common useful packages, like `tree` (directory tree), `jq`/`yq` (JSON/YAML parser) and many others.

In `ansible/roles/software/vars/main.yml` file, you can find everything that can be configured in terms of software. See [Configuration customizations](../../category/customizations) for details.

Expand All @@ -53,10 +49,6 @@ See [excluding code](../customization/excludes) for details.

Available software excludes:

:::warning
Do not disable `yq` installation, or ensure you have it installed and available in your path, as it is used to modify yaml files during ansible run.
:::

- packages (default apt packages installation, including **dependencies**)
- git
- ripgrep
Expand Down Expand Up @@ -86,4 +78,3 @@ Do not disable `yq` installation, or ensure you have it installed and available
- neovim
- lunarvim
- puppet

Loading

0 comments on commit fdf84a8

Please sign in to comment.