mirror of
https://github.com/m-housh/dotfiles.git
synced 2026-02-14 06:12:34 +00:00
Compare commits
293 Commits
lazy-nvim
...
b77180638a
| Author | SHA1 | Date | |
|---|---|---|---|
|
b77180638a
|
|||
|
a06f1cc2a6
|
|||
|
2a54c8c599
|
|||
|
dddcb877d6
|
|||
|
0bd1e6242d
|
|||
|
e8de865417
|
|||
|
3825ef78ff
|
|||
|
81582b2194
|
|||
|
9363055e5a
|
|||
|
3230fb7007
|
|||
|
6f11d99043
|
|||
|
802ea082c8
|
|||
|
9cb3792223
|
|||
|
3041d0a5e5
|
|||
|
ecf3e98e25
|
|||
|
cbe4ebc538
|
|||
|
511c7307b6
|
|||
|
30ac84ecac
|
|||
|
547cc41436
|
|||
|
3fd33cd92e
|
|||
|
8c83898abf
|
|||
|
3fc1054206
|
|||
|
6c6c5c507d
|
|||
|
b627d68ae3
|
|||
|
d8feb9535d
|
|||
|
73973aed67
|
|||
|
534a902512
|
|||
|
5dc1b33da8
|
|||
|
4624fa48d3
|
|||
|
fa0cf72ae0
|
|||
|
e10715940f
|
|||
|
a5ca5b4f63
|
|||
|
26b98e444d
|
|||
|
3796572324
|
|||
|
3382c4b165
|
|||
|
afdedc5acf
|
|||
|
ad5ade6679
|
|||
|
994ff17ceb
|
|||
|
ccc2367bc3
|
|||
|
7f98d4046f
|
|||
|
98804b3aa5
|
|||
|
53db3f3e8f
|
|||
|
86422bd68b
|
|||
|
95139d50ba
|
|||
|
15b1aded69
|
|||
|
dcac27db37
|
|||
|
a71ae05e5b
|
|||
|
9a1b00610e
|
|||
|
4f47e288ea
|
|||
|
963fcd2810
|
|||
|
9ead148f34
|
|||
|
0d8364eaf9
|
|||
|
4d42fa4dab
|
|||
|
f23adad4b0
|
|||
|
44f5c35d38
|
|||
|
25ddde6e12
|
|||
|
4a023203bd
|
|||
|
5f07ffede9
|
|||
|
6cdf85b4e3
|
|||
|
876e7f6d0e
|
|||
|
b78fb64bd3
|
|||
|
ee7854eafc
|
|||
|
ef961fcfa8
|
|||
|
6d44edc94d
|
|||
|
381d272da1
|
|||
|
38e77e8fcd
|
|||
|
2a5c2cdc58
|
|||
|
0949f9e9fa
|
|||
|
2c7bd9123f
|
|||
|
f325d61131
|
|||
|
ae13738a4d
|
|||
|
6c84428179
|
|||
|
d27f2ad490
|
|||
|
ea7033bea8
|
|||
|
a835414bd1
|
|||
|
82341d87df
|
|||
|
9e48ba0a77
|
|||
|
3518ba059f
|
|||
|
c8e869c853
|
|||
|
b1633707c2
|
|||
|
5f45954d98
|
|||
|
4fb2b70004
|
|||
|
a86116056f
|
|||
|
f43cd2c543
|
|||
|
48d0e16f6a
|
|||
|
27d66acb6e
|
|||
|
af77a986e2
|
|||
|
1dd7460ac4
|
|||
|
3badd6a046
|
|||
|
0a9e065b4d
|
|||
|
8ac60b4196
|
|||
|
7f26013d1c
|
|||
|
42cef6e0c4
|
|||
|
241c43767c
|
|||
|
4b39a3eb95
|
|||
|
1e427911ac
|
|||
|
0c15983dae
|
|||
|
68d3f5a183
|
|||
|
d9ea8d80c6
|
|||
|
eed9c143ea
|
|||
|
d06648864e
|
|||
|
9bb33cfaee
|
|||
|
917ac3ff2a
|
|||
|
23bd867430
|
|||
|
2e3c750979
|
|||
|
eff01f42fd
|
|||
|
8a17c5ad80
|
|||
|
d8891e40fc
|
|||
|
f6f45a8c58
|
|||
|
3b75e6e918
|
|||
|
2813d5b56d
|
|||
|
b3476a4af2
|
|||
|
49524fef66
|
|||
|
15eedbfd1e
|
|||
|
365baec18a
|
|||
|
051a418d0b
|
|||
|
f7484147f7
|
|||
|
2334f33cdb
|
|||
|
33c011067f
|
|||
|
2d687e8c61
|
|||
|
377f5849f7
|
|||
|
37d8e4c678
|
|||
|
edf62341df
|
|||
|
9f9854e9d5
|
|||
|
ef45abdd16
|
|||
|
23c4afabbc
|
|||
|
329589612b
|
|||
|
87b901f6c0
|
|||
|
c0c5e92184
|
|||
|
728c77a2d2
|
|||
|
319a63ddcc
|
|||
|
6a6c6ace8a
|
|||
|
4dbd2864c1
|
|||
|
7b75cca4d7
|
|||
|
be1ab62d8f
|
|||
|
a379a9ce60
|
|||
|
3c172a4597
|
|||
|
3f91ec849d
|
|||
|
326ce37b02
|
|||
|
54b6377407
|
|||
|
61258c8a32
|
|||
|
ffcb53f6e2
|
|||
|
9c6d5a1e91
|
|||
|
a344d29ca4
|
|||
|
a70e1a70b4
|
|||
|
53bad22017
|
|||
|
8a9a378f18
|
|||
|
65e8de5b75
|
|||
|
b860ff8858
|
|||
|
6e33524859
|
|||
|
6599d90e39
|
|||
|
6158763985
|
|||
|
9b8e30bde3
|
|||
|
094a77c22e
|
|||
|
91e05a1345
|
|||
|
d9445d4e89
|
|||
|
87594a5d96
|
|||
|
6759e4e85b
|
|||
|
712b209c86
|
|||
| 19fbce7dd1 | |||
| 48b4278ae9 | |||
| 47930ad6da | |||
| a9d76c5107 | |||
| c4da654111 | |||
| 557da77caf | |||
| 01a7c4845f | |||
| 1ae41a0fac | |||
| a696e4e658 | |||
| 6527ad88df | |||
| cbf26b10e7 | |||
| a9d7f24d24 | |||
| 2d39db3401 | |||
| 1e26df8ef0 | |||
| d653110ec2 | |||
| 128dd695b9 | |||
| a2558e0296 | |||
| 19285a539d | |||
| 6c0eda81d5 | |||
| 842bf84c25 | |||
| f6bad2b0f5 | |||
| 47ea7ba28a | |||
| 54408de2cf | |||
| a2e6d3e825 | |||
| 090b0fb2f3 | |||
| 2bab3d516c | |||
| 9ef283fda1 | |||
| 881905f203 | |||
| 55be390f7f | |||
| 3763775bb6 | |||
| b61004554a | |||
| 0f8e56394d | |||
| 2434fb52e2 | |||
| cd8808ab74 | |||
| fb235ab19d | |||
| 1db62e3457 | |||
| 411f660cbb | |||
| 5572c8f0e3 | |||
| d258f14376 | |||
| 7660587a33 | |||
| aafdef33e3 | |||
| bcd9742b37 | |||
| c0714cb010 | |||
| 8e20f20b4f | |||
| eae33a6705 | |||
| 17bc6ef41b | |||
| 9a05bd20d8 | |||
| bc342d28c8 | |||
| 148916909a | |||
| f362789006 | |||
| 367cae9748 | |||
| 8e46610a7b | |||
| ff870c0f1b | |||
| d34059c34d | |||
| 016e4d459f | |||
| cead1bc85e | |||
| c296a1492f | |||
| 892966d27a | |||
| b53d239cd3 | |||
| cd95365149 | |||
| ba8a64a447 | |||
| d15d3b406f | |||
| 9cc99ff03d | |||
| d3a383102b | |||
| c1b1381f24 | |||
| 0f58b00f97 | |||
| 05b36efeea | |||
| 30ff7b7652 | |||
| a3c3ed1d23 | |||
|
|
0294c4e5bc | ||
|
|
be24adf2aa | ||
|
|
2b4ecf3939 | ||
|
|
ce99e7dd76 | ||
| 3fcb57d090 | |||
| 346ff30f4a | |||
| a8e8228696 | |||
| 2f6630b272 | |||
|
|
a328615cbf | ||
|
|
385c17811d | ||
| 92a4571bff | |||
| 3a5adc07ad | |||
|
|
fa02ac9889 | ||
|
|
e3ff780999 | ||
| 64b5e4b21c | |||
| 00749e3be7 | |||
|
|
7690713f46 | ||
|
|
5927ef7fb3 | ||
| e90c491a47 | |||
| f55eca41f0 | |||
| 6cb0744e92 | |||
|
|
5555c14327 | ||
|
|
353b669f27 | ||
|
|
f0a5d85dea | ||
| f643b45432 | |||
| 427fd1d063 | |||
| ca0c0b1ca0 | |||
|
|
19229a2b90 | ||
|
|
e8772df72e | ||
|
|
660ff7d94d | ||
|
|
7c5c642ae5 | ||
|
|
742f26a81c | ||
|
|
7f13161948 | ||
|
|
00c5e0cca6 | ||
|
|
c930fb7e7a | ||
| be0bb66e09 | |||
| 8d68b1033a | |||
| 4b37f8afcb | |||
|
|
fcf8c83beb | ||
|
|
0e77478075 | ||
| a8c4191d96 | |||
| 56cfaf4360 | |||
| 35a5cf15c5 | |||
| 3896bab4fb | |||
|
|
9acb92154a | ||
|
|
e519322fb2 | ||
| aa8e3847a2 | |||
| 2de739ec68 | |||
| 1d08232c52 | |||
| 607f1b20b9 | |||
|
|
cc6dd26184 | ||
|
|
220dddc930 | ||
| 966c050875 | |||
| 275baa228c | |||
|
|
437b4f5002 | ||
|
|
ab1a45d421 | ||
|
|
663673dfd3 | ||
|
|
7673963158 | ||
|
|
433c6cf59f | ||
|
|
8d396ff46f | ||
| 6204b5f7b3 | |||
| 26f78217f7 | |||
| 42827b7154 | |||
| e3dd7a80f6 | |||
|
|
5cbb1affd5 |
11
.gitignore
vendored
11
.gitignore
vendored
@@ -1,7 +1,5 @@
|
||||
**/.DS_Store
|
||||
**/Brewfile.lock.json
|
||||
**/plugins
|
||||
**/plugin
|
||||
**/.zcompdump*
|
||||
**/.zcompdump
|
||||
**/.zcompcache
|
||||
@@ -11,4 +9,11 @@
|
||||
**/completions/*
|
||||
**/.netrwhist
|
||||
**/.zshrc-local
|
||||
nvim/lazy-lock.json
|
||||
facebook-bot/config/*
|
||||
facebook-bot/config/*
|
||||
**/tmp
|
||||
ansible/tmp/*
|
||||
ansible/collections/*
|
||||
ansible/galaxy_cache/*
|
||||
ansible/galaxy_token
|
||||
**/lazy-lock.json
|
||||
|
||||
82
.luarc.json
Normal file
82
.luarc.json
Normal file
@@ -0,0 +1,82 @@
|
||||
{
|
||||
"workspace.library": [
|
||||
"/Users/michael/.local/share/m-housh/lazy/neodev.nvim/types/stable",
|
||||
"/opt/homebrew/Cellar/neovim/0.9.2/share/nvim/runtime/lua",
|
||||
"/Users/michael/.local/share/m-housh/lazy/bufdelete.nvim/lua",
|
||||
"/Users/michael/.local/share/m-housh/lazy/diffview.nvim/lua",
|
||||
"/Users/michael/.local/share/m-housh/lazy/lsp_signature.nvim/lua",
|
||||
"/Users/michael/.local/share/m-housh/lazy/neo-tree.nvim/lua",
|
||||
"/Users/michael/.local/share/m-housh/lazy/neodev.nvim/lua",
|
||||
"/Users/michael/.local/share/m-housh/lazy/telescope-fzf-native.nvim/lua",
|
||||
"/Users/michael/.local/share/m-housh/lazy/nvim-lspconfig/lua",
|
||||
"/Users/michael/.local/share/m-housh/lazy/nvim-cmp/lua",
|
||||
"/Users/michael/.local/share/m-housh/lazy/nvim-treesitter-textobjects/lua",
|
||||
"/Users/michael/.local/share/m-housh/lazy/nui.nvim/lua",
|
||||
"/Users/michael/.local/share/m-housh/lazy/nightfox.nvim/lua",
|
||||
"/Users/michael/.local/share/m-housh/lazy/cmp-buffer/lua",
|
||||
"/Users/michael/.local/share/m-housh/lazy/cmp-path/lua",
|
||||
"/Users/michael/.local/share/m-housh/lazy/nvim-treesitter/lua",
|
||||
"/Users/michael/.local/share/m-housh/lazy/nvim-lsp-installer/lua",
|
||||
"/Users/michael/.local/share/m-housh/lazy/cmp-cmdline/lua",
|
||||
"/Users/michael/.local/share/m-housh/lazy/lazy.nvim/lua",
|
||||
"/Users/michael/.local/share/m-housh/lazy/cmp-spell/lua",
|
||||
"/Users/michael/.local/share/m-housh/lazy/wrapping.nvim/lua",
|
||||
"/Users/michael/.local/share/m-housh/lazy/cmp-calc/lua",
|
||||
"/Users/michael/.local/share/m-housh/lazy/which-key.nvim/lua",
|
||||
"/Users/michael/.local/share/m-housh/lazy/mason-lspconfig.nvim/lua",
|
||||
"/Users/michael/.local/share/m-housh/lazy/formatter.nvim/lua",
|
||||
"/Users/michael/.local/share/m-housh/lazy/cmp-nvim-lsp/lua",
|
||||
"/Users/michael/.local/share/m-housh/lazy/cmp-emoji/lua",
|
||||
"/Users/michael/.local/share/m-housh/lazy/nvim-web-devicons/lua",
|
||||
"/Users/michael/.local/share/m-housh/lazy/plenary.nvim/lua",
|
||||
"/Users/michael/.local/share/m-housh/lazy/neogit/lua",
|
||||
"/Users/michael/.local/share/m-housh/lazy/overseer.nvim/lua",
|
||||
"/Users/michael/.local/share/m-housh/lazy/lualine.nvim/lua",
|
||||
"/Users/michael/.local/share/m-housh/lazy/mason.nvim/lua",
|
||||
"/Users/michael/.local/share/m-housh/lazy/telescope.nvim/lua",
|
||||
"/Users/michael/.local/share/m-housh/lazy/lspkind-nvim/lua",
|
||||
"/Users/michael/.local/share/m-housh/lazy/swift.nvim/lua",
|
||||
"/Users/michael/.local/share/m-housh/lazy/toggleterm.nvim/lua",
|
||||
"/Users/michael/.local/share/m-housh/lazy/neodev.nvim/types/stable",
|
||||
"/opt/homebrew/Cellar/neovim/0.9.2/share/nvim/runtime/lua",
|
||||
"/Users/michael/.local/share/m-housh/lazy/bufdelete.nvim/lua",
|
||||
"/Users/michael/.local/share/m-housh/lazy/diffview.nvim/lua",
|
||||
"/Users/michael/.local/share/m-housh/lazy/lsp_signature.nvim/lua",
|
||||
"/Users/michael/.local/share/m-housh/lazy/neo-tree.nvim/lua",
|
||||
"/Users/michael/.local/share/m-housh/lazy/neodev.nvim/lua",
|
||||
"/Users/michael/.local/share/m-housh/lazy/telescope-fzf-native.nvim/lua",
|
||||
"/Users/michael/.local/share/m-housh/lazy/nvim-lspconfig/lua",
|
||||
"/Users/michael/.local/share/m-housh/lazy/nvim-cmp/lua",
|
||||
"/Users/michael/.local/share/m-housh/lazy/nvim-treesitter-textobjects/lua",
|
||||
"/Users/michael/.local/share/m-housh/lazy/nui.nvim/lua",
|
||||
"/Users/michael/.local/share/m-housh/lazy/nightfox.nvim/lua",
|
||||
"/Users/michael/.local/share/m-housh/lazy/cmp-buffer/lua",
|
||||
"/Users/michael/.local/share/m-housh/lazy/cmp-path/lua",
|
||||
"/Users/michael/.local/share/m-housh/lazy/nvim-treesitter/lua",
|
||||
"/Users/michael/.local/share/m-housh/lazy/nvim-lsp-installer/lua",
|
||||
"/Users/michael/.local/share/m-housh/lazy/cmp-cmdline/lua",
|
||||
"/Users/michael/.local/share/m-housh/lazy/lazy.nvim/lua",
|
||||
"/Users/michael/.local/share/m-housh/lazy/cmp-spell/lua",
|
||||
"/Users/michael/.local/share/m-housh/lazy/wrapping.nvim/lua",
|
||||
"/Users/michael/.local/share/m-housh/lazy/cmp-calc/lua",
|
||||
"/Users/michael/.local/share/m-housh/lazy/which-key.nvim/lua",
|
||||
"/Users/michael/.local/share/m-housh/lazy/mason-lspconfig.nvim/lua",
|
||||
"/Users/michael/.local/share/m-housh/lazy/formatter.nvim/lua",
|
||||
"/Users/michael/.local/share/m-housh/lazy/cmp-nvim-lsp/lua",
|
||||
"/Users/michael/.local/share/m-housh/lazy/cmp-emoji/lua",
|
||||
"/Users/michael/.local/share/m-housh/lazy/nvim-web-devicons/lua",
|
||||
"/Users/michael/.local/share/m-housh/lazy/plenary.nvim/lua",
|
||||
"/Users/michael/.local/share/m-housh/lazy/neogit/lua",
|
||||
"/Users/michael/.local/share/m-housh/lazy/overseer.nvim/lua",
|
||||
"/Users/michael/.local/share/m-housh/lazy/lualine.nvim/lua",
|
||||
"/Users/michael/.local/share/m-housh/lazy/mason.nvim/lua",
|
||||
"/Users/michael/.local/share/m-housh/lazy/telescope.nvim/lua",
|
||||
"/Users/michael/.local/share/m-housh/lazy/lspkind-nvim/lua",
|
||||
"/Users/michael/.local/share/m-housh/lazy/swift.nvim/lua",
|
||||
"/Users/michael/.local/share/m-housh/lazy/toggleterm.nvim/lua",
|
||||
"/Users/michael/.dotfiles/nvim/m-housh/lua",
|
||||
"/Users/michael/.dotfiles/nvim/m-housh/lua",
|
||||
"${3rd}/luv/library",
|
||||
"${3rd}/luassert/library"
|
||||
]
|
||||
}
|
||||
3
.markdownlint.jsonc
Normal file
3
.markdownlint.jsonc
Normal file
@@ -0,0 +1,3 @@
|
||||
{
|
||||
"MD013": { "code_blocks": false }
|
||||
}
|
||||
2
.prettierrc.yaml
Normal file
2
.prettierrc.yaml
Normal file
@@ -0,0 +1,2 @@
|
||||
proseWrap: always
|
||||
printWidth: 80
|
||||
9
TODO.md
9
TODO.md
@@ -1,4 +1,9 @@
|
||||
# TODO
|
||||
|
||||
- Remove brewfiles and use the `dots` app instead.
|
||||
- Add helix to `dots` app.
|
||||
- Add zsh functions to dots cli manager.
|
||||
- Add tmux plugins to dots cli manager.
|
||||
- Add tmux-powerline linking to `dots` cli manager.
|
||||
- Clean up zet commands, maybe make a gum / fzf filter script.
|
||||
- Update README to reflect ansible installation
|
||||
- Update ansible to do gpg installation.
|
||||
- Update ansible to include sketchybar.
|
||||
|
||||
984
ansible/ansible.cfg
Normal file
984
ansible/ansible.cfg
Normal file
@@ -0,0 +1,984 @@
|
||||
[defaults]
|
||||
# (boolean) By default Ansible will issue a warning when received from a task action (module or action plugin)
|
||||
# These warnings can be silenced by adjusting this setting to False.
|
||||
;action_warnings=True
|
||||
|
||||
# (list) Accept list of cowsay templates that are 'safe' to use, set to empty list if you want to enable all installed templates.
|
||||
;cowsay_enabled_stencils=bud-frogs, bunny, cheese, daemon, default, dragon, elephant-in-snake, elephant, eyes, hellokitty, kitty, luke-koala, meow, milk, moofasa, moose, ren, sheep, small, stegosaurus, stimpy, supermilker, three-eyes, turkey, turtle, tux, udder, vader-koala, vader, www
|
||||
|
||||
# (string) Specify a custom cowsay path or swap in your cowsay implementation of choice
|
||||
;cowpath=
|
||||
|
||||
# (string) This allows you to chose a specific cowsay stencil for the banners or use 'random' to cycle through them.
|
||||
;cow_selection=default
|
||||
|
||||
# (boolean) This option forces color mode even when running without a TTY or the "nocolor" setting is True.
|
||||
;force_color=False
|
||||
|
||||
# (path) The default root path for Ansible config files on the controller.
|
||||
home=~/.config/ansible
|
||||
|
||||
# (boolean) This setting allows suppressing colorizing output, which is used to give a better indication of failure and status information.
|
||||
;nocolor=False
|
||||
|
||||
# (boolean) If you have cowsay installed but want to avoid the 'cows' (why????), use this.
|
||||
;nocows=False
|
||||
|
||||
# (boolean) Sets the default value for the any_errors_fatal keyword, if True, Task failures will be considered fatal errors.
|
||||
;any_errors_fatal=False
|
||||
|
||||
# (path) The password file to use for the become plugin. --become-password-file.
|
||||
# If executable, it will be run and the resulting stdout will be used as the password.
|
||||
;become_password_file=
|
||||
|
||||
# (pathspec) Colon separated paths in which Ansible will search for Become Plugins.
|
||||
;become_plugins={{ ANSIBLE_HOME ~ "/plugins/become:/usr/share/ansible/plugins/become" }}
|
||||
|
||||
# (string) Chooses which cache plugin to use, the default 'memory' is ephemeral.
|
||||
;fact_caching=memory
|
||||
|
||||
# (string) Defines connection or path information for the cache plugin
|
||||
;fact_caching_connection=
|
||||
|
||||
# (string) Prefix to use for cache plugin files/tables
|
||||
;fact_caching_prefix=ansible_facts
|
||||
|
||||
# (integer) Expiration timeout for the cache plugin data
|
||||
;fact_caching_timeout=86400
|
||||
|
||||
# (list) List of enabled callbacks, not all callbacks need enabling, but many of those shipped with Ansible do as we don't want them activated by default.
|
||||
;callbacks_enabled=
|
||||
|
||||
# (string) When a collection is loaded that does not support the running Ansible version (with the collection metadata key `requires_ansible`).
|
||||
;collections_on_ansible_version_mismatch=warning
|
||||
|
||||
# (pathspec) Colon separated paths in which Ansible will search for collections content. Collections must be in nested *subdirectories*, not directly in these directories. For example, if ``COLLECTIONS_PATHS`` includes ``'{{ ANSIBLE_HOME ~ "/collections" }}'``, and you want to add ``my.collection`` to that directory, it must be saved as ``'{{ ANSIBLE_HOME} ~ "/collections/ansible_collections/my/collection" }}'``.
|
||||
|
||||
;collections_path={{ ANSIBLE_HOME ~ "/collections:/usr/share/ansible/collections" }}
|
||||
|
||||
# (boolean) A boolean to enable or disable scanning the sys.path for installed collections
|
||||
;collections_scan_sys_path=True
|
||||
|
||||
# (path) The password file to use for the connection plugin. --connection-password-file.
|
||||
;connection_password_file=
|
||||
|
||||
# (pathspec) Colon separated paths in which Ansible will search for Action Plugins.
|
||||
;action_plugins={{ ANSIBLE_HOME ~ "/plugins/action:/usr/share/ansible/plugins/action" }}
|
||||
|
||||
# (boolean) When enabled, this option allows lookup plugins (whether used in variables as ``{{lookup('foo')}}`` or as a loop as with_foo) to return data that is not marked 'unsafe'.
|
||||
# By default, such data is marked as unsafe to prevent the templating engine from evaluating any jinja2 templating language, as this could represent a security risk. This option is provided to allow for backward compatibility, however users should first consider adding allow_unsafe=True to any lookups which may be expected to contain data which may be run through the templating engine late
|
||||
;allow_unsafe_lookups=False
|
||||
|
||||
# (boolean) This controls whether an Ansible playbook should prompt for a login password. If using SSH keys for authentication, you probably do not need to change this setting.
|
||||
;ask_pass=False
|
||||
|
||||
# (boolean) This controls whether an Ansible playbook should prompt for a vault password.
|
||||
;ask_vault_pass=False
|
||||
|
||||
# (pathspec) Colon separated paths in which Ansible will search for Cache Plugins.
|
||||
;cache_plugins={{ ANSIBLE_HOME ~ "/plugins/cache:/usr/share/ansible/plugins/cache" }}
|
||||
|
||||
# (pathspec) Colon separated paths in which Ansible will search for Callback Plugins.
|
||||
;callback_plugins={{ ANSIBLE_HOME ~ "/plugins/callback:/usr/share/ansible/plugins/callback" }}
|
||||
|
||||
# (pathspec) Colon separated paths in which Ansible will search for Cliconf Plugins.
|
||||
;cliconf_plugins={{ ANSIBLE_HOME ~ "/plugins/cliconf:/usr/share/ansible/plugins/cliconf" }}
|
||||
|
||||
# (pathspec) Colon separated paths in which Ansible will search for Connection Plugins.
|
||||
;connection_plugins={{ ANSIBLE_HOME ~ "/plugins/connection:/usr/share/ansible/plugins/connection" }}
|
||||
|
||||
# (boolean) Toggles debug output in Ansible. This is *very* verbose and can hinder multiprocessing. Debug output can also include secret information despite no_log settings being enabled, which means debug mode should not be used in production.
|
||||
;debug=False
|
||||
|
||||
# (string) This indicates the command to use to spawn a shell under for Ansible's execution needs on a target. Users may need to change this in rare instances when shell usage is constrained, but in most cases it may be left as is.
|
||||
;executable=/bin/sh
|
||||
|
||||
# (string) This option allows you to globally configure a custom path for 'local_facts' for the implied :ref:`ansible_collections.ansible.builtin.setup_module` task when using fact gathering.
|
||||
# If not set, it will fallback to the default from the ``ansible.builtin.setup`` module: ``/etc/ansible/facts.d``.
|
||||
# This does **not** affect user defined tasks that use the ``ansible.builtin.setup`` module.
|
||||
# The real action being created by the implicit task is currently ``ansible.legacy.gather_facts`` module, which then calls the configured fact modules, by default this will be ``ansible.builtin.setup`` for POSIX systems but other platforms might have different defaults.
|
||||
;fact_path=
|
||||
|
||||
# (pathspec) Colon separated paths in which Ansible will search for Jinja2 Filter Plugins.
|
||||
;filter_plugins={{ ANSIBLE_HOME ~ "/plugins/filter:/usr/share/ansible/plugins/filter" }}
|
||||
|
||||
# (boolean) This option controls if notified handlers run on a host even if a failure occurs on that host.
|
||||
# When false, the handlers will not run if a failure has occurred on a host.
|
||||
# This can also be set per play or on the command line. See Handlers and Failure for more details.
|
||||
;force_handlers=False
|
||||
|
||||
# (integer) Maximum number of forks Ansible will use to execute tasks on target hosts.
|
||||
;forks=5
|
||||
|
||||
# (string) This setting controls the default policy of fact gathering (facts discovered about remote systems).
|
||||
# This option can be useful for those wishing to save fact gathering time. Both 'smart' and 'explicit' will use the cache plugin.
|
||||
;gathering=implicit
|
||||
|
||||
# (list) Set the `gather_subset` option for the :ref:`ansible_collections.ansible.builtin.setup_module` task in the implicit fact gathering. See the module documentation for specifics.
|
||||
# It does **not** apply to user defined ``ansible.builtin.setup`` tasks.
|
||||
;gather_subset=
|
||||
|
||||
# (integer) Set the timeout in seconds for the implicit fact gathering, see the module documentation for specifics.
|
||||
# It does **not** apply to user defined :ref:`ansible_collections.ansible.builtin.setup_module` tasks.
|
||||
;gather_timeout=
|
||||
|
||||
# (string) This setting controls how duplicate definitions of dictionary variables (aka hash, map, associative array) are handled in Ansible.
|
||||
# This does not affect variables whose values are scalars (integers, strings) or arrays.
|
||||
# **WARNING**, changing this setting is not recommended as this is fragile and makes your content (plays, roles, collections) non portable, leading to continual confusion and misuse. Don't change this setting unless you think you have an absolute need for it.
|
||||
# We recommend avoiding reusing variable names and relying on the ``combine`` filter and ``vars`` and ``varnames`` lookups to create merged versions of the individual variables. In our experience this is rarely really needed and a sign that too much complexity has been introduced into the data structures and plays.
|
||||
# For some uses you can also look into custom vars_plugins to merge on input, even substituting the default ``host_group_vars`` that is in charge of parsing the ``host_vars/`` and ``group_vars/`` directories. Most users of this setting are only interested in inventory scope, but the setting itself affects all sources and makes debugging even harder.
|
||||
# All playbooks and roles in the official examples repos assume the default for this setting.
|
||||
# Changing the setting to ``merge`` applies across variable sources, but many sources will internally still overwrite the variables. For example ``include_vars`` will dedupe variables internally before updating Ansible, with 'last defined' overwriting previous definitions in same file.
|
||||
# The Ansible project recommends you **avoid ``merge`` for new projects.**
|
||||
# It is the intention of the Ansible developers to eventually deprecate and remove this setting, but it is being kept as some users do heavily rely on it. New projects should **avoid 'merge'**.
|
||||
;hash_behaviour=replace
|
||||
|
||||
# (pathlist) Comma separated list of Ansible inventory sources
|
||||
;inventory=/etc/ansible/hosts
|
||||
|
||||
# (pathspec) Colon separated paths in which Ansible will search for HttpApi Plugins.
|
||||
;httpapi_plugins={{ ANSIBLE_HOME ~ "/plugins/httpapi:/usr/share/ansible/plugins/httpapi" }}
|
||||
|
||||
# (float) This sets the interval (in seconds) of Ansible internal processes polling each other. Lower values improve performance with large playbooks at the expense of extra CPU load. Higher values are more suitable for Ansible usage in automation scenarios, when UI responsiveness is not required but CPU usage might be a concern.
|
||||
# The default corresponds to the value hardcoded in Ansible <= 2.1
|
||||
;internal_poll_interval=0.001
|
||||
|
||||
# (pathspec) Colon separated paths in which Ansible will search for Inventory Plugins.
|
||||
;inventory_plugins={{ ANSIBLE_HOME ~ "/plugins/inventory:/usr/share/ansible/plugins/inventory" }}
|
||||
|
||||
# (string) This is a developer-specific feature that allows enabling additional Jinja2 extensions.
|
||||
# See the Jinja2 documentation for details. If you do not know what these do, you probably don't need to change this setting :)
|
||||
;jinja2_extensions=[]
|
||||
|
||||
# (boolean) This option preserves variable types during template operations.
|
||||
;jinja2_native=False
|
||||
|
||||
# (boolean) Enables/disables the cleaning up of the temporary files Ansible used to execute the tasks on the remote.
|
||||
# If this option is enabled it will disable ``ANSIBLE_PIPELINING``.
|
||||
;keep_remote_files=False
|
||||
|
||||
# (boolean) Controls whether callback plugins are loaded when running /usr/bin/ansible. This may be used to log activity from the command line, send notifications, and so on. Callback plugins are always loaded for ``ansible-playbook``.
|
||||
;bin_ansible_callbacks=False
|
||||
|
||||
# (tmppath) Temporary directory for Ansible to use on the controller.
|
||||
local_tmp=~/.local/share/ansible/tmp
|
||||
|
||||
# (list) List of logger names to filter out of the log file
|
||||
;log_filter=
|
||||
|
||||
# (path) File to which Ansible will log on the controller. When empty logging is disabled.
|
||||
;log_path=
|
||||
|
||||
# (pathspec) Colon separated paths in which Ansible will search for Lookup Plugins.
|
||||
;lookup_plugins={{ ANSIBLE_HOME ~ "/plugins/lookup:/usr/share/ansible/plugins/lookup" }}
|
||||
|
||||
# (string) Sets the macro for the 'ansible_managed' variable available for :ref:`ansible_collections.ansible.builtin.template_module` and :ref:`ansible_collections.ansible.windows.win_template_module`. This is only relevant for those two modules.
|
||||
;ansible_managed=Ansible managed
|
||||
|
||||
# (string) This sets the default arguments to pass to the ``ansible`` adhoc binary if no ``-a`` is specified.
|
||||
;module_args=
|
||||
|
||||
# (string) Compression scheme to use when transferring Python modules to the target.
|
||||
;module_compression=ZIP_DEFLATED
|
||||
|
||||
# (string) Module to use with the ``ansible`` AdHoc command, if none is specified via ``-m``.
|
||||
;module_name=command
|
||||
|
||||
# (pathspec) Colon separated paths in which Ansible will search for Modules.
|
||||
;library={{ ANSIBLE_HOME ~ "/plugins/modules:/usr/share/ansible/plugins/modules" }}
|
||||
|
||||
# (pathspec) Colon separated paths in which Ansible will search for Module utils files, which are shared by modules.
|
||||
;module_utils={{ ANSIBLE_HOME ~ "/plugins/module_utils:/usr/share/ansible/plugins/module_utils" }}
|
||||
|
||||
# (pathspec) Colon separated paths in which Ansible will search for Netconf Plugins.
|
||||
;netconf_plugins={{ ANSIBLE_HOME ~ "/plugins/netconf:/usr/share/ansible/plugins/netconf" }}
|
||||
|
||||
# (boolean) Toggle Ansible's display and logging of task details, mainly used to avoid security disclosures.
|
||||
;no_log=False
|
||||
|
||||
# (boolean) Toggle Ansible logging to syslog on the target when it executes tasks. On Windows hosts this will disable a newer style PowerShell modules from writing to the event log.
|
||||
;no_target_syslog=False
|
||||
|
||||
# (raw) What templating should return as a 'null' value. When not set it will let Jinja2 decide.
|
||||
;null_representation=
|
||||
|
||||
# (integer) For asynchronous tasks in Ansible (covered in Asynchronous Actions and Polling), this is how often to check back on the status of those tasks when an explicit poll interval is not supplied. The default is a reasonably moderate 15 seconds which is a tradeoff between checking in frequently and providing a quick turnaround when something may have completed.
|
||||
;poll_interval=15
|
||||
|
||||
# (path) Option for connections using a certificate or key file to authenticate, rather than an agent or passwords, you can set the default value here to avoid re-specifying --private-key with every invocation.
|
||||
;private_key_file=
|
||||
|
||||
# (boolean) By default, imported roles publish their variables to the play and other roles, this setting can avoid that.
|
||||
# This was introduced as a way to reset role variables to default values if a role is used more than once in a playbook.
|
||||
# Included roles only make their variables public at execution, unlike imported roles which happen at playbook compile time.
|
||||
;private_role_vars=False
|
||||
|
||||
# (integer) Port to use in remote connections, when blank it will use the connection plugin default.
|
||||
;remote_port=
|
||||
|
||||
# (string) Sets the login user for the target machines
|
||||
# When blank it uses the connection plugin's default, normally the user currently executing Ansible.
|
||||
;remote_user=
|
||||
|
||||
# (pathspec) Colon separated paths in which Ansible will search for Roles.
|
||||
roles_path={{ ANSIBLE_HOME ~ "~/.local/ansible/roles:/roles:/usr/share/ansible/roles:/etc/ansible/roles" }}
|
||||
|
||||
# (string) Set the main callback used to display Ansible output. You can only have one at a time.
|
||||
# You can have many other callbacks, but just one can be in charge of stdout.
|
||||
# See :ref:`callback_plugins` for a list of available options.
|
||||
;stdout_callback=default
|
||||
|
||||
# (string) Set the default strategy used for plays.
|
||||
;strategy=linear
|
||||
|
||||
# (pathspec) Colon separated paths in which Ansible will search for Strategy Plugins.
|
||||
;strategy_plugins={{ ANSIBLE_HOME ~ "/plugins/strategy:/usr/share/ansible/plugins/strategy" }}
|
||||
|
||||
# (boolean) Toggle the use of "su" for tasks.
|
||||
;su=False
|
||||
|
||||
# (string) Syslog facility to use when Ansible logs to the remote target
|
||||
;syslog_facility=LOG_USER
|
||||
|
||||
# (pathspec) Colon separated paths in which Ansible will search for Terminal Plugins.
|
||||
;terminal_plugins={{ ANSIBLE_HOME ~ "/plugins/terminal:/usr/share/ansible/plugins/terminal" }}
|
||||
|
||||
# (pathspec) Colon separated paths in which Ansible will search for Jinja2 Test Plugins.
|
||||
;test_plugins={{ ANSIBLE_HOME ~ "/plugins/test:/usr/share/ansible/plugins/test" }}
|
||||
|
||||
# (integer) This is the default timeout for connection plugins to use.
|
||||
;timeout=10
|
||||
|
||||
# (string) Can be any connection plugin available to your ansible installation.
|
||||
# There is also a (DEPRECATED) special 'smart' option, that will toggle between 'ssh' and 'paramiko' depending on controller OS and ssh versions.
|
||||
;transport=ssh
|
||||
|
||||
# (boolean) When True, this causes ansible templating to fail steps that reference variable names that are likely typoed.
|
||||
# Otherwise, any '{{ template_expression }}' that contains undefined variables will be rendered in a template or ansible action line exactly as written.
|
||||
;error_on_undefined_vars=True
|
||||
|
||||
# (pathspec) Colon separated paths in which Ansible will search for Vars Plugins.
|
||||
;vars_plugins={{ ANSIBLE_HOME ~ "/plugins/vars:/usr/share/ansible/plugins/vars" }}
|
||||
|
||||
# (string) The vault_id to use for encrypting by default. If multiple vault_ids are provided, this specifies which to use for encryption. The --encrypt-vault-id cli option overrides the configured value.
|
||||
vault_encrypt_identity=michael
|
||||
|
||||
# (string) The label to use for the default vault id label in cases where a vault id label is not provided
|
||||
vault_identity=michael
|
||||
|
||||
# (list) A list of vault-ids to use by default. Equivalent to multiple --vault-id args. Vault-ids are tried in order.
|
||||
;vault_identity_list=
|
||||
|
||||
# (string) If true, decrypting vaults with a vault id will only try the password from the matching vault-id
|
||||
;vault_id_match=False
|
||||
|
||||
# (path) The vault password file to use. Equivalent to --vault-password-file or --vault-id
|
||||
# If executable, it will be run and the resulting stdout will be used as the password.
|
||||
vault_password_file=~/.local/share/scripts/vault-gopass-client
|
||||
|
||||
# (integer) Sets the default verbosity, equivalent to the number of ``-v`` passed in the command line.
|
||||
;verbosity=0
|
||||
|
||||
# (boolean) Toggle to control the showing of deprecation warnings
|
||||
;deprecation_warnings=True
|
||||
|
||||
# (boolean) Toggle to control showing warnings related to running devel
|
||||
;devel_warning=True
|
||||
|
||||
# (boolean) Normally ``ansible-playbook`` will print a header for each task that is run. These headers will contain the name: field from the task if you specified one. If you didn't then ``ansible-playbook`` uses the task's action to help you tell which task is presently running. Sometimes you run many of the same action and so you want more information about the task to differentiate it from others of the same action. If you set this variable to True in the config then ``ansible-playbook`` will also include the task's arguments in the header.
|
||||
# This setting defaults to False because there is a chance that you have sensitive values in your parameters and you do not want those to be printed.
|
||||
# If you set this to True you should be sure that you have secured your environment's stdout (no one can shoulder surf your screen and you aren't saving stdout to an insecure file) or made sure that all of your playbooks explicitly added the ``no_log: True`` parameter to tasks which have sensitive values See How do I keep secret data in my playbook? for more information.
|
||||
;display_args_to_stdout=False
|
||||
|
||||
# (boolean) Toggle to control displaying skipped task/host entries in a task in the default callback
|
||||
;display_skipped_hosts=True
|
||||
|
||||
# (string) Root docsite URL used to generate docs URLs in warning/error text; must be an absolute URL with valid scheme and trailing slash.
|
||||
;docsite_root_url=https://docs.ansible.com/ansible-core/
|
||||
|
||||
# (pathspec) Colon separated paths in which Ansible will search for Documentation Fragments Plugins.
|
||||
;doc_fragment_plugins={{ ANSIBLE_HOME ~ "/plugins/doc_fragments:/usr/share/ansible/plugins/doc_fragments" }}
|
||||
|
||||
# (string) By default Ansible will issue a warning when a duplicate dict key is encountered in YAML.
|
||||
# These warnings can be silenced by adjusting this setting to False.
|
||||
;duplicate_dict_key=warn
|
||||
|
||||
# (boolean) Whether or not to enable the task debugger, this previously was done as a strategy plugin.
|
||||
# Now all strategy plugins can inherit this behavior. The debugger defaults to activating when
|
||||
# a task is failed on unreachable. Use the debugger keyword for more flexibility.
|
||||
;enable_task_debugger=False
|
||||
|
||||
# (boolean) Toggle to allow missing handlers to become a warning instead of an error when notifying.
|
||||
;error_on_missing_handler=True
|
||||
|
||||
# (list) Which modules to run during a play's fact gathering stage, using the default of 'smart' will try to figure it out based on connection type.
|
||||
# If adding your own modules but you still want to use the default Ansible facts, you will want to include 'setup' or corresponding network module to the list (if you add 'smart', Ansible will also figure it out).
|
||||
# This does not affect explicit calls to the 'setup' module, but does always affect the 'gather_facts' action (implicit or explicit).
|
||||
;facts_modules=smart
|
||||
|
||||
# (boolean) Set this to "False" if you want to avoid host key checking by the underlying tools Ansible uses to connect to the host
|
||||
;host_key_checking=True
|
||||
|
||||
# (boolean) Facts are available inside the `ansible_facts` variable, this setting also pushes them as their own vars in the main namespace.
|
||||
# Unlike inside the `ansible_facts` dictionary, these will have an `ansible_` prefix.
|
||||
;inject_facts_as_vars=True
|
||||
|
||||
# (string) Path to the Python interpreter to be used for module execution on remote targets, or an automatic discovery mode. Supported discovery modes are ``auto`` (the default), ``auto_silent``, ``auto_legacy``, and ``auto_legacy_silent``. All discovery modes employ a lookup table to use the included system Python (on distributions known to include one), falling back to a fixed ordered list of well-known Python interpreter locations if a platform-specific default is not available. The fallback behavior will issue a warning that the interpreter should be set explicitly (since interpreters installed later may change which one is used). This warning behavior can be disabled by setting ``auto_silent`` or ``auto_legacy_silent``. The value of ``auto_legacy`` provides all the same behavior, but for backwards-compatibility with older Ansible releases that always defaulted to ``/usr/bin/python``, will use that interpreter if present.
|
||||
interpreter_python=auto_silent
|
||||
|
||||
# (boolean) If 'false', invalid attributes for a task will result in warnings instead of errors
|
||||
;invalid_task_attribute_failed=True
|
||||
|
||||
# (boolean) Toggle to control showing warnings related to running a Jinja version older than required for jinja2_native
|
||||
;jinja2_native_warning=True
|
||||
|
||||
# (boolean) By default Ansible will issue a warning when there are no hosts in the inventory.
|
||||
# These warnings can be silenced by adjusting this setting to False.
|
||||
;localhost_warning=True
|
||||
|
||||
# (int) Maximum size of files to be considered for diff display
|
||||
;max_diff_size=104448
|
||||
|
||||
# (list) List of extensions to ignore when looking for modules to load
|
||||
# This is for rejecting script and binary module fallback extensions
|
||||
;module_ignore_exts={{(REJECT_EXTS + ('.yaml', '.yml', '.ini'))}}
|
||||
|
||||
# (bool) Enables whether module responses are evaluated for containing non UTF-8 data
|
||||
# Disabling this may result in unexpected behavior
|
||||
# Only ansible-core should evaluate this configuration
|
||||
;module_strict_utf8_response=True
|
||||
|
||||
# (list) TODO: write it
|
||||
;network_group_modules=eos, nxos, ios, iosxr, junos, enos, ce, vyos, sros, dellos9, dellos10, dellos6, asa, aruba, aireos, bigip, ironware, onyx, netconf, exos, voss, slxos
|
||||
|
||||
# (boolean) Previously Ansible would only clear some of the plugin loading caches when loading new roles, this led to some behaviours in which a plugin loaded in previous plays would be unexpectedly 'sticky'. This setting allows to return to that behaviour.
|
||||
;old_plugin_cache_clear=False
|
||||
|
||||
# (path) A number of non-playbook CLIs have a ``--playbook-dir`` argument; this sets the default value for it.
|
||||
;playbook_dir=
|
||||
|
||||
# (string) This sets which playbook dirs will be used as a root to process vars plugins, which includes finding host_vars/group_vars
|
||||
;playbook_vars_root=top
|
||||
|
||||
# (path) A path to configuration for filtering which plugins installed on the system are allowed to be used.
|
||||
# See :ref:`plugin_filtering_config` for details of the filter file's format.
|
||||
# The default is /etc/ansible/plugin_filters.yml
|
||||
;plugin_filters_cfg=
|
||||
|
||||
# (string) Attempts to set RLIMIT_NOFILE soft limit to the specified value when executing Python modules (can speed up subprocess usage on Python 2.x. See https://bugs.python.org/issue11284). The value will be limited by the existing hard limit. Default value of 0 does not attempt to adjust existing system-defined limits.
|
||||
;python_module_rlimit_nofile=0
|
||||
|
||||
# (bool) This controls whether a failed Ansible playbook should create a .retry file.
|
||||
;retry_files_enabled=False
|
||||
|
||||
# (path) This sets the path in which Ansible will save .retry files when a playbook fails and retry files are enabled.
|
||||
# This file will be overwritten after each run with the list of failed hosts from all plays.
|
||||
;retry_files_save_path=
|
||||
|
||||
# (str) This setting can be used to optimize vars_plugin usage depending on user's inventory size and play selection.
|
||||
;run_vars_plugins=demand
|
||||
|
||||
# (bool) This adds the custom stats set via the set_stats plugin to the default output
|
||||
;show_custom_stats=False
|
||||
|
||||
# (string) Action to take when a module parameter value is converted to a string (this does not affect variables). For string parameters, values such as '1.00', "['a', 'b',]", and 'yes', 'y', etc. will be converted by the YAML parser unless fully quoted.
|
||||
# Valid options are 'error', 'warn', and 'ignore'.
|
||||
# Since 2.8, this option defaults to 'warn' but will change to 'error' in 2.12.
|
||||
;string_conversion_action=warn
|
||||
|
||||
# (boolean) Allows disabling of warnings related to potential issues on the system running ansible itself (not on the managed hosts)
|
||||
# These may include warnings about 3rd party packages or other conditions that should be resolved if possible.
|
||||
;system_warnings=True
|
||||
|
||||
# (boolean) This option defines whether the task debugger will be invoked on a failed task when ignore_errors=True is specified.
|
||||
# True specifies that the debugger will honor ignore_errors, False will not honor ignore_errors.
|
||||
;task_debugger_ignore_errors=True
|
||||
|
||||
# (integer) Set the maximum time (in seconds) that a task can run for.
|
||||
# If set to 0 (the default) there is no timeout.
|
||||
;task_timeout=0
|
||||
|
||||
# (string) Make ansible transform invalid characters in group names supplied by inventory sources.
|
||||
;force_valid_group_names=never
|
||||
|
||||
# (boolean) Toggles the use of persistence for connections.
|
||||
;use_persistent_connections=False
|
||||
|
||||
# (bool) A toggle to disable validating a collection's 'metadata' entry for a module_defaults action group. Metadata containing unexpected fields or value types will produce a warning when this is True.
|
||||
;validate_action_group_metadata=True
|
||||
|
||||
# (list) Accept list for variable plugins that require it.
|
||||
;vars_plugins_enabled=host_group_vars
|
||||
|
||||
# (list) Allows to change the group variable precedence merge order.
|
||||
;precedence=all_inventory, groups_inventory, all_plugins_inventory, all_plugins_play, groups_plugins_inventory, groups_plugins_play
|
||||
|
||||
# (string) The salt to use for the vault encryption. If it is not provided, a random salt will be used.
|
||||
;vault_encrypt_salt=
|
||||
|
||||
# (bool) Force 'verbose' option to use stderr instead of stdout
|
||||
;verbose_to_stderr=False
|
||||
|
||||
# (integer) For asynchronous tasks in Ansible (covered in Asynchronous Actions and Polling), this is how long, in seconds, to wait for the task spawned by Ansible to connect back to the named pipe used on Windows systems. The default is 5 seconds. This can be too low on slower systems, or systems under heavy load.
|
||||
# This is not the total time an async command can run for, but is a separate timeout to wait for an async command to start. The task will only start to be timed against its async_timeout once it has connected to the pipe, so the overall maximum duration the task can take will be extended by the amount specified here.
|
||||
;win_async_startup_timeout=5
|
||||
|
||||
# (list) Check all of these extensions when looking for 'variable' files which should be YAML or JSON or vaulted versions of these.
|
||||
# This affects vars_files, include_vars, inventory and vars plugins among others.
|
||||
;yaml_valid_extensions=.yml, .yaml, .json
|
||||
|
||||
# (bool) Toggle to control displaying markers when running in check mode.
|
||||
# The markers are C(DRY RUN) at the beginning and ending of playbook execution (when calling C(ansible-playbook --check)) and C(CHECK MODE) as a suffix at every play and task that is run in check mode.
|
||||
;check_mode_markers=False
|
||||
|
||||
# (bool) Toggle to control whether failed and unreachable tasks are displayed to STDERR (vs. STDOUT)
|
||||
;display_failed_stderr=False
|
||||
|
||||
# (bool) Toggle to control displaying 'ok' task/host results in a task
|
||||
;display_ok_hosts=True
|
||||
|
||||
# (bool) Configure the result format to be more readable
|
||||
# When O(result_format) is set to V(yaml) this option defaults to V(True), and defaults to V(False) when configured to V(json).
|
||||
# Setting this option to V(True) will force V(json) and V(yaml) results to always be pretty printed regardless of verbosity.
|
||||
# When set to V(True) and used with the V(yaml) result format, this option will modify module responses in an attempt to produce a more human friendly output at the expense of correctness, and should not be relied upon to aid in writing variable manipulations or conditionals. For correctness, set this option to V(False) or set O(result_format) to V(json).
|
||||
;callback_format_pretty=
|
||||
|
||||
# (str) Define the task result format used in the callback output.
|
||||
# These formats do not cause the callback to emit valid JSON or YAML formats.
|
||||
# The output contains these formats interspersed with other non-machine parsable data.
|
||||
;callback_result_format=json
|
||||
|
||||
# (bool) This adds output that shows when a task is started to execute for each host
|
||||
;show_per_host_start=False
|
||||
|
||||
# (bool) When a task fails, display the path to the file containing the failed task and the line number. This information is displayed automatically for every task when running with C(-vv) or greater verbosity.
|
||||
;show_task_path_on_failure=False
|
||||
|
||||
# (list) list of users to be expected to have admin privileges. This is used by the controller to determine how to share temporary files between the remote user and the become user.
|
||||
;admin_users=root, toor
|
||||
|
||||
# (string) Directory in which ansible will keep async job information
|
||||
;async_dir=~/.ansible_async
|
||||
|
||||
# (string) Checked when Ansible needs to execute a module as a different user.
|
||||
# If setfacl and chown both fail and do not let the different user access the module's files, they will be chgrp'd to this group.
|
||||
# In order for this to work, the remote_user and become_user must share a common group and this setting must be set to that group.
|
||||
;common_remote_group=
|
||||
|
||||
# (string) Temporary directory to use on targets when executing tasks.
|
||||
;remote_tmp=~/.ansible/tmp
|
||||
|
||||
# (list) List of valid system temporary directories on the managed machine for Ansible to validate O(remote_tmp) against, when specific permissions are needed. These must be world readable, writable, and executable. This list should only contain directories which the system administrator has pre-created with the proper ownership and permissions otherwise security issues can arise.
|
||||
# When O(remote_tmp) is required to be a system temp dir and it does not match any in the list, the first one from the list will be used instead.
|
||||
;system_tmpdirs=/var/tmp, /tmp
|
||||
|
||||
# (boolean) This makes the temporary files created on the machine world-readable and will issue a warning instead of failing the task.
|
||||
# It is useful when becoming an unprivileged user.
|
||||
;allow_world_readable_tmpfiles=False
|
||||
|
||||
|
||||
[privilege_escalation]
|
||||
# (boolean) Display an agnostic become prompt instead of displaying a prompt containing the command line supplied become method
|
||||
;agnostic_become_prompt=True
|
||||
|
||||
# (boolean) This setting controls if become is skipped when remote user and become user are the same. I.E root sudo to root.
|
||||
# If executable, it will be run and the resulting stdout will be used as the password.
|
||||
;become_allow_same_user=False
|
||||
|
||||
# (boolean) Toggles the use of privilege escalation, allowing you to 'become' another user after login.
|
||||
;become=False
|
||||
|
||||
# (boolean) Toggle to prompt for privilege escalation password.
|
||||
;become_ask_pass=False
|
||||
|
||||
# (string) executable to use for privilege escalation, otherwise Ansible will depend on PATH
|
||||
;become_exe=
|
||||
|
||||
# (string) Flags to pass to the privilege escalation executable.
|
||||
;become_flags=
|
||||
|
||||
# (string) Privilege escalation method to use when `become` is enabled.
|
||||
;become_method=sudo
|
||||
|
||||
# (string) The user your login/remote user 'becomes' when using privilege escalation, most systems will use 'root' when no user is specified.
|
||||
;become_user=root
|
||||
|
||||
|
||||
[persistent_connection]
|
||||
# (path) Specify where to look for the ansible-connection script. This location will be checked before searching $PATH.
|
||||
# If null, ansible will start with the same directory as the ansible script.
|
||||
;ansible_connection_path=
|
||||
|
||||
# (int) This controls the amount of time to wait for response from remote device before timing out persistent connection.
|
||||
;command_timeout=30
|
||||
|
||||
# (integer) This controls the retry timeout for persistent connection to connect to the local domain socket.
|
||||
;connect_retry_timeout=15
|
||||
|
||||
# (integer) This controls how long the persistent connection will remain idle before it is destroyed.
|
||||
;connect_timeout=30
|
||||
|
||||
# (path) Path to socket to be used by the connection persistence system.
|
||||
;control_path_dir={{ ANSIBLE_HOME ~ "/pc" }}
|
||||
|
||||
|
||||
[connection]
|
||||
# (boolean) This is a global option, each connection plugin can override either by having more specific options or not supporting pipelining at all.
|
||||
# Pipelining, if supported by the connection plugin, reduces the number of network operations required to execute a module on the remote server, by executing many Ansible modules without actual file transfer.
|
||||
# It can result in a very significant performance improvement when enabled.
|
||||
# However this conflicts with privilege escalation (become). For example, when using 'sudo:' operations you must first disable 'requiretty' in /etc/sudoers on all managed hosts, which is why it is disabled by default.
|
||||
# This setting will be disabled if ``ANSIBLE_KEEP_REMOTE_FILES`` is enabled.
|
||||
;pipelining=False
|
||||
|
||||
|
||||
[colors]
|
||||
# (string) Defines the color to use on 'Changed' task status
|
||||
;changed=yellow
|
||||
|
||||
# (string) Defines the default color to use for ansible-console
|
||||
;console_prompt=white
|
||||
|
||||
# (string) Defines the color to use when emitting debug messages
|
||||
;debug=dark gray
|
||||
|
||||
# (string) Defines the color to use when emitting deprecation messages
|
||||
;deprecate=purple
|
||||
|
||||
# (string) Defines the color to use when showing added lines in diffs
|
||||
;diff_add=green
|
||||
|
||||
# (string) Defines the color to use when showing diffs
|
||||
;diff_lines=cyan
|
||||
|
||||
# (string) Defines the color to use when showing removed lines in diffs
|
||||
;diff_remove=red
|
||||
|
||||
# (string) Defines the color to use when emitting error messages
|
||||
;error=red
|
||||
|
||||
# (string) Defines the color to use for highlighting
|
||||
;highlight=white
|
||||
|
||||
# (string) Defines the color to use when showing 'OK' task status
|
||||
;ok=green
|
||||
|
||||
# (string) Defines the color to use when showing 'Skipped' task status
|
||||
;skip=cyan
|
||||
|
||||
# (string) Defines the color to use on 'Unreachable' status
|
||||
;unreachable=bright red
|
||||
|
||||
# (string) Defines the color to use when emitting verbose messages. i.e those that show with '-v's.
|
||||
;verbose=blue
|
||||
|
||||
# (string) Defines the color to use when emitting warning messages
|
||||
;warn=bright purple
|
||||
|
||||
|
||||
[selinux]
|
||||
# (boolean) This setting causes libvirt to connect to lxc containers by passing --noseclabel to virsh. This is necessary when running on systems which do not have SELinux.
|
||||
;libvirt_lxc_noseclabel=False
|
||||
|
||||
# (list) Some filesystems do not support safe operations and/or return inconsistent errors, this setting makes Ansible 'tolerate' those in the list w/o causing fatal errors.
|
||||
# Data corruption may occur and writes are not always verified when a filesystem is in the list.
|
||||
;special_context_filesystems=fuse, nfs, vboxsf, ramfs, 9p, vfat
|
||||
|
||||
|
||||
[diff]
|
||||
# (bool) Configuration toggle to tell modules to show differences when in 'changed' status, equivalent to ``--diff``.
|
||||
;always=False
|
||||
|
||||
# (integer) How many lines of context to show when displaying the differences between files.
|
||||
;context=3
|
||||
|
||||
|
||||
[galaxy]
|
||||
# (path) The directory that stores cached responses from a Galaxy server.
|
||||
# This is only used by the ``ansible-galaxy collection install`` and ``download`` commands.
|
||||
# Cache files inside this dir will be ignored if they are world writable.
|
||||
cache_dir=~/.cache/ansible
|
||||
|
||||
# (bool) whether ``ansible-galaxy collection install`` should warn about ``--collections-path`` missing from configured :ref:`collections_paths`
|
||||
;collections_path_warning=True
|
||||
|
||||
# (path) Collection skeleton directory to use as a template for the ``init`` action in ``ansible-galaxy collection``, same as ``--collection-skeleton``.
|
||||
;collection_skeleton=
|
||||
|
||||
# (list) patterns of files to ignore inside a Galaxy collection skeleton directory
|
||||
;collection_skeleton_ignore=^.git$, ^.*/.git_keep$
|
||||
|
||||
# (bool) Disable GPG signature verification during collection installation.
|
||||
;disable_gpg_verify=False
|
||||
|
||||
# (bool) Some steps in ``ansible-galaxy`` display a progress wheel which can cause issues on certain displays or when outputting the stdout to a file.
|
||||
# This config option controls whether the display wheel is shown or not.
|
||||
# The default is to show the display wheel if stdout has a tty.
|
||||
;display_progress=
|
||||
|
||||
# (path) Configure the keyring used for GPG signature verification during collection installation and verification.
|
||||
;gpg_keyring=
|
||||
|
||||
# (boolean) If set to yes, ansible-galaxy will not validate TLS certificates. This can be useful for testing against a server with a self-signed certificate.
|
||||
;ignore_certs=
|
||||
|
||||
# (list) A list of GPG status codes to ignore during GPG signature verification. See L(https://github.com/gpg/gnupg/blob/master/doc/DETAILS#general-status-codes) for status code descriptions.
|
||||
# If fewer signatures successfully verify the collection than `GALAXY_REQUIRED_VALID_SIGNATURE_COUNT`, signature verification will fail even if all error codes are ignored.
|
||||
;ignore_signature_status_codes=
|
||||
|
||||
# (str) The number of signatures that must be successful during GPG signature verification while installing or verifying collections.
|
||||
# This should be a positive integer or all to indicate all signatures must successfully validate the collection.
|
||||
# Prepend + to the value to fail if no valid signatures are found for the collection.
|
||||
;required_valid_signature_count=1
|
||||
|
||||
# (path) Role skeleton directory to use as a template for the ``init`` action in ``ansible-galaxy``/``ansible-galaxy role``, same as ``--role-skeleton``.
|
||||
;role_skeleton=
|
||||
|
||||
# (list) patterns of files to ignore inside a Galaxy role or collection skeleton directory
|
||||
;role_skeleton_ignore=^.git$, ^.*/.git_keep$
|
||||
|
||||
# (string) URL to prepend when roles don't specify the full URI, assume they are referencing this server as the source.
|
||||
;server=https://galaxy.ansible.com
|
||||
|
||||
# (list) A list of Galaxy servers to use when installing a collection.
|
||||
# The value corresponds to the config ini header ``[galaxy_server.{{item}}]`` which defines the server details.
|
||||
# See :ref:`galaxy_server_config` for more details on how to define a Galaxy server.
|
||||
# The order of servers in this list is used to as the order in which a collection is resolved.
|
||||
# Setting this config option will ignore the :ref:`galaxy_server` config option.
|
||||
;server_list=
|
||||
|
||||
# (int) The default timeout for Galaxy API calls. Galaxy servers that don't configure a specific timeout will fall back to this value.
|
||||
;server_timeout=60
|
||||
|
||||
# (path) Local path to galaxy access token file
|
||||
;token_path={{ ANSIBLE_HOME ~ "/galaxy_token" }}
|
||||
|
||||
|
||||
[inventory]
|
||||
# (string) This setting changes the behaviour of mismatched host patterns, it allows you to force a fatal error, a warning or just ignore it
|
||||
;host_pattern_mismatch=warning
|
||||
|
||||
# (boolean) If 'true', it is a fatal error when any given inventory source cannot be successfully parsed by any available inventory plugin; otherwise, this situation only attracts a warning.
|
||||
|
||||
;any_unparsed_is_failed=False
|
||||
|
||||
# (bool) Toggle to turn on inventory caching.
|
||||
# This setting has been moved to the individual inventory plugins as a plugin option :ref:`inventory_plugins`.
|
||||
# The existing configuration settings are still accepted with the inventory plugin adding additional options from inventory configuration.
|
||||
# This message will be removed in 2.16.
|
||||
;cache=False
|
||||
|
||||
# (string) The plugin for caching inventory.
|
||||
# This setting has been moved to the individual inventory plugins as a plugin option :ref:`inventory_plugins`.
|
||||
# The existing configuration settings are still accepted with the inventory plugin adding additional options from inventory and fact cache configuration.
|
||||
# This message will be removed in 2.16.
|
||||
;cache_plugin=
|
||||
|
||||
# (string) The inventory cache connection.
|
||||
# This setting has been moved to the individual inventory plugins as a plugin option :ref:`inventory_plugins`.
|
||||
# The existing configuration settings are still accepted with the inventory plugin adding additional options from inventory and fact cache configuration.
|
||||
# This message will be removed in 2.16.
|
||||
;cache_connection=
|
||||
|
||||
# (string) The table prefix for the cache plugin.
|
||||
# This setting has been moved to the individual inventory plugins as a plugin option :ref:`inventory_plugins`.
|
||||
# The existing configuration settings are still accepted with the inventory plugin adding additional options from inventory and fact cache configuration.
|
||||
# This message will be removed in 2.16.
|
||||
;cache_prefix=ansible_inventory_
|
||||
|
||||
# (string) Expiration timeout for the inventory cache plugin data.
|
||||
# This setting has been moved to the individual inventory plugins as a plugin option :ref:`inventory_plugins`.
|
||||
# The existing configuration settings are still accepted with the inventory plugin adding additional options from inventory and fact cache configuration.
|
||||
# This message will be removed in 2.16.
|
||||
;cache_timeout=3600
|
||||
|
||||
# (list) List of enabled inventory plugins, it also determines the order in which they are used.
|
||||
;enable_plugins=host_list, script, auto, yaml, ini, toml
|
||||
|
||||
# (bool) Controls if ansible-inventory will accurately reflect Ansible's view into inventory or its optimized for exporting.
|
||||
;export=False
|
||||
|
||||
# (list) List of extensions to ignore when using a directory as an inventory source
|
||||
;ignore_extensions={{(REJECT_EXTS + ('.orig', '.ini', '.cfg', '.retry'))}}
|
||||
|
||||
# (list) List of patterns to ignore when using a directory as an inventory source
|
||||
;ignore_patterns=
|
||||
|
||||
# (bool) If 'true' it is a fatal error if every single potential inventory source fails to parse, otherwise this situation will only attract a warning.
|
||||
|
||||
;unparsed_is_failed=False
|
||||
|
||||
# (boolean) By default Ansible will issue a warning when no inventory was loaded and notes that it will use an implicit localhost-only inventory.
|
||||
# These warnings can be silenced by adjusting this setting to False.
|
||||
;inventory_unparsed_warning=True
|
||||
|
||||
|
||||
[netconf_connection]
|
||||
# (string) This variable is used to enable bastion/jump host with netconf connection. If set to True the bastion/jump host ssh settings should be present in ~/.ssh/config file, alternatively it can be set to custom ssh configuration file path to read the bastion/jump host settings.
|
||||
;ssh_config=
|
||||
|
||||
|
||||
[paramiko_connection]
|
||||
# (boolean) TODO: write it
|
||||
;host_key_auto_add=False
|
||||
|
||||
# (boolean) TODO: write it
|
||||
;look_for_keys=True
|
||||
|
||||
# (float) Configures, in seconds, the amount of time to wait for the SSH banner to be presented. This option is supported by paramiko version 1.15.0 or newer.
|
||||
;banner_timeout=30
|
||||
|
||||
# (boolean) Set this to "False" if you want to avoid host key checking by the underlying tools Ansible uses to connect to the host
|
||||
;host_key_checking=True
|
||||
|
||||
# (int) Remote port to connect to.
|
||||
;remote_port=22
|
||||
|
||||
# (string) Path to private key file to use for authentication.
|
||||
;private_key_file=
|
||||
|
||||
# (string) Proxy information for running the connection via a jumphost
|
||||
# Also this plugin will scan 'ssh_args', 'ssh_extra_args' and 'ssh_common_args' from the 'ssh' plugin settings for proxy information if set.
|
||||
;proxy_command=
|
||||
|
||||
# (boolean) SUDO usually requires a PTY, True to give a PTY and False to not give a PTY.
|
||||
;pty=True
|
||||
|
||||
# (boolean) Save the host keys to a file
|
||||
;record_host_keys=True
|
||||
|
||||
# (string) User to login/authenticate as
|
||||
# Can be set from the CLI via the C(--user) or C(-u) options.
|
||||
;remote_user=
|
||||
|
||||
# (int) Number of seconds until the plugin gives up on failing to establish a TCP connection.
|
||||
;timeout=10
|
||||
|
||||
# (boolean) Whether or not to enable RSA SHA2 algorithms for pubkeys and hostkeys
|
||||
# On paramiko versions older than 2.9, this only affects hostkeys
|
||||
# For behavior matching paramiko<2.9 set this to V(False)
|
||||
;use_rsa_sha2_algorithms=True
|
||||
|
||||
|
||||
[jinja2]
|
||||
# (list) This list of filters avoids 'type conversion' when templating variables
|
||||
# Useful when you want to avoid conversion into lists or dictionaries for JSON strings, for example.
|
||||
;dont_type_filters=string, to_json, to_nice_json, to_yaml, to_nice_yaml, ppretty, json
|
||||
|
||||
|
||||
[tags]
|
||||
# (list) default list of tags to run in your plays, Skip Tags has precedence.
|
||||
;run=
|
||||
|
||||
# (list) default list of tags to skip in your plays, has precedence over Run Tags
|
||||
;skip=
|
||||
|
||||
|
||||
[runas_become_plugin]
|
||||
# (string) Options to pass to runas, a space delimited list of k=v pairs
|
||||
;flags=
|
||||
|
||||
# (string) password
|
||||
;password=
|
||||
|
||||
# (string) User you 'become' to execute the task
|
||||
;user=
|
||||
|
||||
|
||||
[su_become_plugin]
|
||||
# (string) Su executable
|
||||
;executable=su
|
||||
|
||||
# (string) Options to pass to su
|
||||
;flags=
|
||||
|
||||
# (string) Password to pass to su
|
||||
;password=
|
||||
|
||||
# (string) User you 'become' to execute the task
|
||||
;user=root
|
||||
|
||||
# (list) List of localized strings to match for prompt detection
|
||||
# If empty we'll use the built in one
|
||||
# Do NOT add a colon (:) to your custom entries. Ansible adds a colon at the end of each prompt; if you add another one in your string, your prompt will fail with a "Timeout" error.
|
||||
;localized_prompts=
|
||||
|
||||
|
||||
[sudo_become_plugin]
|
||||
# (string) Sudo executable
|
||||
;executable=sudo
|
||||
|
||||
# (string) Options to pass to sudo
|
||||
;flags=-H -S -n
|
||||
|
||||
# (string) Password to pass to sudo
|
||||
;password=
|
||||
|
||||
# (string) User you 'become' to execute the task
|
||||
;user=root
|
||||
|
||||
|
||||
[callback_tree]
|
||||
# (path) directory that will contain the per host JSON files. Also set by the C(--tree) option when using adhoc.
|
||||
;directory=~/.ansible/tree
|
||||
|
||||
|
||||
[ssh_connection]
|
||||
# (string) Only used in parsing ProxyCommand for use in this plugin.
|
||||
;ssh_args=
|
||||
|
||||
# (string) Only used in parsing ProxyCommand for use in this plugin.
|
||||
;ssh_common_args=
|
||||
|
||||
# (string) Only used in parsing ProxyCommand for use in this plugin.
|
||||
;ssh_extra_args=
|
||||
|
||||
# (string) This is the location to save SSH's ControlPath sockets, it uses SSH's variable substitution.
|
||||
# Since 2.3, if null (default), ansible will generate a unique hash. Use ``%(directory)s`` to indicate where to use the control dir path setting.
|
||||
# Before 2.3 it defaulted to ``control_path=%(directory)s/ansible-ssh-%%h-%%p-%%r``.
|
||||
# Be aware that this setting is ignored if C(-o ControlPath) is set in ssh args.
|
||||
;control_path=
|
||||
|
||||
# (string) This sets the directory to use for ssh control path if the control path setting is null.
|
||||
# Also, provides the ``%(directory)s`` variable for the control path setting.
|
||||
;control_path_dir=~/.ansible/cp
|
||||
|
||||
# (boolean) Determines if SSH should check host keys.
|
||||
;host_key_checking=True
|
||||
|
||||
# (boolean) Pipelining reduces the number of connection operations required to execute a module on the remote server, by executing many Ansible modules without actual file transfers.
|
||||
# This can result in a very significant performance improvement when enabled.
|
||||
# However this can conflict with privilege escalation (become). For example, when using sudo operations you must first disable 'requiretty' in the sudoers file for the target hosts, which is why this feature is disabled by default.
|
||||
;pipelining=False
|
||||
|
||||
# (string) PKCS11 SmartCard provider such as opensc, example: /usr/local/lib/opensc-pkcs11.so
|
||||
# Requires sshpass version 1.06+, sshpass must support the -P option.
|
||||
;pkcs11_provider=
|
||||
|
||||
# (integer) Number of attempts to connect.
|
||||
# Ansible retries connections only if it gets an SSH error with a return code of 255.
|
||||
# Any errors with return codes other than 255 indicate an issue with program execution.
|
||||
;retries=0
|
||||
|
||||
# (string) This defines the location of the scp binary. It defaults to V(scp) which will use the first binary available in $PATH.
|
||||
;scp_executable=scp
|
||||
|
||||
# (string) Extra exclusive to the C(scp) CLI
|
||||
;scp_extra_args=
|
||||
|
||||
# (string) Preferred method to use when transferring files over SSH.
|
||||
# When set to V(smart), Ansible will try them until one succeeds or they all fail.
|
||||
# If set to V(True), it will force 'scp', if V(False) it will use 'sftp'.
|
||||
# For OpenSSH >=9.0 you must add an additional option to enable scp (C(scp_extra_args="-O"))
|
||||
# This setting will overridden by O(ssh_transfer_method) if set.
|
||||
;scp_if_ssh=smart
|
||||
|
||||
# (bool) TODO: write it
|
||||
;sftp_batch_mode=True
|
||||
|
||||
# (string) This defines the location of the sftp binary. It defaults to V(sftp) which will use the first binary available in $PATH.
|
||||
;sftp_executable=sftp
|
||||
|
||||
# (string) Extra exclusive to the C(sftp) CLI
|
||||
;sftp_extra_args=
|
||||
|
||||
# (string) This defines the location of the SSH binary. It defaults to V(ssh) which will use the first SSH binary available in $PATH.
|
||||
# This option is usually not required, it might be useful when access to system SSH is restricted, or when using SSH wrappers to connect to remote hosts.
|
||||
;ssh_executable=ssh
|
||||
|
||||
# (string) Preferred method to use when transferring files over ssh
|
||||
# Setting to 'smart' (default) will try them in order, until one succeeds or they all fail
|
||||
# For OpenSSH >=9.0 you must add an additional option to enable scp (scp_extra_args="-O")
|
||||
# Using 'piped' creates an ssh pipe with C(dd) on either side to copy the data
|
||||
;transfer_method=
|
||||
|
||||
# (string) Password prompt that sshpass should search for. Supported by sshpass 1.06 and up.
|
||||
# Defaults to C(Enter PIN for) when pkcs11_provider is set.
|
||||
;sshpass_prompt=
|
||||
|
||||
# (integer) This is the default amount of time we will wait while establishing an SSH connection.
|
||||
# It also controls how long we can wait to access reading the connection once established (select on the socket).
|
||||
;timeout=10
|
||||
|
||||
# (bool) add -tt to ssh commands to force tty allocation.
|
||||
;usetty=True
|
||||
|
||||
|
||||
[winrm]
|
||||
# (list) A list of environment variables to pass through to C(kinit) when getting the Kerberos authentication ticket.
|
||||
# By default no environment variables are passed through and C(kinit) is run with a blank slate.
|
||||
# The environment variable C(KRB5CCNAME) cannot be specified here as it's used to store the temp Kerberos ticket used by WinRM.
|
||||
;kinit_env_vars=
|
||||
|
||||
|
||||
[inventory_plugins]
|
||||
# (bool) Merge extra vars into the available variables for composition (highest precedence).
|
||||
;use_extra_vars=False
|
||||
|
||||
|
||||
[inventory_plugin_script]
|
||||
# (boolean) Toggle display of stderr even when script was successful
|
||||
;always_show_stderr=True
|
||||
|
||||
|
||||
[inventory_plugin_yaml]
|
||||
# (list) list of 'valid' extensions for files containing YAML
|
||||
;yaml_valid_extensions=.yaml, .yml, .json
|
||||
|
||||
|
||||
[url_lookup]
|
||||
# (string) String of file system path to CA cert bundle to use
|
||||
;ca_path=
|
||||
|
||||
# (list) SSL/TLS Ciphers to use for the request
|
||||
# When a list is provided, all ciphers are joined in order with C(:)
|
||||
# See the L(OpenSSL Cipher List Format,https://www.openssl.org/docs/manmaster/man1/openssl-ciphers.html#CIPHER-LIST-FORMAT) for more details.
|
||||
# The available ciphers is dependent on the Python and OpenSSL/LibreSSL versions
|
||||
;ciphers=
|
||||
|
||||
# (string) String of urllib2, all/yes, safe, none to determine how redirects are followed, see RedirectHandlerFactory for more information
|
||||
;follow_redirects=urllib2
|
||||
|
||||
# (boolean) Whether or not to set "cache-control" header with value "no-cache"
|
||||
;force=False
|
||||
|
||||
# (boolean) Force basic authentication
|
||||
;force_basic_auth=False
|
||||
|
||||
# (string) User-Agent to use in the request. The default was changed in 2.11 to V(ansible-httpget).
|
||||
;agent=ansible-httpget
|
||||
|
||||
# (float) How long to wait for the server to send data before giving up
|
||||
;timeout=10
|
||||
|
||||
# (string) String of file system path to unix socket file to use when establishing connection to the provided url
|
||||
;unix_socket=
|
||||
|
||||
# (list) A list of headers to not attach on a redirected request
|
||||
;unredirected_headers=
|
||||
|
||||
# (boolean) Use GSSAPI handler of requests
|
||||
# As of Ansible 2.11, GSSAPI credentials can be specified with O(username) and O(password).
|
||||
;use_gssapi=False
|
||||
|
||||
# (boolean) Determining whether to use credentials from ``~/.netrc`` file
|
||||
# By default .netrc is used with Basic authentication headers
|
||||
# When set to False, .netrc credentials are ignored
|
||||
;use_netrc=True
|
||||
|
||||
|
||||
[powershell]
|
||||
# (string) Directory in which ansible will keep async job information.
|
||||
# Before Ansible 2.8, this was set to C(remote_tmp + "\.ansible_async").
|
||||
;async_dir=%USERPROFILE%\.ansible_async
|
||||
|
||||
# (string) Temporary directory to use on targets when copying files to the host.
|
||||
;remote_tmp=%TEMP%
|
||||
|
||||
|
||||
[vars_host_group_vars]
|
||||
# (str) Control when this vars plugin may be executed.
|
||||
# Setting this option to V(all) will run the vars plugin after importing inventory and whenever it is demanded by a task.
|
||||
# Setting this option to V(task) will only run the vars plugin whenever it is demanded by a task.
|
||||
# Setting this option to V(inventory) will only run the vars plugin after parsing inventory.
|
||||
# If this option is omitted, the global C(RUN_VARS_PLUGINS) configuration is used to determine when to execute the vars plugin.
|
||||
;stage=
|
||||
@@ -12,5 +12,6 @@ imports:
|
||||
- "./email.yml"
|
||||
- "./housecallpro.yml"
|
||||
- "./links.yml"
|
||||
- './symbols.yml'
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,14 @@
|
||||
## Actually All Emojis
|
||||
|
||||
An up-to-date package for [espanso](https://espanso.org/) which provides triggers for all emojis (`v14.0`). Emojis and codes fetched from [Unicode.org](https://unicode.org/emoji/charts/full-emoji-list.html)
|
||||
|
||||
### Usage
|
||||
|
||||
To use this package, just type the name of the emoji between two colons. For example, to use the `smile` emoji 😄, you can type: `:smile:`
|
||||
|
||||
A full list of emojis and their CLDR Short Names can be found [here](https://unicode.org/emoji/charts/full-emoji-list.html)
|
||||
|
||||
**Note**: There are two options for this package. One with spaces between words, and one with underscores. This version uses _spaces_
|
||||
For example `:kissing face:`
|
||||
|
||||
To install the version with underscores use `actually-all-emojis`
|
||||
@@ -0,0 +1,7 @@
|
||||
author: Jobie Wong
|
||||
description: An updated package providing all v.14 emojis - fetched from unicode.org
|
||||
name: actually-all-emojis-spaces
|
||||
title: Actually All Emojis (Spaces)
|
||||
version: 0.1.0
|
||||
homepage: "https://github.com/jobiewong/espanso-emojis"
|
||||
tags: ["emoji", "chat"]
|
||||
@@ -0,0 +1,2 @@
|
||||
---
|
||||
hub
|
||||
File diff suppressed because it is too large
Load Diff
9
espanso/espanso/match/symbols.yml
Normal file
9
espanso/espanso/match/symbols.yml
Normal file
@@ -0,0 +1,9 @@
|
||||
matches:
|
||||
- trigger: ':deg:'
|
||||
replace: '°'
|
||||
- trigger: ':cmd:'
|
||||
replace: '⌘'
|
||||
- trigger: ':shift:'
|
||||
replace: '⇧'
|
||||
- trigger: ':noteq:'
|
||||
replace: '≠'
|
||||
11
facebook-bot/README.md
Normal file
11
facebook-bot/README.md
Normal file
@@ -0,0 +1,11 @@
|
||||
# Facebook Bot Instructions
|
||||
|
||||
This is used to programmaticly make posts to Facebook.
|
||||
|
||||
## References
|
||||
|
||||
- https://developers.facebook.com/docs/graph-api/reference/v18.0/group/feed
|
||||
- https://developers.facebook.com/tools/explorer?method=GET&path=896542914538874&version=v18.0
|
||||
|
||||
An access token with `publish_to_groups` permissions is required to post to
|
||||
groups.
|
||||
32
ghostty/config
Normal file
32
ghostty/config
Normal file
@@ -0,0 +1,32 @@
|
||||
theme = Catppuccin Mocha
|
||||
|
||||
confirm-close-surface = false
|
||||
|
||||
font-size = 18
|
||||
font-thicken = false
|
||||
|
||||
window-save-state = always
|
||||
|
||||
# NOTE: This setting removes tabs, rounded borders, and window controls.
|
||||
# Also makes some of the below macos-titlebar-* things not matter, but
|
||||
# will take affect if this is set to true.
|
||||
window-decoration = true
|
||||
|
||||
copy-on-select = true
|
||||
quit-after-last-window-closed = true
|
||||
|
||||
macos-auto-secure-input = true
|
||||
macos-non-native-fullscreen = visible-menu
|
||||
macos-titlebar-style = transparent
|
||||
macos-titlebar-proxy-icon = hidden
|
||||
macos-icon = custom-style
|
||||
|
||||
keybind = super+shift+t=toggle_quick_terminal
|
||||
|
||||
# Splits
|
||||
keybind = super+j=goto_split:down
|
||||
keybind = super+h=goto_split:left
|
||||
keybind = super+k=goto_split:up
|
||||
keybind = super+l=goto_split:right
|
||||
keybind = super+shift+j=goto_split:previous
|
||||
keybind = super+shift+k=goto_split:next
|
||||
@@ -1,14 +1,67 @@
|
||||
[core]
|
||||
excludesfile = ~/.config/git/gitignore
|
||||
ignorecasse = false
|
||||
|
||||
[init]
|
||||
defaultBranch = main
|
||||
|
||||
[user]
|
||||
name = Michael Housh
|
||||
email = mhoush@houshhomeenergy.com
|
||||
email = michael@mhoush.com
|
||||
signingkey = 0x90D3EB6274D5B7CF
|
||||
|
||||
[commit]
|
||||
gpgsign = true
|
||||
|
||||
[tag]
|
||||
gpgSign = true
|
||||
sort = version:refname
|
||||
|
||||
[color]
|
||||
ui = true
|
||||
|
||||
[credential]
|
||||
helper = gopass
|
||||
|
||||
[credential "https://git.housh.dev"]
|
||||
username = michael
|
||||
|
||||
[push]
|
||||
default = simple
|
||||
autoSetupRemote = true
|
||||
followTags = true
|
||||
|
||||
[fetch]
|
||||
prune = true
|
||||
#pruneTags = true
|
||||
#all = true
|
||||
|
||||
[pull]
|
||||
rebase = true
|
||||
|
||||
[filter "lfs"]
|
||||
clean = git-lfs clean -- %f
|
||||
smudge = git-lfs smudge -- %f
|
||||
process = git-lfs filter-process
|
||||
required = true
|
||||
clean = git-lfs clean -- %f
|
||||
smudge = git-lfs smudge -- %f
|
||||
|
||||
[column]
|
||||
ui = auto
|
||||
|
||||
[branch]
|
||||
sort = committerdate
|
||||
|
||||
[diff]
|
||||
algorithm = histogram
|
||||
colorMoved = plain
|
||||
mnemonicPrefix = true
|
||||
renames = true
|
||||
|
||||
[rerere]
|
||||
enabled = true
|
||||
autoupdate = true
|
||||
|
||||
[rebase]
|
||||
autoSquash = true
|
||||
autoStash = true
|
||||
updateRefs = true
|
||||
|
||||
13
gopass/config
Normal file
13
gopass/config
Normal file
@@ -0,0 +1,13 @@
|
||||
[mounts]
|
||||
path = /Users/michael/.local/share/password-store
|
||||
[recipients]
|
||||
hash = b73e3c328517ad0b8a03ab1ba113e117595d40ae355f1e42984a8f8144bafc4a
|
||||
[mounts "servers"]
|
||||
[recipients "homelab"]
|
||||
hash = e4e019251bcd688aa1691b6b4363a9798593f4aed464afb63d11149ea771b4e0
|
||||
[mounts "homelab"]
|
||||
[recipients "new-test"]
|
||||
hash = 3199e2acda60d6f17a15882ba11749feda9775cf848554c8f04f12bc84521fd3
|
||||
[mounts "new-test"]
|
||||
[recipients "servers"]
|
||||
hash = e4e019251bcd688aa1691b6b4363a9798593f4aed464afb63d11149ea771b4e0
|
||||
32
gpg-tui/gpg-tui.toml
Normal file
32
gpg-tui/gpg-tui.toml
Normal file
@@ -0,0 +1,32 @@
|
||||
[general]
|
||||
splash = false
|
||||
tick_rate = 250
|
||||
color = "gray"
|
||||
style = "colored"
|
||||
file_explorer = "xplr"
|
||||
detail_level = "minimum"
|
||||
# log_file = "test"
|
||||
# key_bindings = [
|
||||
# { keys = [ "?" ], command = ":help" },
|
||||
# { keys = [ "o" ], command = ":options" },
|
||||
# { keys = [ "n" ], command = ":normal" },
|
||||
# { keys = [ "v" ], command = ":visual" },
|
||||
# { keys = [ "c" ], command = ":copy" },
|
||||
# { keys = [ "p", "C-v" ], command = ":paste" },
|
||||
# { keys = [ "x" ], command = ":export" },
|
||||
# { keys = [ "s" ], command = ":set prompt :sign" },
|
||||
# { keys = [ "e" ], command = ":set prompt :edit" },
|
||||
# { keys = [ "i" ], command = ":set prompt :import"},
|
||||
# { keys = [ "f" ], command = ":set prompt :receive" },
|
||||
# { keys = [ "u" ], command = ":set prompt :send" },
|
||||
# { keys = [ "g" ], command = ":generate" },
|
||||
# { keys = [ "d", "backspace" ], command = ":delete" },
|
||||
# { keys = [ "C-r" ], command = ":refresh" },
|
||||
# ]
|
||||
|
||||
[gpg]
|
||||
armor = false
|
||||
homedir = "~/.gnupg"
|
||||
outdir = "~/.gnupg/out"
|
||||
# outfile = "{type}_{query}.{ext}"
|
||||
# default_key = "0xA1B2C3XY"
|
||||
16
gpg/LaunchAgents/gnupg.gpg-agent-symlink.plist
Normal file
16
gpg/LaunchAgents/gnupg.gpg-agent-symlink.plist
Normal file
@@ -0,0 +1,16 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/ProperyList-1.0/dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>Label</key>
|
||||
<string>net.jms1.gpg-agent-symlink</string>
|
||||
<key>ProgramArguments</key>
|
||||
<array>
|
||||
<string>/bin/sh</string>
|
||||
<string>-c</string>
|
||||
<string>/bin/ln -sf $HOME/.gnupg/S.gpg-agent.ssh $SSH_AUTH_SOCK</string>
|
||||
</array>
|
||||
<key>RunAtLoad</key>
|
||||
<true/>
|
||||
</dict>
|
||||
</plist>
|
||||
17
gpg/LaunchAgents/gnupg.gpg-agent.plist
Normal file
17
gpg/LaunchAgents/gnupg.gpg-agent.plist
Normal file
@@ -0,0 +1,17 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>Label</key>
|
||||
<string>net.jms1.gpg-agent</string>
|
||||
<key>RunAtLoad</key>
|
||||
<true/>
|
||||
<key>KeepAlive</key>
|
||||
<false/>
|
||||
<key>ProgramArguments</key>
|
||||
<array>
|
||||
<string>/usr/local/MacGPG2/bin/gpg-connect-agent</string>
|
||||
<string>/bye</string>
|
||||
</array>
|
||||
</dict>
|
||||
</plist>
|
||||
13
gpg/gpg-agent.conf
Normal file
13
gpg/gpg-agent.conf
Normal file
@@ -0,0 +1,13 @@
|
||||
# https://github.com/drduh/config/blob/main/gpg-agent.conf
|
||||
# https://www.gnupg.org/documentation/manuals/gnupg/Agent-Options.html
|
||||
enable-ssh-support
|
||||
ttyname $GPG_TTY
|
||||
default-cache-ttl 60
|
||||
max-cache-ttl 120
|
||||
#pinentry-program /usr/bin/pinentry-curses
|
||||
#pinentry-program /usr/bin/pinentry-gnome3
|
||||
#pinentry-program /usr/bin/pinentry-tty
|
||||
#pinentry-program /usr/bin/pinentry-x11
|
||||
#pinentry-program /usr/local/bin/pinentry-curses
|
||||
|
||||
pinentry-program /opt/homebrew/bin/pinentry-mac
|
||||
70
gpg/gpg.conf
Normal file
70
gpg/gpg.conf
Normal file
@@ -0,0 +1,70 @@
|
||||
# https://github.com/drduh/config/blob/main/gpg.conf
|
||||
# https://www.gnupg.org/documentation/manuals/gnupg/GPG-Options.html
|
||||
# 'gpg --version' to get capabilities
|
||||
# Use AES256, 192, or 128 as cipher
|
||||
personal-cipher-preferences AES256 AES192 AES
|
||||
# Use SHA512, 384, or 256 as digest
|
||||
personal-digest-preferences SHA512 SHA384 SHA256
|
||||
# Use ZLIB, BZIP2, ZIP, or no compression
|
||||
personal-compress-preferences ZLIB BZIP2 ZIP Uncompressed
|
||||
# Default preferences for new keys
|
||||
default-preference-list SHA512 SHA384 SHA256 AES256 AES192 AES ZLIB BZIP2 ZIP Uncompressed
|
||||
# SHA512 as digest to sign keys
|
||||
cert-digest-algo SHA512
|
||||
# SHA512 as digest for symmetric ops
|
||||
s2k-digest-algo SHA512
|
||||
# AES256 as cipher for symmetric ops
|
||||
s2k-cipher-algo AES256
|
||||
# UTF-8 support for compatibility
|
||||
charset utf-8
|
||||
# No comments in messages
|
||||
no-comments
|
||||
# No version in output
|
||||
no-emit-version
|
||||
# Disable banner
|
||||
no-greeting
|
||||
# Long key id format
|
||||
keyid-format 0xlong
|
||||
# Display UID validity
|
||||
list-options show-uid-validity
|
||||
verify-options show-uid-validity
|
||||
# Display all keys and their fingerprints
|
||||
with-fingerprint
|
||||
# Display key origins and updates
|
||||
#with-key-origin
|
||||
# Cross-certify subkeys are present and valid
|
||||
require-cross-certification
|
||||
# Enforce memory locking to avoid accidentally swapping GPG memory to disk
|
||||
require-secmem
|
||||
# Disable caching of passphrase for symmetrical ops
|
||||
no-symkey-cache
|
||||
# Output ASCII instead of binary
|
||||
armor
|
||||
# Enable smartcard
|
||||
use-agent
|
||||
# Disable recipient key ID in messages (breaks Mailvelope)
|
||||
throw-keyids
|
||||
# Default key ID to use (helpful with throw-keyids)
|
||||
#default-key 0xFF00000000000001
|
||||
#trusted-key 0xFF00000000000001
|
||||
# Group recipient keys (preferred ID last)
|
||||
#group keygroup = 0xFF00000000000003 0xFF00000000000002 0xFF00000000000001
|
||||
# Keyserver URL
|
||||
#keyserver hkps://keys.openpgp.org
|
||||
#keyserver hkps://keys.mailvelope.com
|
||||
#keyserver hkps://keyserver.ubuntu.com:443
|
||||
#keyserver hkps://pgpkeys.eu
|
||||
#keyserver hkps://pgp.circl.lu
|
||||
#keyserver hkp://zkaan2xfbuxia2wpf7ofnkbz6r5zdbbvxbunvp5g2iebopbfc4iqmbad.onion
|
||||
# Keyserver proxy
|
||||
#keyserver-options http-proxy=http://127.0.0.1:8118
|
||||
#keyserver-options http-proxy=socks5-hostname://127.0.0.1:9050
|
||||
# Enable key retrieval using WKD and DANE
|
||||
#auto-key-locate wkd,dane,local
|
||||
#auto-key-retrieve
|
||||
# Trust delegation mechanism
|
||||
#trust-model tofu+pgp
|
||||
# Show expired subkeys
|
||||
#list-options show-unusable-subkeys
|
||||
# Verbose output
|
||||
#verbose
|
||||
71
hpa/config.toml
Normal file
71
hpa/config.toml
Normal file
@@ -0,0 +1,71 @@
|
||||
# NOTE:
|
||||
# Configuration settings for the `hpa` command line tool.
|
||||
# You can delete settings that are not applicable to your use case.
|
||||
|
||||
# Default arguments / options that get passed into `ansible-playbook` commands.
|
||||
# WARNING: Do not put arguments / options that contain spaces in the same string,
|
||||
# they should be separate strings, for example do not do something like
|
||||
# ['--tags debug'], instead use ['--tags', 'debug'].
|
||||
#
|
||||
args = []
|
||||
|
||||
# Set to true if you want to pass the vault args to `ansible-playbook` commands.
|
||||
useVaultArgs = true
|
||||
|
||||
# NOTE:
|
||||
# Configuration for running the generate command(s). This allows custimizations
|
||||
# to the files that get used to generate the final output (generally a pdf).
|
||||
# See `pandoc --help`. Below are the defaults that get used, which only need
|
||||
# adjusted if your template does not follow the default template design or if
|
||||
# you add extra files to your template that need to be included in the final
|
||||
# output. Also be aware that any of the files specified in the `files` or
|
||||
# `includeInHeader` options, need to be inside the `buildDirectory` when generating
|
||||
# the final output file.
|
||||
|
||||
# [generate]
|
||||
# this relative to the project directory.
|
||||
# buildDirectory = '.build'
|
||||
# pdfEngine = 'xelatex'
|
||||
# includeInHeader = [
|
||||
# 'head.tex',
|
||||
# 'footer.tex'
|
||||
# ]
|
||||
# files = [
|
||||
# 'Report.md',
|
||||
# 'Definitions.md'
|
||||
# ]
|
||||
# outputFileName = 'Report'
|
||||
|
||||
# NOTE:
|
||||
# These are more for local development of the ansible playbook and should not be needed
|
||||
# in most cases. Uncomment the lines if you want to customize the playbook and use it
|
||||
# instead of the provided / default playbook.
|
||||
|
||||
#[playbook]
|
||||
#directory = '/path/to/local/playbook-directory'
|
||||
#inventory = '/path/to/local/inventory.ini'
|
||||
#version = 'main'
|
||||
|
||||
# NOTE:
|
||||
# These are to declare where your template files are either on your local system or
|
||||
# a remote git repository.
|
||||
[template]
|
||||
# The directory path on your local system to the template files.
|
||||
directory = '/Volumes/Bucket/Repos/hhe-consult-template'
|
||||
# The url to a git repository that contains your template files.
|
||||
url = 'https://git.housh.dev/hhe/consult-template.git'
|
||||
|
||||
# The version, tag, branch, or sha of the template files to clone from the remote
|
||||
# template repository. In general it is best practice to use a version instead of a
|
||||
# branch.
|
||||
version = 'main'
|
||||
|
||||
# NOTE:
|
||||
# Holds settings for `ansible-vault` commands.
|
||||
[vault]
|
||||
# Arguments to pass to commands that use `ansible-vault`, such as encrypting or decrypting
|
||||
# files.
|
||||
args = [ '--vault-id=consults@$SCRIPTS/vault-gopass-client' ]
|
||||
|
||||
# An id to use when encrypting `ansible-vault` files.
|
||||
encryptId = 'consults'
|
||||
202
karabiner/automatic_backups/karabiner_20240417.json
Normal file
202
karabiner/automatic_backups/karabiner_20240417.json
Normal file
@@ -0,0 +1,202 @@
|
||||
{
|
||||
"global": {
|
||||
"ask_for_confirmation_before_quitting": true,
|
||||
"check_for_updates_on_startup": true,
|
||||
"show_in_menu_bar": true,
|
||||
"show_profile_name_in_menu_bar": false,
|
||||
"unsafe_ui": false
|
||||
},
|
||||
"profiles": [
|
||||
{
|
||||
"complex_modifications": {
|
||||
"parameters": {
|
||||
"basic.simultaneous_threshold_milliseconds": 50,
|
||||
"basic.to_delayed_action_delay_milliseconds": 500,
|
||||
"basic.to_if_alone_timeout_milliseconds": 1000,
|
||||
"basic.to_if_held_down_threshold_milliseconds": 500,
|
||||
"mouse_motion_to_scroll.speed": 100
|
||||
},
|
||||
"rules": []
|
||||
},
|
||||
"devices": [
|
||||
{
|
||||
"disable_built_in_keyboard_if_exists": false,
|
||||
"fn_function_keys": [],
|
||||
"game_pad_swap_sticks": false,
|
||||
"identifiers": {
|
||||
"is_game_pad": false,
|
||||
"is_keyboard": true,
|
||||
"is_pointing_device": false,
|
||||
"product_id": 834,
|
||||
"vendor_id": 1452
|
||||
},
|
||||
"ignore": false,
|
||||
"manipulate_caps_lock_led": true,
|
||||
"mouse_flip_horizontal_wheel": false,
|
||||
"mouse_flip_vertical_wheel": false,
|
||||
"mouse_flip_x": false,
|
||||
"mouse_flip_y": false,
|
||||
"mouse_swap_wheels": false,
|
||||
"mouse_swap_xy": false,
|
||||
"simple_modifications": [],
|
||||
"treat_as_built_in_keyboard": false
|
||||
},
|
||||
{
|
||||
"disable_built_in_keyboard_if_exists": false,
|
||||
"fn_function_keys": [],
|
||||
"game_pad_swap_sticks": false,
|
||||
"identifiers": {
|
||||
"is_game_pad": false,
|
||||
"is_keyboard": false,
|
||||
"is_pointing_device": true,
|
||||
"product_id": 834,
|
||||
"vendor_id": 1452
|
||||
},
|
||||
"ignore": true,
|
||||
"manipulate_caps_lock_led": false,
|
||||
"mouse_flip_horizontal_wheel": false,
|
||||
"mouse_flip_vertical_wheel": false,
|
||||
"mouse_flip_x": false,
|
||||
"mouse_flip_y": false,
|
||||
"mouse_swap_wheels": false,
|
||||
"mouse_swap_xy": false,
|
||||
"simple_modifications": [],
|
||||
"treat_as_built_in_keyboard": false
|
||||
}
|
||||
],
|
||||
"fn_function_keys": [
|
||||
{
|
||||
"from": {
|
||||
"key_code": "f1"
|
||||
},
|
||||
"to": [
|
||||
{
|
||||
"consumer_key_code": "display_brightness_decrement"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"from": {
|
||||
"key_code": "f2"
|
||||
},
|
||||
"to": [
|
||||
{
|
||||
"consumer_key_code": "display_brightness_increment"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"from": {
|
||||
"key_code": "f3"
|
||||
},
|
||||
"to": [
|
||||
{
|
||||
"apple_vendor_keyboard_key_code": "mission_control"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"from": {
|
||||
"key_code": "f4"
|
||||
},
|
||||
"to": [
|
||||
{
|
||||
"apple_vendor_keyboard_key_code": "spotlight"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"from": {
|
||||
"key_code": "f5"
|
||||
},
|
||||
"to": [
|
||||
{
|
||||
"consumer_key_code": "dictation"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"from": {
|
||||
"key_code": "f6"
|
||||
},
|
||||
"to": [
|
||||
{
|
||||
"key_code": "f6"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"from": {
|
||||
"key_code": "f7"
|
||||
},
|
||||
"to": [
|
||||
{
|
||||
"consumer_key_code": "rewind"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"from": {
|
||||
"key_code": "f8"
|
||||
},
|
||||
"to": [
|
||||
{
|
||||
"consumer_key_code": "play_or_pause"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"from": {
|
||||
"key_code": "f9"
|
||||
},
|
||||
"to": [
|
||||
{
|
||||
"consumer_key_code": "fast_forward"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"from": {
|
||||
"key_code": "f10"
|
||||
},
|
||||
"to": [
|
||||
{
|
||||
"consumer_key_code": "mute"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"from": {
|
||||
"key_code": "f11"
|
||||
},
|
||||
"to": [
|
||||
{
|
||||
"consumer_key_code": "volume_decrement"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"from": {
|
||||
"key_code": "f12"
|
||||
},
|
||||
"to": [
|
||||
{
|
||||
"consumer_key_code": "volume_increment"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"name": "Default profile",
|
||||
"parameters": {
|
||||
"delay_milliseconds_before_open_device": 1000
|
||||
},
|
||||
"selected": true,
|
||||
"simple_modifications": [],
|
||||
"virtual_hid_keyboard": {
|
||||
"country_code": 0,
|
||||
"indicate_sticky_modifier_keys_state": true,
|
||||
"mouse_key_xy_scale": 100
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
240
karabiner/karabiner.json
Normal file
240
karabiner/karabiner.json
Normal file
@@ -0,0 +1,240 @@
|
||||
{
|
||||
"global": {
|
||||
"ask_for_confirmation_before_quitting": true,
|
||||
"check_for_updates_on_startup": true,
|
||||
"show_in_menu_bar": true,
|
||||
"show_profile_name_in_menu_bar": false,
|
||||
"unsafe_ui": false
|
||||
},
|
||||
"profiles": [
|
||||
{
|
||||
"complex_modifications": {
|
||||
"parameters": {
|
||||
"basic.simultaneous_threshold_milliseconds": 50,
|
||||
"basic.to_delayed_action_delay_milliseconds": 500,
|
||||
"basic.to_if_alone_timeout_milliseconds": 1000,
|
||||
"basic.to_if_held_down_threshold_milliseconds": 500,
|
||||
"mouse_motion_to_scroll.speed": 100
|
||||
},
|
||||
"rules": [
|
||||
{
|
||||
"manipulators": [
|
||||
{
|
||||
"description": "Change caps_lock to command+control+option+shift.",
|
||||
"from": {
|
||||
"key_code": "caps_lock",
|
||||
"modifiers": {
|
||||
"optional": [
|
||||
"any"
|
||||
]
|
||||
}
|
||||
},
|
||||
"to": [
|
||||
{
|
||||
"key_code": "left_shift",
|
||||
"modifiers": [
|
||||
"left_command",
|
||||
"left_control",
|
||||
"left_option"
|
||||
]
|
||||
}
|
||||
],
|
||||
"type": "basic"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"devices": [
|
||||
{
|
||||
"disable_built_in_keyboard_if_exists": false,
|
||||
"fn_function_keys": [],
|
||||
"game_pad_swap_sticks": false,
|
||||
"identifiers": {
|
||||
"is_game_pad": false,
|
||||
"is_keyboard": true,
|
||||
"is_pointing_device": false,
|
||||
"product_id": 834,
|
||||
"vendor_id": 1452
|
||||
},
|
||||
"ignore": false,
|
||||
"manipulate_caps_lock_led": true,
|
||||
"mouse_flip_horizontal_wheel": false,
|
||||
"mouse_flip_vertical_wheel": false,
|
||||
"mouse_flip_x": false,
|
||||
"mouse_flip_y": false,
|
||||
"mouse_swap_wheels": false,
|
||||
"mouse_swap_xy": false,
|
||||
"simple_modifications": [
|
||||
{
|
||||
"from": {
|
||||
"key_code": "caps_lock"
|
||||
},
|
||||
"to": [
|
||||
{
|
||||
"key_code": "left_control"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"treat_as_built_in_keyboard": false
|
||||
},
|
||||
{
|
||||
"disable_built_in_keyboard_if_exists": false,
|
||||
"fn_function_keys": [],
|
||||
"game_pad_swap_sticks": false,
|
||||
"identifiers": {
|
||||
"is_game_pad": false,
|
||||
"is_keyboard": false,
|
||||
"is_pointing_device": true,
|
||||
"product_id": 834,
|
||||
"vendor_id": 1452
|
||||
},
|
||||
"ignore": true,
|
||||
"manipulate_caps_lock_led": false,
|
||||
"mouse_flip_horizontal_wheel": false,
|
||||
"mouse_flip_vertical_wheel": false,
|
||||
"mouse_flip_x": false,
|
||||
"mouse_flip_y": false,
|
||||
"mouse_swap_wheels": false,
|
||||
"mouse_swap_xy": false,
|
||||
"simple_modifications": [],
|
||||
"treat_as_built_in_keyboard": false
|
||||
}
|
||||
],
|
||||
"fn_function_keys": [
|
||||
{
|
||||
"from": {
|
||||
"key_code": "f1"
|
||||
},
|
||||
"to": [
|
||||
{
|
||||
"consumer_key_code": "display_brightness_decrement"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"from": {
|
||||
"key_code": "f2"
|
||||
},
|
||||
"to": [
|
||||
{
|
||||
"consumer_key_code": "display_brightness_increment"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"from": {
|
||||
"key_code": "f3"
|
||||
},
|
||||
"to": [
|
||||
{
|
||||
"apple_vendor_keyboard_key_code": "mission_control"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"from": {
|
||||
"key_code": "f4"
|
||||
},
|
||||
"to": [
|
||||
{
|
||||
"apple_vendor_keyboard_key_code": "spotlight"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"from": {
|
||||
"key_code": "f5"
|
||||
},
|
||||
"to": [
|
||||
{
|
||||
"consumer_key_code": "dictation"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"from": {
|
||||
"key_code": "f6"
|
||||
},
|
||||
"to": [
|
||||
{
|
||||
"key_code": "f6"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"from": {
|
||||
"key_code": "f7"
|
||||
},
|
||||
"to": [
|
||||
{
|
||||
"consumer_key_code": "rewind"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"from": {
|
||||
"key_code": "f8"
|
||||
},
|
||||
"to": [
|
||||
{
|
||||
"consumer_key_code": "play_or_pause"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"from": {
|
||||
"key_code": "f9"
|
||||
},
|
||||
"to": [
|
||||
{
|
||||
"consumer_key_code": "fast_forward"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"from": {
|
||||
"key_code": "f10"
|
||||
},
|
||||
"to": [
|
||||
{
|
||||
"consumer_key_code": "mute"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"from": {
|
||||
"key_code": "f11"
|
||||
},
|
||||
"to": [
|
||||
{
|
||||
"consumer_key_code": "volume_decrement"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"from": {
|
||||
"key_code": "f12"
|
||||
},
|
||||
"to": [
|
||||
{
|
||||
"consumer_key_code": "volume_increment"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"name": "Default profile",
|
||||
"parameters": {
|
||||
"delay_milliseconds_before_open_device": 1000
|
||||
},
|
||||
"selected": true,
|
||||
"simple_modifications": [],
|
||||
"virtual_hid_keyboard": {
|
||||
"country_code": 0,
|
||||
"indicate_sticky_modifier_keys_state": true,
|
||||
"mouse_key_xy_scale": 100
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
17
kitty/kitty.conf
Normal file
17
kitty/kitty.conf
Normal file
@@ -0,0 +1,17 @@
|
||||
# _ _ _ ___ ___ _ _ ____ ____ _ _ ____
|
||||
# |_/ | | | \_/ | | | |\ | |___
|
||||
# | \_ | | | | .|___ |__| | \| |
|
||||
#
|
||||
|
||||
font_family Droid Sans Mono for Powerline Regular
|
||||
|
||||
font_size 16.0
|
||||
symbol_map U+E0A0-U+E0A3,U+E0C0-U+E0C7 1
|
||||
narrow_symbols U+E0A0-U+E0A3,U+E0C0-U+E0C7 1
|
||||
|
||||
macos_titlebar_color system
|
||||
|
||||
background_opacity 0.9
|
||||
|
||||
#hide_window_decorations titlebar-only
|
||||
hide_window_decorations no
|
||||
@@ -663,6 +663,8 @@
|
||||
<false/>
|
||||
<key>OpenNoWindowsAtStartup</key>
|
||||
<false/>
|
||||
<key>OpenTmuxWindowsIn</key>
|
||||
<integer>0</integer>
|
||||
<key>PointerActions</key>
|
||||
<dict>
|
||||
<key>Button,1,1,,</key>
|
||||
|
||||
@@ -6,9 +6,9 @@
|
||||
<string>com.micheal.clear-screenshots</string>
|
||||
<key>ProgramArguments</key>
|
||||
<array>
|
||||
<string>sh</string>
|
||||
<string>zsh</string>
|
||||
<string>-c</string>
|
||||
<string>/Users/michael/.local/scripts/clear_screenshots</string>
|
||||
<string>/Users/michael/.config/zsh/functions/clean-screenshots</string>
|
||||
</array>
|
||||
<key>StartCalendarInterval</key>
|
||||
<dict>
|
||||
|
||||
31
macOS/LaunchAgents/com.michael.dotfiles.commit.plist
Normal file
31
macOS/LaunchAgents/com.michael.dotfiles.commit.plist
Normal file
@@ -0,0 +1,31 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>Label</key>
|
||||
<string>com.micheal.dotfiles.commit</string>
|
||||
|
||||
<key>WorkingDirectory</key>
|
||||
<string>/Users/michael/.dotfiles</string>
|
||||
|
||||
<key>ProgramArguments</key>
|
||||
<array>
|
||||
<string>/Users/michael/.local/share/scripts/auto-git-commit</string>
|
||||
</array>
|
||||
|
||||
<key>StartInterval</key>
|
||||
<integer>3600</integer>
|
||||
|
||||
<key>KeepAlive</key>
|
||||
<true/>
|
||||
|
||||
<key>RunAtLoad</key>
|
||||
<true/>
|
||||
|
||||
<key>StandardOutPath</key>
|
||||
<string>/tmp/com.michael.dotfiles.commit.log</string>
|
||||
|
||||
<key>StandardErrorPath</key>
|
||||
<string>/tmp/com.michael.dotfiles.commit.error.log</string>
|
||||
</dict>
|
||||
</plist>
|
||||
17
nap/config.yaml
Normal file
17
nap/config.yaml
Normal file
@@ -0,0 +1,17 @@
|
||||
# Configuration
|
||||
home: ~/.local/nap
|
||||
default_language: go
|
||||
theme: nord
|
||||
|
||||
# Colors
|
||||
background: "0"
|
||||
foreground: "7"
|
||||
primary_color: "#AFBEE1"
|
||||
primary_color_subdued: "#64708D"
|
||||
green: "#527251"
|
||||
bright_green: "#BCE1AF"
|
||||
bright_red: "#E49393"
|
||||
red: "#A46060"
|
||||
black: "#373B41"
|
||||
gray: "240"
|
||||
white: "#FFFFFF"
|
||||
5
npm/npmrc
Normal file
5
npm/npmrc
Normal file
@@ -0,0 +1,5 @@
|
||||
# Needs linked to ~/.config/npm/npmrc
|
||||
|
||||
prefix=${XDG_DATA_HOME}/npm
|
||||
cache=${XDG_CACHE_HOME}/npm
|
||||
init-module=${XDG_CONFIG_HOME}/npm/config/npm-init.js
|
||||
@@ -1,11 +0,0 @@
|
||||
local o = vim.opt
|
||||
local keymap = vim.api.nvim_set_keymap
|
||||
local default_options = {noremap = true, silent = true}
|
||||
|
||||
o.tabstop = 2
|
||||
o.softtabstop = 2
|
||||
o.shiftwidth = 2
|
||||
|
||||
keymap('n', '<C-b>', '<cmd>!swift build<CR>', default_options)
|
||||
keymap('n', '<C-T>', '<cmd>!swift test<CR>', default_options)
|
||||
|
||||
@@ -1,14 +0,0 @@
|
||||
|
||||
require('plugins')
|
||||
|
||||
-- Key maps
|
||||
require('mappings')
|
||||
|
||||
-- Common settings
|
||||
require('settings')
|
||||
|
||||
-- Auto commands
|
||||
require('autocmd')
|
||||
|
||||
-- Theme
|
||||
require('theme')
|
||||
8
nvim/lazynvim/.gitignore
vendored
Normal file
8
nvim/lazynvim/.gitignore
vendored
Normal file
@@ -0,0 +1,8 @@
|
||||
tt.*
|
||||
.tests
|
||||
doc/tags
|
||||
debug
|
||||
.repro
|
||||
foo.*
|
||||
*.log
|
||||
data
|
||||
15
nvim/lazynvim/.neoconf.json
Normal file
15
nvim/lazynvim/.neoconf.json
Normal file
@@ -0,0 +1,15 @@
|
||||
{
|
||||
"neodev": {
|
||||
"library": {
|
||||
"enabled": true,
|
||||
"plugins": true
|
||||
}
|
||||
},
|
||||
"neoconf": {
|
||||
"plugins": {
|
||||
"lua_ls": {
|
||||
"enabled": true
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
201
nvim/lazynvim/LICENSE
Normal file
201
nvim/lazynvim/LICENSE
Normal file
@@ -0,0 +1,201 @@
|
||||
Apache License
|
||||
Version 2.0, January 2004
|
||||
http://www.apache.org/licenses/
|
||||
|
||||
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
||||
|
||||
1. Definitions.
|
||||
|
||||
"License" shall mean the terms and conditions for use, reproduction,
|
||||
and distribution as defined by Sections 1 through 9 of this document.
|
||||
|
||||
"Licensor" shall mean the copyright owner or entity authorized by
|
||||
the copyright owner that is granting the License.
|
||||
|
||||
"Legal Entity" shall mean the union of the acting entity and all
|
||||
other entities that control, are controlled by, or are under common
|
||||
control with that entity. For the purposes of this definition,
|
||||
"control" means (i) the power, direct or indirect, to cause the
|
||||
direction or management of such entity, whether by contract or
|
||||
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
||||
outstanding shares, or (iii) beneficial ownership of such entity.
|
||||
|
||||
"You" (or "Your") shall mean an individual or Legal Entity
|
||||
exercising permissions granted by this License.
|
||||
|
||||
"Source" form shall mean the preferred form for making modifications,
|
||||
including but not limited to software source code, documentation
|
||||
source, and configuration files.
|
||||
|
||||
"Object" form shall mean any form resulting from mechanical
|
||||
transformation or translation of a Source form, including but
|
||||
not limited to compiled object code, generated documentation,
|
||||
and conversions to other media types.
|
||||
|
||||
"Work" shall mean the work of authorship, whether in Source or
|
||||
Object form, made available under the License, as indicated by a
|
||||
copyright notice that is included in or attached to the work
|
||||
(an example is provided in the Appendix below).
|
||||
|
||||
"Derivative Works" shall mean any work, whether in Source or Object
|
||||
form, that is based on (or derived from) the Work and for which the
|
||||
editorial revisions, annotations, elaborations, or other modifications
|
||||
represent, as a whole, an original work of authorship. For the purposes
|
||||
of this License, Derivative Works shall not include works that remain
|
||||
separable from, or merely link (or bind by name) to the interfaces of,
|
||||
the Work and Derivative Works thereof.
|
||||
|
||||
"Contribution" shall mean any work of authorship, including
|
||||
the original version of the Work and any modifications or additions
|
||||
to that Work or Derivative Works thereof, that is intentionally
|
||||
submitted to Licensor for inclusion in the Work by the copyright owner
|
||||
or by an individual or Legal Entity authorized to submit on behalf of
|
||||
the copyright owner. For the purposes of this definition, "submitted"
|
||||
means any form of electronic, verbal, or written communication sent
|
||||
to the Licensor or its representatives, including but not limited to
|
||||
communication on electronic mailing lists, source code control systems,
|
||||
and issue tracking systems that are managed by, or on behalf of, the
|
||||
Licensor for the purpose of discussing and improving the Work, but
|
||||
excluding communication that is conspicuously marked or otherwise
|
||||
designated in writing by the copyright owner as "Not a Contribution."
|
||||
|
||||
"Contributor" shall mean Licensor and any individual or Legal Entity
|
||||
on behalf of whom a Contribution has been received by Licensor and
|
||||
subsequently incorporated within the Work.
|
||||
|
||||
2. Grant of Copyright License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
copyright license to reproduce, prepare Derivative Works of,
|
||||
publicly display, publicly perform, sublicense, and distribute the
|
||||
Work and such Derivative Works in Source or Object form.
|
||||
|
||||
3. Grant of Patent License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
(except as stated in this section) patent license to make, have made,
|
||||
use, offer to sell, sell, import, and otherwise transfer the Work,
|
||||
where such license applies only to those patent claims licensable
|
||||
by such Contributor that are necessarily infringed by their
|
||||
Contribution(s) alone or by combination of their Contribution(s)
|
||||
with the Work to which such Contribution(s) was submitted. If You
|
||||
institute patent litigation against any entity (including a
|
||||
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
||||
or a Contribution incorporated within the Work constitutes direct
|
||||
or contributory patent infringement, then any patent licenses
|
||||
granted to You under this License for that Work shall terminate
|
||||
as of the date such litigation is filed.
|
||||
|
||||
4. Redistribution. You may reproduce and distribute copies of the
|
||||
Work or Derivative Works thereof in any medium, with or without
|
||||
modifications, and in Source or Object form, provided that You
|
||||
meet the following conditions:
|
||||
|
||||
(a) You must give any other recipients of the Work or
|
||||
Derivative Works a copy of this License; and
|
||||
|
||||
(b) You must cause any modified files to carry prominent notices
|
||||
stating that You changed the files; and
|
||||
|
||||
(c) You must retain, in the Source form of any Derivative Works
|
||||
that You distribute, all copyright, patent, trademark, and
|
||||
attribution notices from the Source form of the Work,
|
||||
excluding those notices that do not pertain to any part of
|
||||
the Derivative Works; and
|
||||
|
||||
(d) If the Work includes a "NOTICE" text file as part of its
|
||||
distribution, then any Derivative Works that You distribute must
|
||||
include a readable copy of the attribution notices contained
|
||||
within such NOTICE file, excluding those notices that do not
|
||||
pertain to any part of the Derivative Works, in at least one
|
||||
of the following places: within a NOTICE text file distributed
|
||||
as part of the Derivative Works; within the Source form or
|
||||
documentation, if provided along with the Derivative Works; or,
|
||||
within a display generated by the Derivative Works, if and
|
||||
wherever such third-party notices normally appear. The contents
|
||||
of the NOTICE file are for informational purposes only and
|
||||
do not modify the License. You may add Your own attribution
|
||||
notices within Derivative Works that You distribute, alongside
|
||||
or as an addendum to the NOTICE text from the Work, provided
|
||||
that such additional attribution notices cannot be construed
|
||||
as modifying the License.
|
||||
|
||||
You may add Your own copyright statement to Your modifications and
|
||||
may provide additional or different license terms and conditions
|
||||
for use, reproduction, or distribution of Your modifications, or
|
||||
for any such Derivative Works as a whole, provided Your use,
|
||||
reproduction, and distribution of the Work otherwise complies with
|
||||
the conditions stated in this License.
|
||||
|
||||
5. Submission of Contributions. Unless You explicitly state otherwise,
|
||||
any Contribution intentionally submitted for inclusion in the Work
|
||||
by You to the Licensor shall be under the terms and conditions of
|
||||
this License, without any additional terms or conditions.
|
||||
Notwithstanding the above, nothing herein shall supersede or modify
|
||||
the terms of any separate license agreement you may have executed
|
||||
with Licensor regarding such Contributions.
|
||||
|
||||
6. Trademarks. This License does not grant permission to use the trade
|
||||
names, trademarks, service marks, or product names of the Licensor,
|
||||
except as required for reasonable and customary use in describing the
|
||||
origin of the Work and reproducing the content of the NOTICE file.
|
||||
|
||||
7. Disclaimer of Warranty. Unless required by applicable law or
|
||||
agreed to in writing, Licensor provides the Work (and each
|
||||
Contributor provides its Contributions) on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
||||
implied, including, without limitation, any warranties or conditions
|
||||
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
||||
PARTICULAR PURPOSE. You are solely responsible for determining the
|
||||
appropriateness of using or redistributing the Work and assume any
|
||||
risks associated with Your exercise of permissions under this License.
|
||||
|
||||
8. Limitation of Liability. In no event and under no legal theory,
|
||||
whether in tort (including negligence), contract, or otherwise,
|
||||
unless required by applicable law (such as deliberate and grossly
|
||||
negligent acts) or agreed to in writing, shall any Contributor be
|
||||
liable to You for damages, including any direct, indirect, special,
|
||||
incidental, or consequential damages of any character arising as a
|
||||
result of this License or out of the use or inability to use the
|
||||
Work (including but not limited to damages for loss of goodwill,
|
||||
work stoppage, computer failure or malfunction, or any and all
|
||||
other commercial damages or losses), even if such Contributor
|
||||
has been advised of the possibility of such damages.
|
||||
|
||||
9. Accepting Warranty or Additional Liability. While redistributing
|
||||
the Work or Derivative Works thereof, You may choose to offer,
|
||||
and charge a fee for, acceptance of support, warranty, indemnity,
|
||||
or other liability obligations and/or rights consistent with this
|
||||
License. However, in accepting such obligations, You may act only
|
||||
on Your own behalf and on Your sole responsibility, not on behalf
|
||||
of any other Contributor, and only if You agree to indemnify,
|
||||
defend, and hold each Contributor harmless for any liability
|
||||
incurred by, or claims asserted against, such Contributor by reason
|
||||
of your accepting any such warranty or additional liability.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
APPENDIX: How to apply the Apache License to your work.
|
||||
|
||||
To apply the Apache License to your work, attach the following
|
||||
boilerplate notice, with the fields enclosed by brackets "[]"
|
||||
replaced with your own identifying information. (Don't include
|
||||
the brackets!) The text should be enclosed in the appropriate
|
||||
comment syntax for the file format. We also recommend that a
|
||||
file or class name and description of purpose be included on the
|
||||
same "printed page" as the copyright notice for easier
|
||||
identification within third-party archives.
|
||||
|
||||
Copyright [yyyy] [name of copyright owner]
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
4
nvim/lazynvim/README.md
Normal file
4
nvim/lazynvim/README.md
Normal file
@@ -0,0 +1,4 @@
|
||||
# 💤 LazyVim
|
||||
|
||||
A starter template for [LazyVim](https://github.com/LazyVim/LazyVim).
|
||||
Refer to the [documentation](https://lazyvim.github.io/installation) to get started.
|
||||
20
nvim/lazynvim/after/ftplugin/markdown.lua
Normal file
20
nvim/lazynvim/after/ftplugin/markdown.lua
Normal file
@@ -0,0 +1,20 @@
|
||||
-- Markdown specific key maps.
|
||||
--
|
||||
local todos = require("todo-comments")
|
||||
local keywords = { "WARN", "WARNING", "IMPORTANT" }
|
||||
|
||||
-- Show all the warnings in the quick fix list.
|
||||
vim.keymap.set(
|
||||
"n",
|
||||
"<leader>tw",
|
||||
"<CMD>Trouble todo toggle filter = {tag = {WARN, IMPORTANT}}<CR>",
|
||||
{ desc = "[T]odo [W]arnings" }
|
||||
)
|
||||
|
||||
vim.keymap.set("n", "]w", function()
|
||||
todos.jump_next({ keywords = keywords })
|
||||
end, { desc = "Next [W]arning" })
|
||||
|
||||
vim.keymap.set("n", "[w", function()
|
||||
todos.jump_prev({ keywords = keywords })
|
||||
end, { desc = "Previous [W]arning" })
|
||||
2
nvim/lazynvim/after/ftplugin/swift.lua
Normal file
2
nvim/lazynvim/after/ftplugin/swift.lua
Normal file
@@ -0,0 +1,2 @@
|
||||
vim.opt.tabstop = 2
|
||||
vim.opt.shiftwidth = 2
|
||||
2
nvim/lazynvim/init.lua
Normal file
2
nvim/lazynvim/init.lua
Normal file
@@ -0,0 +1,2 @@
|
||||
-- bootstrap lazy.nvim, LazyVim and your plugins
|
||||
require("config.lazy")
|
||||
27
nvim/lazynvim/lazyvim.json
Normal file
27
nvim/lazynvim/lazyvim.json
Normal file
@@ -0,0 +1,27 @@
|
||||
{
|
||||
"extras": [
|
||||
"lazyvim.plugins.extras.coding.mini-snippets",
|
||||
"lazyvim.plugins.extras.coding.mini-surround",
|
||||
"lazyvim.plugins.extras.editor.fzf",
|
||||
"lazyvim.plugins.extras.editor.harpoon2",
|
||||
"lazyvim.plugins.extras.formatting.prettier",
|
||||
"lazyvim.plugins.extras.lang.ansible",
|
||||
"lazyvim.plugins.extras.lang.clangd",
|
||||
"lazyvim.plugins.extras.lang.cmake",
|
||||
"lazyvim.plugins.extras.lang.docker",
|
||||
"lazyvim.plugins.extras.lang.git",
|
||||
"lazyvim.plugins.extras.lang.json",
|
||||
"lazyvim.plugins.extras.lang.markdown",
|
||||
"lazyvim.plugins.extras.lang.sql",
|
||||
"lazyvim.plugins.extras.lang.tailwind",
|
||||
"lazyvim.plugins.extras.lang.tex",
|
||||
"lazyvim.plugins.extras.lang.toml",
|
||||
"lazyvim.plugins.extras.lang.yaml",
|
||||
"lazyvim.plugins.extras.util.startuptime"
|
||||
],
|
||||
"install_version": 8,
|
||||
"news": {
|
||||
"NEWS.md": "11866"
|
||||
},
|
||||
"version": 8
|
||||
}
|
||||
52
nvim/lazynvim/lua/config/autocmds.lua
Normal file
52
nvim/lazynvim/lua/config/autocmds.lua
Normal file
@@ -0,0 +1,52 @@
|
||||
local defaultGroupOptions = { clear = true }
|
||||
local markdownGroup = vim.api.nvim_create_augroup("MyMarkdownGroup", defaultGroupOptions)
|
||||
local createCmd = vim.api.nvim_create_autocmd
|
||||
|
||||
createCmd("BufEnter", {
|
||||
pattern = "*.md",
|
||||
group = markdownGroup,
|
||||
callback = function(_)
|
||||
-- HACK: Set filetype to markdown for '.md' files.
|
||||
-- Not sure why it doesn't detect these as markdown files, but this fixes the issue.
|
||||
vim.cmd.setlocal("filetype=markdown")
|
||||
vim.cmd.setlocal("textwidth=80")
|
||||
vim.cmd.setlocal("spell spelllang=en_us")
|
||||
end,
|
||||
})
|
||||
|
||||
-- Markdown
|
||||
-- createCmd("BufWritePost", {
|
||||
-- pattern = { "*.md", "*.markdown" },
|
||||
-- group = markdownGroup,
|
||||
-- callback = function(_)
|
||||
-- -- local cursor = vim.fn.getpos(".")
|
||||
-- vim.cmd("FormatWrite")
|
||||
-- -- vim.fn.setpos(".", cursor)
|
||||
-- end,
|
||||
-- })
|
||||
|
||||
-- Go
|
||||
createCmd("BufWritePre", {
|
||||
pattern = "*.go",
|
||||
callback = function()
|
||||
require("go.format").goimport()
|
||||
end,
|
||||
group = vim.api.nvim_create_augroup("GoFormat", defaultGroupOptions),
|
||||
})
|
||||
|
||||
-- GoPass
|
||||
vim.api.nvim_exec2(
|
||||
[[
|
||||
autocmd BufNewFile,BufRead /private/**/gopass** setlocal noswapfile nobackup noundofile shada=""
|
||||
]],
|
||||
{}
|
||||
)
|
||||
|
||||
-- Highlight when yanking.
|
||||
createCmd("TextYankPost", {
|
||||
desc = "Highlight when yanking text.",
|
||||
group = vim.api.nvim_create_augroup("highlight-yank", { clear = true }),
|
||||
callback = function()
|
||||
vim.highlight.on_yank()
|
||||
end,
|
||||
})
|
||||
46
nvim/lazynvim/lua/config/keymaps.lua
Normal file
46
nvim/lazynvim/lua/config/keymaps.lua
Normal file
@@ -0,0 +1,46 @@
|
||||
-- Keymaps are automatically loaded on the VeryLazy event
|
||||
-- Default keymaps that are always set: https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/config/keymaps.lua
|
||||
-- Add any additional keymaps here
|
||||
|
||||
local keymap = vim.keymap.set
|
||||
local default_options = { noremap = true, silent = true }
|
||||
local wk = require("which-key")
|
||||
|
||||
local wk_add = function(mode, keymaps)
|
||||
wk.add(keymaps, { mode = mode, silent = true })
|
||||
end
|
||||
|
||||
keymap("i", "jk", "<ESC>", default_options)
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
-- Normal Mode
|
||||
--------------------------------------------------------------------------------
|
||||
wk_add("n", {
|
||||
{ "<Left>", ":vertical resize +1<CR>", desc = "Resize Pane Left" },
|
||||
{ "<Right>", ":vertical resize -1<CR>", desc = "Resize Pane Right" },
|
||||
{ "<Up>", "resize -1<CR>", desc = "Resize Pane Up" },
|
||||
{ "<Down>", "resize +1<CR>", desc = "Resize Pane Down" },
|
||||
|
||||
{ "<leader>n", "<CMD>:noh<CR>", desc = "[N]o highlighting" },
|
||||
{ "<leader>s", "<CMD>:set spell!<CR>", desc = "[S]pell check toggle" },
|
||||
{ "<C-s>", "<CMD>:write<CR>", desc = "[S]ave" },
|
||||
|
||||
{ "J", ":move .+1<CR>==", desc = "Move line down" },
|
||||
{ "K", ":move .-2<CR>==", desc = "Move line up" },
|
||||
|
||||
{ "<leader>z", "<CMD>:ZenMode<CR>", desc = "[Z]en Mode" },
|
||||
})
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
-- Visual Mode
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
vim.keymap.set("v", "K", ":move '<-2<CR>gv=gv", { desc = "Move selected block up.", silent = true, noremap = true })
|
||||
vim.keymap.set("v", "J", ":move '>+1<CR>gv=gv", { desc = "Move selected block up.", silent = true, noremap = true })
|
||||
|
||||
-- Toggle term key maps, that get attached when terminal is opened.
|
||||
function _G.set_terminal_keymaps()
|
||||
local opts = { buffer = 0 }
|
||||
keymap("t", "<esc>", [[<C-\><C-n>]], opts)
|
||||
end
|
||||
vim.cmd("autocmd! TermOpen term://* lua set_terminal_keymaps()")
|
||||
69
nvim/lazynvim/lua/config/lazy.lua
Normal file
69
nvim/lazynvim/lua/config/lazy.lua
Normal file
@@ -0,0 +1,69 @@
|
||||
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
|
||||
if not (vim.uv or vim.loop).fs_stat(lazypath) then
|
||||
local lazyrepo = "https://github.com/folke/lazy.nvim.git"
|
||||
local out = vim.fn.system({ "git", "clone", "--filter=blob:none", "--branch=stable", lazyrepo, lazypath })
|
||||
if vim.v.shell_error ~= 0 then
|
||||
vim.api.nvim_echo({
|
||||
{ "Failed to clone lazy.nvim:\n", "ErrorMsg" },
|
||||
{ out, "WarningMsg" },
|
||||
{ "\nPress any key to exit..." },
|
||||
}, true, {})
|
||||
vim.fn.getchar()
|
||||
os.exit(1)
|
||||
end
|
||||
end
|
||||
vim.opt.rtp:prepend(lazypath)
|
||||
|
||||
require("lazy").setup({
|
||||
spec = {
|
||||
-- add LazyVim and import its plugins
|
||||
{ "LazyVim/LazyVim", import = "lazyvim.plugins" },
|
||||
{
|
||||
import = "lazyvim.plugins.extras.editor.mini-files",
|
||||
opts = {
|
||||
options = {
|
||||
use_as_default_explorer = true,
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
import = "lazyvim.plugins.extras.coding.blink",
|
||||
keymap = {
|
||||
preset = "enter",
|
||||
["<C-y>"] = { "select_and_accept" },
|
||||
},
|
||||
},
|
||||
|
||||
-- import/override with your plugins
|
||||
{ import = "plugins" },
|
||||
},
|
||||
defaults = {
|
||||
-- By default, only LazyVim plugins will be lazy-loaded. Your custom plugins will load during startup.
|
||||
-- If you know what you're doing, you can set this to `true` to have all your custom plugins lazy-loaded by default.
|
||||
lazy = false,
|
||||
-- It's recommended to leave version=false for now, since a lot the plugin that support versioning,
|
||||
-- have outdated releases, which may break your Neovim install.
|
||||
version = false, -- always use the latest git commit
|
||||
-- version = "*", -- try installing the latest stable version for plugins that support semver
|
||||
},
|
||||
install = { colorscheme = { "tokyonight", "habamax" } },
|
||||
checker = {
|
||||
enabled = true, -- check for plugin updates periodically
|
||||
notify = false, -- notify on update
|
||||
}, -- automatically check for plugin updates
|
||||
performance = {
|
||||
rtp = {
|
||||
-- disable some rtp plugins
|
||||
disabled_plugins = {
|
||||
"gzip",
|
||||
-- "matchit",
|
||||
-- "matchparen",
|
||||
-- "netrwPlugin",
|
||||
"tarPlugin",
|
||||
"tohtml",
|
||||
"tutor",
|
||||
"zipPlugin",
|
||||
},
|
||||
},
|
||||
},
|
||||
})
|
||||
72
nvim/lazynvim/lua/config/options.lua
Normal file
72
nvim/lazynvim/lua/config/options.lua
Normal file
@@ -0,0 +1,72 @@
|
||||
-- Options are automatically loaded before lazy.nvim startup
|
||||
-- Default options that are always set: https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/config/options.lua
|
||||
-- Add any additional options here
|
||||
--
|
||||
local o = vim.opt
|
||||
local wo = vim.wo
|
||||
local fn = vim.fn
|
||||
|
||||
vim.cmd.set("inccommand=split")
|
||||
o.filetype = "on"
|
||||
o.updatetime = 500 -- faster completion
|
||||
o.timeoutlen = 800 -- time to wait for a mapped sequence to complete (in milliseconds)
|
||||
o.ttimeoutlen = 300 -- Time in milliseconds to wait for a key code sequence to complete
|
||||
o.backup = false -- creates a backup file
|
||||
o.swapfile = false -- enable/disable swap file creation
|
||||
o.dir = fn.stdpath("data") .. "/swp" -- swap file directory
|
||||
o.undofile = false -- enable/disable undo file creation
|
||||
o.undodir = fn.stdpath("data") .. "/undodir" -- set undo directory
|
||||
o.history = 500 -- Use the 'history' option to set the number of lines from command mode that are remembered.
|
||||
o.hidden = true -- required to keep multiple buffers and open multiple buffers
|
||||
o.clipboard = "unnamedplus" -- allows neovim to access the system clipboard
|
||||
o.fileencoding = "utf-8" -- the encoding written to a file
|
||||
o.conceallevel = 0 -- so that `` is visible in markdown files
|
||||
o.number = true -- set numbered lines
|
||||
o.relativenumber = true -- set relative numbered lines
|
||||
o.cmdheight = 1 -- space for displaying messages/commands
|
||||
o.showmode = false -- we don't need to see things like -- INSERT -- anymore
|
||||
o.showtabline = 2 -- always show tabs
|
||||
o.laststatus = 2 -- The value of this option influences when the last window will have a status line (2 always)
|
||||
o.smartcase = true -- smart case
|
||||
o.smartindent = true -- make indenting smarter again
|
||||
o.splitbelow = true -- force all horizontal splits to go below current window
|
||||
o.splitright = true -- force all vertical splits to go to the right of current window
|
||||
o.autoindent = true -- turn on auto indent.
|
||||
o.expandtab = true -- convert tabs to spaces
|
||||
o.smarttab = true -- turn on smart tab
|
||||
o.shiftwidth = 2 -- the number of spaces inserted for each indentation
|
||||
o.tabstop = 2 -- how many columns a tab counts for
|
||||
o.termguicolors = true -- set term gui colors (most terminals support this)
|
||||
o.cursorline = true -- highlight the current line
|
||||
o.scrolloff = 20 -- Minimal number of screen lines to keep above and below the cursor
|
||||
o.sidescrolloff = 5 -- The minimal number of columns to scroll horizontally
|
||||
o.hlsearch = false -- highlight all matches on previous search pattern
|
||||
o.ignorecase = true -- ignore case in search patterns
|
||||
o.foldenable = false -- disable folding; enable with zi
|
||||
o.foldmethod = "expr"
|
||||
o.foldexpr = "nvim_treesitter#foldexpr()"
|
||||
vim.cmd.set("nolist") -- don't show listchars.
|
||||
-- o.listchars = "eol:¬,tab:>·,trail:~,extends:>,precedes:<"
|
||||
o.listchars = "eol:¬,tab:>·,trail:~,extends:>,precedes:<,space:␣"
|
||||
o.shortmess = o.shortmess + "c" -- prevent "pattern not found" messages
|
||||
wo.colorcolumn = "99999"
|
||||
o.wildmode = "full"
|
||||
o.lazyredraw = false -- do not redraw screen while running macros
|
||||
o.grepprg = "rg --hidden --vimgrep --smart-case --"
|
||||
o.completeopt = { "menu", "menuone", "noselect", "noinsert" } -- A comma separated list of options for Insert mode completion
|
||||
o.wildignorecase = true -- When set case is ignored when completing file names and directories
|
||||
o.wildignore = [[
|
||||
.git,.hg,.svn
|
||||
*.aux,*.out,*.toc
|
||||
*.o,*.obj,*.exe,*.dll,*.manifest,*.rbc,*.class
|
||||
*.ai,*.bmp,*.gif,*.ico,*.jpg,*.jpeg,*.png,*.psd,*.webp
|
||||
*.avi,*.divx,*.mp4,*.webm,*.mov,*.m2ts,*.mkv,*.vob,*.mpg,*.mpeg
|
||||
*.mp3,*.oga,*.ogg,*.wav,*.flac
|
||||
*.eot,*.otf,*.ttf,*.woff
|
||||
*.doc,*.pdf,*.cbr,*.cbz
|
||||
*.zip,*.tar.gz,*.tar.bz2,*.rar,*.tar.xz,*.kgb
|
||||
*.swp,.lock,.DS_Store,._*
|
||||
*/tmp/*,*.so,*.swp,*.zip,**/node_modules/**,**/target/**,**.terraform/**"
|
||||
]]
|
||||
o.viminfo = "" -- disable viminfo from copying information from current session, for security.
|
||||
vim.g.snacks_animate = false
|
||||
8
nvim/lazynvim/lua/plugins/cmp.lua
Normal file
8
nvim/lazynvim/lua/plugins/cmp.lua
Normal file
@@ -0,0 +1,8 @@
|
||||
return {
|
||||
"saghen/blink.cmp",
|
||||
opts = {
|
||||
keymap = {
|
||||
preset = "default"
|
||||
}
|
||||
}
|
||||
}
|
||||
9
nvim/lazynvim/lua/plugins/colorscheme.lua
Normal file
9
nvim/lazynvim/lua/plugins/colorscheme.lua
Normal file
@@ -0,0 +1,9 @@
|
||||
return {
|
||||
{ "catppuccin/nvim", name = "catppuccin", priority = 1000 },
|
||||
{
|
||||
"LazyVim/LazyVim",
|
||||
opts = {
|
||||
colorscheme = "catppuccin",
|
||||
},
|
||||
},
|
||||
}
|
||||
4
nvim/lazynvim/lua/plugins/disabled.lua
Normal file
4
nvim/lazynvim/lua/plugins/disabled.lua
Normal file
@@ -0,0 +1,4 @@
|
||||
return {
|
||||
{ "nvim-neo-tree/neo-tree.nvim", enabled = false },
|
||||
{ "akinsho/bufferline.nvim", enabled = false },
|
||||
}
|
||||
23
nvim/lazynvim/lua/plugins/fidget.lua
Normal file
23
nvim/lazynvim/lua/plugins/fidget.lua
Normal file
@@ -0,0 +1,23 @@
|
||||
return {
|
||||
"j-hui/fidget.nvim",
|
||||
event = "VeryLazy",
|
||||
config = function()
|
||||
local fidget = require("fidget")
|
||||
fidget.setup({
|
||||
notification = {
|
||||
window = {
|
||||
normal_hl = "String", -- Base highlight group in the notification window
|
||||
winblend = 0, -- Background color opacity in the notification window
|
||||
border = "rounded", -- Border around the notification window
|
||||
zindex = 45, -- Stacking priority of the notification window
|
||||
max_width = 0, -- Maximum width of the notification window
|
||||
max_height = 0, -- Maximum height of the notification window
|
||||
x_padding = 1, -- Padding from right edge of window boundary
|
||||
y_padding = 1, -- Padding from bottom edge of window boundary
|
||||
align = "bottom", -- How to align the notification window
|
||||
relative = "editor", -- What the notification window position is relative to
|
||||
},
|
||||
},
|
||||
})
|
||||
end,
|
||||
}
|
||||
30
nvim/lazynvim/lua/plugins/formatter.lua
Normal file
30
nvim/lazynvim/lua/plugins/formatter.lua
Normal file
@@ -0,0 +1,30 @@
|
||||
return {
|
||||
"stevearc/conform.nvim",
|
||||
opts = {
|
||||
formatters = {
|
||||
["markdown-toc"] = {
|
||||
condition = function(_, ctx)
|
||||
for _, line in ipairs(vim.api.nvim_buf_get_lines(ctx.buf, 0, -1, false)) do
|
||||
if line:find("<!%-%- toc %-%->") then
|
||||
return true
|
||||
end
|
||||
end
|
||||
end,
|
||||
},
|
||||
["markdownlint-cli2"] = {
|
||||
condition = function(_, ctx)
|
||||
local diag = vim.tbl_filter(function(d)
|
||||
return d.source == "markdownlint"
|
||||
end, vim.diagnostic.get(ctx.buf))
|
||||
return #diag > 0
|
||||
end,
|
||||
},
|
||||
},
|
||||
formatters_by_ft = {
|
||||
["markdown"] = { "prettier", "markdownlint-cli2", "markdown-toc" },
|
||||
["markdown.mdx"] = { "prettier", "markdownlint-cli2", "markdown-toc" },
|
||||
lua = { "stulua" },
|
||||
swift = { "swiftformat" },
|
||||
},
|
||||
},
|
||||
}
|
||||
78
nvim/lazynvim/lua/plugins/harpoon.lua
Normal file
78
nvim/lazynvim/lua/plugins/harpoon.lua
Normal file
@@ -0,0 +1,78 @@
|
||||
return {
|
||||
{
|
||||
"ThePrimeagen/harpoon",
|
||||
branch = "harpoon2",
|
||||
opts = {
|
||||
settings = {
|
||||
save_on_toggle = true,
|
||||
sync_on_ui_close = true,
|
||||
},
|
||||
},
|
||||
keys = {
|
||||
{
|
||||
"<C-e>",
|
||||
function()
|
||||
require("harpoon").ui:toggle_quick_menu(require("harpoon"):list())
|
||||
end,
|
||||
desc = "Open Harpoon window.",
|
||||
},
|
||||
{
|
||||
"<leader>a",
|
||||
function()
|
||||
require("harpoon"):list():add()
|
||||
end,
|
||||
desc = "[A]dd to the harpoon list.",
|
||||
},
|
||||
{
|
||||
"<A-y>",
|
||||
function()
|
||||
require("harpoon"):list():select(1)
|
||||
end,
|
||||
desc = "Select first harpoon buffer.",
|
||||
},
|
||||
{
|
||||
"<A-u>",
|
||||
function()
|
||||
require("harpoon"):list():select(2)
|
||||
end,
|
||||
desc = "Select second harpoon buffer.",
|
||||
},
|
||||
{
|
||||
"<A-i>",
|
||||
function()
|
||||
require("harpoon"):list():select(3)
|
||||
end,
|
||||
desc = "Select third harpoon buffer.",
|
||||
},
|
||||
{
|
||||
"<A-o>",
|
||||
function()
|
||||
require("harpoon"):list():select(4)
|
||||
end,
|
||||
desc = "Select fourth harpoon buffer.",
|
||||
},
|
||||
{
|
||||
"<C-[>",
|
||||
function()
|
||||
require("harpoon"):list():prev()
|
||||
end,
|
||||
desc = "Previous harpoon buffer.",
|
||||
},
|
||||
{
|
||||
"<C-]>",
|
||||
function()
|
||||
require("harpoon"):list():next()
|
||||
end,
|
||||
desc = "Next harpoon buffer.",
|
||||
},
|
||||
-- Extensions
|
||||
require("harpoon"):extend({
|
||||
UI_CREATE = function(cx)
|
||||
vim.keymap.set("n", "<C-v>", function()
|
||||
require("harpoon").ui:select_menu_item({ vsplit = true })
|
||||
end, { buffer = cx.buffer, desc = "Open in [V]split" })
|
||||
end,
|
||||
}),
|
||||
},
|
||||
},
|
||||
}
|
||||
29
nvim/lazynvim/lua/plugins/init.lua
Normal file
29
nvim/lazynvim/lua/plugins/init.lua
Normal file
@@ -0,0 +1,29 @@
|
||||
-- Plugins that don't require much configuration are in here.
|
||||
--
|
||||
return {
|
||||
{
|
||||
"folke/snacks.nvim",
|
||||
opts = {
|
||||
indent = { enabled = false },
|
||||
},
|
||||
},
|
||||
{
|
||||
"christoomey/vim-tmux-navigator",
|
||||
lazy = false,
|
||||
cmd = {
|
||||
"TmuxNavigateLeft",
|
||||
"TmuxNavigateDown",
|
||||
"TmuxNavigateUp",
|
||||
"TmuxNavigateRight",
|
||||
"TmuxNavigatePrevious",
|
||||
"TmuxNavigatorProcessList",
|
||||
},
|
||||
keys = {
|
||||
{ "<c-h>", "<cmd><C-U>TmuxNavigateLeft<cr>" },
|
||||
{ "<c-j>", "<cmd><C-U>TmuxNavigateDown<cr>" },
|
||||
{ "<c-k>", "<cmd><C-U>TmuxNavigateUp<cr>" },
|
||||
{ "<c-l>", "<cmd><C-U>TmuxNavigateRight<cr>" },
|
||||
{ "<c-\\>", "<cmd><C-U>TmuxNavigatePrevious<cr>" },
|
||||
},
|
||||
},
|
||||
}
|
||||
12
nvim/lazynvim/lua/plugins/lint.lua
Normal file
12
nvim/lazynvim/lua/plugins/lint.lua
Normal file
@@ -0,0 +1,12 @@
|
||||
return {
|
||||
{
|
||||
"mfussenegger/nvim-lint",
|
||||
opts = {
|
||||
linters = {
|
||||
markdownlint = {
|
||||
args = { "--config", "~/.markdownlint.jsonc", "--" },
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
171
nvim/lazynvim/lua/plugins/lsp.lua
Normal file
171
nvim/lazynvim/lua/plugins/lsp.lua
Normal file
@@ -0,0 +1,171 @@
|
||||
return {
|
||||
{
|
||||
"mason-org/mason.nvim",
|
||||
dependencies = {
|
||||
"neovim/nvim-lspconfig",
|
||||
},
|
||||
opts = {
|
||||
ensure_installed = {
|
||||
"clangd",
|
||||
"marksman",
|
||||
"shfmt",
|
||||
"tinymist",
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
"nvim-treesitter/nvim-treesitter",
|
||||
opts = {
|
||||
ensure_installed = {
|
||||
"bash",
|
||||
"cmake",
|
||||
"dockerfile",
|
||||
"editorconfig",
|
||||
"ini",
|
||||
"json",
|
||||
"jq",
|
||||
"latex",
|
||||
"make",
|
||||
"swift",
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
"neovim/nvim-lspconfig",
|
||||
event = { "BufReadPre", "BufNewFile" },
|
||||
opts = {
|
||||
servers = {
|
||||
bashls = {},
|
||||
clangd = {},
|
||||
dockerls = {},
|
||||
gopls = {},
|
||||
harper_ls = {},
|
||||
jsonls = {},
|
||||
lua_ls = {
|
||||
settings = {
|
||||
Lua = {
|
||||
runtime = {
|
||||
version = "LuaJIT",
|
||||
},
|
||||
diagnostics = {
|
||||
globals = { "vim" },
|
||||
},
|
||||
workspace = {
|
||||
library = vim.api.nvim_get_runtime_file("", true),
|
||||
},
|
||||
telemetry = {
|
||||
enable = false
|
||||
}
|
||||
},
|
||||
}
|
||||
},
|
||||
marksman = {},
|
||||
sourcekit = {},
|
||||
tinymist = {
|
||||
settings = {
|
||||
formatterMode = "typstyle",
|
||||
},
|
||||
},
|
||||
yamlls = {},
|
||||
},
|
||||
setup = {
|
||||
clangd = function(_, opts)
|
||||
opts.capabilities.offsetEncoding = { "utf-16" }
|
||||
end,
|
||||
sourcekit = function(_, opts)
|
||||
opts.cmd = {
|
||||
vim.trim(vim.fn.system("xcrun -f sourcekit-lsp")) or nil
|
||||
}
|
||||
end
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
-- return {
|
||||
-- "neovim/nvim-lspconfig",
|
||||
-- event = { "BufReadPre", "BufNewFile" },
|
||||
-- dependencies = {
|
||||
-- "hrsh7th/cmp-nvim-lsp",
|
||||
-- { "antosha417/nvim-lsp-file-operations", config = true },
|
||||
-- "williamboman/mason.nvim",
|
||||
-- "williamboman/mason-lspconfig.nvim",
|
||||
-- {
|
||||
-- "folke/lazydev.nvim",
|
||||
-- ft = "lua",
|
||||
-- opts = {
|
||||
-- library = {
|
||||
-- { path = "${3rd}/luv/library", words = { "vim%.uv" } },
|
||||
-- },
|
||||
-- },
|
||||
-- },
|
||||
-- },
|
||||
-- config = function()
|
||||
-- require("mason").setup()
|
||||
-- require("mason-lspconfig").setup({
|
||||
-- opts = {
|
||||
-- ensure_installed = lsp_servers,
|
||||
-- },
|
||||
-- })
|
||||
-- local lspconfig = require("lspconfig")
|
||||
-- local cmp_nvim_lsp = require("cmp_nvim_lsp")
|
||||
-- local capabilities = cmp_nvim_lsp.default_capabilities()
|
||||
-- local opts = { noremap = true, silent = true }
|
||||
-- local on_attach = function(_, bufnr)
|
||||
-- opts.buffer = bufnr
|
||||
--
|
||||
-- opts.desc = "Show line diagnostics"
|
||||
-- vim.keymap.set("n", "<leader>d", vim.diagnostic.open_float, opts)
|
||||
--
|
||||
-- opts.desc = "Show diagnostics in Telescope"
|
||||
-- vim.keymap.set("n", "<leader><leader>d", "<CMD>Telescope diagnostics bufnr=0<CR>", opts)
|
||||
--
|
||||
-- opts.desc = "Show documentation for what is under cursor"
|
||||
-- vim.keymap.set("n", "<C-k>", vim.lsp.buf.hover, opts)
|
||||
--
|
||||
-- opts.desc = "[G]oto [D]efinition"
|
||||
-- vim.keymap.set("n", "gd", "<cmd>Telescope lsp_definitions trim_text=true<cr>", opts)
|
||||
--
|
||||
-- opts.desc = "[G]oto [D]eclaration"
|
||||
-- vim.keymap.set("n", "gD", vim.lsp.buf.declaration, opts)
|
||||
--
|
||||
-- opts.desc = "LSP [C]ode [A]ction"
|
||||
-- vim.keymap.set("n", "<leader>ca", vim.lsp.buf.code_action, opts)
|
||||
--
|
||||
-- --opts.desc = "[R]e-[N]ame"
|
||||
-- --vim.keymap.set("n", "<leader>rn", vim.lsp.buf.rename, opts)
|
||||
--
|
||||
-- opts.desc = "[R]eload or start LSP"
|
||||
-- vim.keymap.set("n", "<leader>rl", ":LspRestart | :LspStart<CR>", opts)
|
||||
--
|
||||
-- opts.desc = "Goto previous diagnostic"
|
||||
-- vim.keymap.set("n", "[d", vim.diagnostic.goto_prev, opts)
|
||||
--
|
||||
-- opts.desc = "Goto next diagnostic"
|
||||
-- vim.keymap.set("n", "]d", vim.diagnostic.goto_next, opts)
|
||||
-- end
|
||||
--
|
||||
-- for _, lsp in ipairs(lsp_servers) do
|
||||
-- lspconfig[lsp].setup({
|
||||
-- capabilities = capabilities,
|
||||
-- on_attach = on_attach,
|
||||
-- on_init = function(client)
|
||||
-- -- HACK: to fix some issues with LSP
|
||||
-- -- more details: https://github.com/neovim/neovim/issues/19237#issuecomment-2237037154
|
||||
-- client.offset_encoding = "utf-8"
|
||||
-- end,
|
||||
-- cmd = lsp == "sourcekit" and { vim.trim(vim.fn.system("xcrun -f sourcekit-lsp")) } or nil,
|
||||
-- })
|
||||
-- end
|
||||
--
|
||||
-- -- nice icons
|
||||
-- local signs = { Error = " ", Warn = " ", Hint = " ", Info = " " }
|
||||
-- for type, icon in pairs(signs) do
|
||||
-- local hl = "DiagnosticSign" .. type
|
||||
-- vim.fn.sign_define(hl, { text = icon, texthl = hl, numhl = "" })
|
||||
-- end
|
||||
--
|
||||
-- -- For some reason I was having trouble getting this to work inside the on-attach, so it's here.
|
||||
-- vim.keymap.set("n", "<leader>rn", vim.lsp.buf.rename, { desc = "[R]e-[N]ame" })
|
||||
-- end,
|
||||
-- }
|
||||
39
nvim/lazynvim/lua/plugins/luasnip.lua
Normal file
39
nvim/lazynvim/lua/plugins/luasnip.lua
Normal file
@@ -0,0 +1,39 @@
|
||||
return {
|
||||
{
|
||||
"L3MON4D3/LuaSnip",
|
||||
opts = function()
|
||||
LazyVim.cmp.actions.snippet_forward = function()
|
||||
if require("luasnip").jumpable(1) then
|
||||
require("luasnip").jump(1)
|
||||
return true
|
||||
end
|
||||
end
|
||||
LazyVim.cmp.actions.snippet_stop = function()
|
||||
if require("luasnip").expand_or_jumpable() then -- or just jumpable(1) is fine?
|
||||
require("luasnip").unlink_current()
|
||||
return true
|
||||
end
|
||||
end
|
||||
end,
|
||||
keys = {
|
||||
{
|
||||
"<C-k>",
|
||||
mode = { "i", "s" },
|
||||
function()
|
||||
if ls.expand_or_jumpable() then
|
||||
ls.expand_or_jump()
|
||||
end
|
||||
end
|
||||
},
|
||||
{
|
||||
"<C-j>",
|
||||
mode = { "i", "s" },
|
||||
function()
|
||||
if ls.jumpable(-1) then
|
||||
ls.jump(-1)
|
||||
end
|
||||
end
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
36
nvim/lazynvim/lua/plugins/oil.lua
Normal file
36
nvim/lazynvim/lua/plugins/oil.lua
Normal file
@@ -0,0 +1,36 @@
|
||||
return {
|
||||
"stevearc/oil.nvim",
|
||||
event = "VeryLazy",
|
||||
dependencies = {
|
||||
"nvim-tree/nvim-web-devicons",
|
||||
},
|
||||
opts = {
|
||||
columns = { "icon" },
|
||||
keymaps = {
|
||||
["<C-h>"] = false,
|
||||
["<M-h>"] = "actions.select_split",
|
||||
["<C-v>"] = {
|
||||
"actions.select",
|
||||
opts = { vertical = true },
|
||||
desc = "Open the entry in a vertical split",
|
||||
},
|
||||
view_options = {
|
||||
is_hidden_file = function(name, _) -- second arg is bufnr, but not currently used.
|
||||
-- Don't show .DS_Store in output.
|
||||
local is_ds_store = name ~= ".DS_Store"
|
||||
return not is_ds_store
|
||||
end,
|
||||
},
|
||||
}
|
||||
},
|
||||
keys = {
|
||||
-- Show the parent directory in current window.
|
||||
{ "-", "<CMD>Oil<CR>", desc = "Open parent directory." },
|
||||
-- Open parent directory in floating window.
|
||||
{
|
||||
"<space>-",
|
||||
function() require("oil").toggle_float() end,
|
||||
desc = "Open parent directory in floating window."
|
||||
},
|
||||
},
|
||||
}
|
||||
47
nvim/lazynvim/lua/plugins/snacks.lua
Normal file
47
nvim/lazynvim/lua/plugins/snacks.lua
Normal file
@@ -0,0 +1,47 @@
|
||||
-- NOTE: Header looks jacked up here, but fine when rendered in the ui.
|
||||
return {
|
||||
"folke/snacks.nvim",
|
||||
opts = {
|
||||
picker = {
|
||||
hidden = true,
|
||||
ignored = true
|
||||
},
|
||||
image = {
|
||||
doc = {
|
||||
enabled = true,
|
||||
},
|
||||
},
|
||||
dashboard = {
|
||||
row = nil,
|
||||
col = nil,
|
||||
preset = {
|
||||
header = [[
|
||||
*
|
||||
+++++
|
||||
+++++++++
|
||||
==+++++++++++
|
||||
+===:+++++++++++*
|
||||
+======--+++++++++++*##+====
|
||||
+==========:=+++++++++++#+====
|
||||
+=============-=++++++++++++====
|
||||
+================-:+++++++++++++==
|
||||
+===================--++++++++++++++*
|
||||
+======================--+++++++++++++++*
|
||||
=========================-++++++++++++++++
|
||||
==========================:+++++++++++++++
|
||||
===========================:++++++++++++++
|
||||
===========================-.-++++++++++++
|
||||
===========================-::.=++++++++++
|
||||
===========================----..=++++++++
|
||||
===========================------..:=+++++
|
||||
===========================--------:...-++
|
||||
===========================------------:.:
|
||||
===========================---------------
|
||||
===========================---------------
|
||||
===========================---------------
|
||||
]],
|
||||
},
|
||||
|
||||
},
|
||||
},
|
||||
}
|
||||
11
nvim/lazynvim/lua/plugins/telescope.lua
Normal file
11
nvim/lazynvim/lua/plugins/telescope.lua
Normal file
@@ -0,0 +1,11 @@
|
||||
return {
|
||||
{
|
||||
import = "lazyvim.plugins.extras.editor.telescope",
|
||||
enabled = false,
|
||||
opts = {
|
||||
ensure_installed = {
|
||||
"swift",
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
14
nvim/lazynvim/lua/plugins/todo-comment.lua
Normal file
14
nvim/lazynvim/lua/plugins/todo-comment.lua
Normal file
@@ -0,0 +1,14 @@
|
||||
return {
|
||||
"folke/todo-comments.nvim",
|
||||
dependencies = {
|
||||
"nvim-lua/plenary.nvim",
|
||||
"folke/trouble.nvim",
|
||||
},
|
||||
keys = {
|
||||
{ "<leader>xt", false },
|
||||
{ "<leader>xT", false },
|
||||
{ "<leader>tq", "<CMD>Trouble todo toggle<CR>", desc = "[T]odo [Q]uick fix list." },
|
||||
{ "<leader><leader>t", "<CMD>TodoTelescope<CR>", desc = "[T]odo telescope list." },
|
||||
{ "<leader>tl", "<CMD>TodoLocList<CR>", desc = "[T]odo [L]ocation list." },
|
||||
},
|
||||
}
|
||||
15
nvim/lazynvim/lua/plugins/typst-preview.lua
Normal file
15
nvim/lazynvim/lua/plugins/typst-preview.lua
Normal file
@@ -0,0 +1,15 @@
|
||||
return {
|
||||
'chomosuke/typst-preview.nvim',
|
||||
ft = 'typst', -- or ft = 'typst'
|
||||
version = '1.*',
|
||||
opts = {
|
||||
debug = true,
|
||||
}, -- lazy.nvim will implicitly calls `setup {}`
|
||||
keys = {
|
||||
{
|
||||
"<leader>tp",
|
||||
"<CMD>TypstPreviewToggle<CR>",
|
||||
desc = "Toggle typst preview."
|
||||
},
|
||||
}
|
||||
}
|
||||
73
nvim/lazynvim/lua/plugins/xcodebuild.lua
Normal file
73
nvim/lazynvim/lua/plugins/xcodebuild.lua
Normal file
@@ -0,0 +1,73 @@
|
||||
local progress_handle
|
||||
|
||||
return {
|
||||
"wojciech-kulik/xcodebuild.nvim",
|
||||
event = "VeryLazy",
|
||||
dependencies = {
|
||||
"nvim-telescope/telescope.nvim",
|
||||
"MunifTanjim/nui.nvim",
|
||||
},
|
||||
opts = {
|
||||
show_build_progress_bar = false,
|
||||
logs = {
|
||||
auto_open_on_success_tests = false,
|
||||
auto_open_on_failed_tests = false,
|
||||
auto_open_on_success_build = false,
|
||||
auto_open_on_failed_build = false,
|
||||
auto_focus = false,
|
||||
auto_close_on_app_launch = true,
|
||||
only_summary = true,
|
||||
notify = function(message, severity)
|
||||
local fidget = require("fidget")
|
||||
if progress_handle then
|
||||
progress_handle.message = message
|
||||
if not message:find("Loading") then
|
||||
progress_handle:finish()
|
||||
progress_handle = nil
|
||||
if vim.trim(message) ~= "" then
|
||||
fidget.notify(message, severity)
|
||||
end
|
||||
end
|
||||
else
|
||||
fidget.notify(message, severity)
|
||||
end
|
||||
end,
|
||||
notify_progress = function(message)
|
||||
local progress = require("fidget.progress")
|
||||
|
||||
if progress_handle then
|
||||
progress_handle.title = ""
|
||||
progress_handle.message = message
|
||||
else
|
||||
progress_handle = progress.handle.create({
|
||||
message = message,
|
||||
lsp_client = { name = "xcodebuild.nvim" },
|
||||
})
|
||||
end
|
||||
end,
|
||||
},
|
||||
code_coverage = {
|
||||
enabled = true,
|
||||
},
|
||||
},
|
||||
keys = {
|
||||
{ "<leader>X", "<cmd>XcodebuildPicker<cr>", desc = "Show Xcodebuild Actions" },
|
||||
{ "<leader>xf", "<cmd>XcodebuildProjectManager<cr>", desc = "Show Project Manager Actions" },
|
||||
{ "<leader>xb", "<cmd>XcodebuildBuild<cr>", desc = "Build Project" },
|
||||
{ "<leader>xB", "<cmd>XcodebuildBuildForTesting<cr>", desc = "Build For Testing" },
|
||||
{ "<leader>xr", "<cmd>XcodebuildBuildRun<cr>", desc = "Build & Run Project" },
|
||||
{ "<leader>xt", "<cmd>XcodebuildTest<cr>", desc = "Run Tests" },
|
||||
{ "<leader>xt", "<cmd>XcodebuildTestSelected<cr>", desc = "Run Selected Tests" },
|
||||
{ "<leader>xT", "<cmd>XcodebuildTestClass<cr>", desc = "Run This Test Class" },
|
||||
{ "<leader>xl", "<cmd>XcodebuildToggleLogs<cr>", desc = "Toggle Xcodebuild Logs" },
|
||||
{ "<leader>xc", "<cmd>XcodebuildToggleCodeCoverage<cr>", desc = "Toggle Code Coverage" },
|
||||
{ "<leader>xC", "<cmd>XcodebuildShowCodeCoverageReport<cr>", desc = "Show Code Coverage Report" },
|
||||
{ "<leader>xe", "<cmd>XcodebuildTestExplorerToggle<cr>", desc = "Toggle Test Explorer" },
|
||||
{ "<leader>xs", "<cmd>XcodebuildFailingSnapshots<cr>", desc = "Show Failing Snapshots" },
|
||||
{ "<leader>xd", "<cmd>XcodebuildSelectDevice<cr>", desc = "Select Device" },
|
||||
{ "<leader>xp", "<cmd>XcodebuildSelectTestPlan<cr>", desc = "Select Test Plan" },
|
||||
{ "<leader>xq", "<cmd>Telescope quickfix<cr", desc = "Show QuickFix List" },
|
||||
{ "<leader>xx", "<cmd>XcodebuildQuickfixLine<cr>", desc = "Quickfix Line" },
|
||||
{ "<leader>xa", "<cmd>XcodebuildCodeActions<cr>", desc = "Show Code Actions" },
|
||||
},
|
||||
}
|
||||
17
nvim/lazynvim/snippets/init.lua
Normal file
17
nvim/lazynvim/snippets/init.lua
Normal file
@@ -0,0 +1,17 @@
|
||||
-- Setup snippets here.
|
||||
local ls = require("luasnip")
|
||||
local s = ls.snippet
|
||||
local sn = ls.snippet_node
|
||||
local ms = ls.multi_snippet
|
||||
local i = ls.insert_node
|
||||
local f = ls.function_node
|
||||
local c = ls.choice_node
|
||||
local t = ls.text_node
|
||||
|
||||
ls.add_snippets("lua", {
|
||||
s("hello", {
|
||||
t('print("hello '),
|
||||
i(1),
|
||||
t(' world")'),
|
||||
}),
|
||||
})
|
||||
41
nvim/lazynvim/snippets/lua.lua
Normal file
41
nvim/lazynvim/snippets/lua.lua
Normal file
@@ -0,0 +1,41 @@
|
||||
-- Setup snippets here.
|
||||
local ls = require("luasnip")
|
||||
local s = ls.snippet
|
||||
local sn = ls.snippet_node
|
||||
local ms = ls.multi_snippet
|
||||
local i = ls.insert_node
|
||||
local f = ls.function_node
|
||||
local c = ls.choice_node
|
||||
local t = ls.text_node
|
||||
local fmt = require("luasnip.extras.fmt").fmt
|
||||
|
||||
ls.add_snippets("lua", {
|
||||
-- Setup a new snippet file.
|
||||
s("sf", {
|
||||
t({
|
||||
"-- Setup snippets.",
|
||||
'local ls = require("luasnip")',
|
||||
"local s = ls.snippet",
|
||||
"local sn = ls.snippet_node",
|
||||
"local ms = ls.multi_snippet",
|
||||
"local i = ls.insert_node",
|
||||
"local f = ls.function_node",
|
||||
"local c = ls.choice_node",
|
||||
"local t = ls.text_node",
|
||||
"-- Add snippets",
|
||||
}),
|
||||
t('ls.add_snippets("'),
|
||||
i(1, "<file-type>"),
|
||||
t({
|
||||
'", {',
|
||||
"\t-- Define snippets here.",
|
||||
"})",
|
||||
}),
|
||||
}),
|
||||
s("c", {
|
||||
c(1, {
|
||||
fmt("{}", { i(1), t("debug") }),
|
||||
fmt("{}", { i(1), t("warning") }),
|
||||
}),
|
||||
}),
|
||||
})
|
||||
131
nvim/lazynvim/snippets/swift.lua
Normal file
131
nvim/lazynvim/snippets/swift.lua
Normal file
@@ -0,0 +1,131 @@
|
||||
-- Setup snippets.
|
||||
local ls = require("luasnip")
|
||||
local s = ls.snippet
|
||||
local sn = ls.snippet_node
|
||||
local ms = ls.multi_snippet
|
||||
local i = ls.insert_node
|
||||
local f = ls.function_node
|
||||
local c = ls.choice_node
|
||||
local t = ls.text_node
|
||||
local fmt = require("luasnip.extras.fmt").fmt
|
||||
local rep = require("luasnip.extras").rep
|
||||
-- Add snippets
|
||||
ls.add_snippets("swift", {
|
||||
-- Add a dependency snippet.
|
||||
s({ trig = "@d", desc = "Add a dependency." }, fmt("@Dependency(\\.{}) var {}", { i(1), rep(1) })),
|
||||
|
||||
-- Add a dependency client.
|
||||
s(
|
||||
{
|
||||
trig = "@dc",
|
||||
desc = "Add a dependency client.",
|
||||
},
|
||||
fmt(
|
||||
[[
|
||||
public extension DependencyValues {{
|
||||
var {}: {} {{
|
||||
get {{ self[{}.self] }}
|
||||
set {{ self[{}.self] = newValue }}
|
||||
}}
|
||||
}}
|
||||
|
||||
@DependencyClient
|
||||
public struct {} {{
|
||||
|
||||
// Insert interface here.
|
||||
{}
|
||||
}}
|
||||
|
||||
extension {}: TestDependencyKey {{
|
||||
public static let testValue: {} = Self()
|
||||
}}
|
||||
|
||||
]],
|
||||
{
|
||||
i(1, "<name>"),
|
||||
i(2, "<Dependency>"),
|
||||
rep(2),
|
||||
rep(2),
|
||||
rep(2),
|
||||
i(0),
|
||||
rep(2),
|
||||
rep(2),
|
||||
}
|
||||
)
|
||||
),
|
||||
|
||||
s(
|
||||
{ trig = "str", desc = "Add a struct" },
|
||||
fmt(
|
||||
[[
|
||||
struct {}: {} {{
|
||||
{}
|
||||
}}
|
||||
]],
|
||||
{ i(1, "<Name>"), i(2, "<Protocols>"), i(0) }
|
||||
)
|
||||
),
|
||||
|
||||
-- Decorate a type or function with an @_spi(...)
|
||||
s({ trig = "@_s", desc = "Add spi modifier." }, fmt("@_spi({})", { i(1, "name") })),
|
||||
|
||||
-- Add an @_spi(...) import ...
|
||||
s(
|
||||
{ trig = "@_si", desc = "Import with spi." },
|
||||
fmt(
|
||||
[[
|
||||
@_spi({}) import {}
|
||||
{}
|
||||
]],
|
||||
{ i(1, "name"), i(2, "module"), i(0) }
|
||||
)
|
||||
),
|
||||
|
||||
-- Document a function
|
||||
-- TODO: add dynamic number of prameters.
|
||||
s(
|
||||
{ trig = "docf", desc = "Document a function." },
|
||||
fmt(
|
||||
[[
|
||||
/// {}
|
||||
///
|
||||
/// - Parameters:
|
||||
/// - {}: {}
|
||||
]],
|
||||
{ i(1, "A short description."), i(2, "<param>"), i(3, "Describe the parameter.") }
|
||||
)
|
||||
),
|
||||
|
||||
-- Add a parameter to a documentation string.
|
||||
s(
|
||||
{ trig = "param", desc = "Add a parameter to documentation" },
|
||||
fmt(
|
||||
[[
|
||||
/// - {}: {}
|
||||
]],
|
||||
{ i(1, "<param>"), i(2, "<description>") }
|
||||
)
|
||||
),
|
||||
|
||||
-- Add a withDependencies
|
||||
s(
|
||||
{ trig = "wd", desc = "withDependencies" },
|
||||
fmt(
|
||||
[[
|
||||
withDependencies {{
|
||||
$0.{} = {}
|
||||
}} operation: {{
|
||||
@Dependency(\.{}) var {}
|
||||
{}
|
||||
}}
|
||||
]],
|
||||
{
|
||||
i(1, "<dependency>"),
|
||||
i(2, "<override>"),
|
||||
rep(1),
|
||||
rep(1),
|
||||
i(0),
|
||||
}
|
||||
)
|
||||
),
|
||||
})
|
||||
21
nvim/lazynvim/spell/en.utf-8.add
Executable file
21
nvim/lazynvim/spell/en.utf-8.add
Executable file
@@ -0,0 +1,21 @@
|
||||
MeasureQuick
|
||||
Housh
|
||||
sealtite
|
||||
Subcool
|
||||
OEM
|
||||
NEC
|
||||
AHJ
|
||||
CFM
|
||||
Hydronic
|
||||
subpar
|
||||
quo
|
||||
IAQ
|
||||
wc
|
||||
HVAC
|
||||
dehumidification
|
||||
ansible
|
||||
orchestrator
|
||||
ethernet
|
||||
unifi
|
||||
wildcard
|
||||
Housh
|
||||
BIN
nvim/lazynvim/spell/en.utf-8.add.spl
Executable file
BIN
nvim/lazynvim/spell/en.utf-8.add.spl
Executable file
Binary file not shown.
3
nvim/lazynvim/stylua.toml
Normal file
3
nvim/lazynvim/stylua.toml
Normal file
@@ -0,0 +1,3 @@
|
||||
indent_type = "Spaces"
|
||||
indent_width = 2
|
||||
column_width = 120
|
||||
@@ -1,16 +0,0 @@
|
||||
-- Remove all trailing whitespace on save
|
||||
vim.api.nvim_exec([[
|
||||
augroup TrimWhiteSpace
|
||||
au!
|
||||
autocmd BufWritePre * :%s/\s\+$//e
|
||||
augroup END
|
||||
]], false)
|
||||
|
||||
-- Prevent new line to also start with a comment
|
||||
vim.api.nvim_exec([[
|
||||
augroup NewLineComment
|
||||
au!
|
||||
au FileType * setlocal formatoptions-=c formatoptions-=r formatoptions-=o
|
||||
augroup END
|
||||
]], false)
|
||||
|
||||
@@ -1,32 +0,0 @@
|
||||
local keymap = vim.api.nvim_set_keymap
|
||||
local default_options = {noremap = true, silent = true}
|
||||
-- local expr_options = {noremap = true, expr = true, silent = true}
|
||||
|
||||
-- easier escape key mapping
|
||||
keymap('i', 'jk', '<ESC>', default_options)
|
||||
|
||||
keymap('n', '<c-s>', ':w<CR>', default_options)
|
||||
keymap('i', '<c-s>', '<ESC>:w<CR>a', default_options)
|
||||
|
||||
-- paste over currently selected text without yanking it
|
||||
keymap("v", "p", "\"_dP", default_options)
|
||||
|
||||
-- buffer focus
|
||||
keymap('n', '<c-j>', '<c-w>j', default_options)
|
||||
keymap('n', '<c-h>', '<c-w>h', default_options)
|
||||
keymap('n', '<c-k>', '<c-w>k', default_options)
|
||||
keymap('n', '<c-l>', '<c-w>l', default_options)
|
||||
|
||||
-- Resizing panes
|
||||
keymap("n", "<Left>", ":vertical resize +1<CR>", default_options)
|
||||
keymap("n", "<Right>", ":vertical resize -1<CR>", default_options)
|
||||
keymap("n", "<Up>", ":resize -1<CR>", default_options)
|
||||
keymap("n", "<Down>", ":resize +1<CR>", default_options)
|
||||
|
||||
-- Move selected line / block of text in visual mode
|
||||
keymap("x", "K", ":move '<-2<CR>gv-gv", default_options)
|
||||
keymap("x", "J", ":move '>+1<CR>gv-gv", default_options)
|
||||
|
||||
-- Toggle nvim-tree open or closed
|
||||
keymap("n", "<c-n>", "<CMD>:Neotree toggle<CR>", default_options)
|
||||
|
||||
@@ -1,134 +0,0 @@
|
||||
return {
|
||||
"hrsh7th/nvim-cmp",
|
||||
enabled = true,
|
||||
dependencies = {
|
||||
"hrsh7th/cmp-nvim-lsp",
|
||||
"hrsh7th/cmp-buffer",
|
||||
"hrsh7th/cmp-path",
|
||||
"hrsh7th/cmp-cmdline",
|
||||
"hrsh7th/cmp-vsnip",
|
||||
"f3fora/cmp-spell",
|
||||
"hrsh7th/cmp-calc",
|
||||
"hrsh7th/cmp-emoji"
|
||||
},
|
||||
config = function()
|
||||
-- Setup nvim-cmp.
|
||||
local cmp = require "cmp"
|
||||
local lspkind = require("lspkind")
|
||||
local capabilities = require('cmp_nvim_lsp').default_capabilities()
|
||||
|
||||
local has_words_before = function()
|
||||
local line, col = unpack(vim.api.nvim_win_get_cursor(0))
|
||||
return col ~= 0
|
||||
and vim.api.nvim_buf_get_lines(0, line - 1, line, true)[1]:sub(
|
||||
col, col):match("%s") == nil
|
||||
end
|
||||
|
||||
local feedkey = function(key, mode)
|
||||
vim.api.nvim_feedkeys(vim.api.nvim_replace_termcodes(key, true, true, true),
|
||||
mode, true)
|
||||
end
|
||||
|
||||
|
||||
require('lspconfig').sourcekit.setup {
|
||||
capabilities = capabilities
|
||||
}
|
||||
|
||||
lspkind.init({
|
||||
symbol_map = {
|
||||
Text = "",
|
||||
Method = "",
|
||||
Function = "",
|
||||
Constructor = "",
|
||||
Field = "ﰠ",
|
||||
Variable = "",
|
||||
Class = "ﴯ",
|
||||
Interface = "",
|
||||
Module = "",
|
||||
Property = "ﰠ",
|
||||
Unit = "塞",
|
||||
Value = "",
|
||||
Enum = "",
|
||||
Keyword = "",
|
||||
Snippet = "",
|
||||
Color = "",
|
||||
File = "",
|
||||
Reference = "",
|
||||
Folder = "",
|
||||
EnumMember = "",
|
||||
Constant = "",
|
||||
Struct = "פּ",
|
||||
Event = "",
|
||||
Operator = "",
|
||||
TypeParameter = ""
|
||||
}
|
||||
})
|
||||
|
||||
cmp.setup({
|
||||
formatting = {
|
||||
format = lspkind.cmp_format {
|
||||
with_text = false,
|
||||
maxwidth = 50,
|
||||
menu = {
|
||||
buffer = "BUF",
|
||||
nvim_lsp = "LSP",
|
||||
path = "PATH",
|
||||
vsnip = "SNIP",
|
||||
calc = "CALC",
|
||||
spell = "SPELL",
|
||||
emoji = "EMOJI"
|
||||
}
|
||||
}
|
||||
},
|
||||
experimental = {native_menu = false, ghost_text = false},
|
||||
snippet = {
|
||||
expand = function(args)
|
||||
vim.fn["vsnip#anonymous"](args.body) -- For `vsnip` users.
|
||||
end
|
||||
},
|
||||
mapping = {
|
||||
["<C-p>"] = cmp.mapping.select_prev_item(),
|
||||
["<C-n>"] = cmp.mapping.select_next_item(),
|
||||
["<C-d>"] = cmp.mapping.scroll_docs(-4),
|
||||
["<C-f>"] = cmp.mapping.scroll_docs(4),
|
||||
["<C-Space>"] = cmp.mapping.complete(),
|
||||
["<C-e>"] = cmp.mapping.close(),
|
||||
["<CR>"] = cmp.mapping.confirm {
|
||||
behavior = cmp.ConfirmBehavior.Replace,
|
||||
select = false
|
||||
},
|
||||
["<Tab>"] = cmp.mapping(function(fallback)
|
||||
if cmp.visible() then
|
||||
cmp.select_next_item()
|
||||
elseif vim.fn["vsnip#available"](1) == 1 then
|
||||
feedkey("<Plug>(vsnip-expand-or-jump)", "")
|
||||
elseif has_words_before() then
|
||||
cmp.complete()
|
||||
else
|
||||
fallback() -- The fallback function sends a already mapped key. In this case, it's probably `<Tab>`.
|
||||
end
|
||||
end, {"i", "s"}),
|
||||
["<S-Tab>"] = cmp.mapping(function()
|
||||
if cmp.visible() then
|
||||
cmp.select_prev_item()
|
||||
elseif vim.fn["vsnip#jumpable"](-1) == 1 then
|
||||
feedkey("<Plug>(vsnip-jump-prev)", "")
|
||||
end
|
||||
end, {"i", "s"})
|
||||
},
|
||||
sources = {
|
||||
{name = "nvim_lsp"}, {name = "buffer", keyword_length = 5},
|
||||
{name = "vsnip"}, {name = "calc"}, {name = "emoji"}, {name = "spell"},
|
||||
{name = "path"}
|
||||
}
|
||||
})
|
||||
|
||||
-- Use buffer source for `/`.
|
||||
cmp.setup.cmdline("/", {sources = {{name = "buffer"}}})
|
||||
|
||||
-- Use cmdline & path source for ':'.
|
||||
cmp.setup.cmdline(":", {
|
||||
sources = cmp.config.sources({{name = "path"}}, {{name = "cmdline"}})
|
||||
})
|
||||
end
|
||||
}
|
||||
@@ -1,48 +0,0 @@
|
||||
return {
|
||||
"sindrets/diffview.nvim",
|
||||
cmd = {
|
||||
"DiffviewOpen",
|
||||
"DiffviewClose",
|
||||
"DiffviewToggleFiles",
|
||||
"DiffviewFocusFiles"
|
||||
},
|
||||
config = function()
|
||||
local cb = require('diffview.config').diffview_callback
|
||||
|
||||
require('diffview').setup {
|
||||
diff_binaries = false, -- Show diffs for binaries
|
||||
use_icons = true, -- Requires nvim-web-devicons
|
||||
file_panel = {
|
||||
width = 35,
|
||||
},
|
||||
key_bindings = {
|
||||
disable_defaults = false, -- Disable the default key bindings
|
||||
-- The `view` bindings are active in the diff buffers, only when the current
|
||||
-- tabpage is a Diffview.
|
||||
view = {
|
||||
["<tab>"] = cb("select_next_entry"), -- Open the diff for the next file
|
||||
["<s-tab>"] = cb("select_prev_entry"), -- Open the diff for the previous file
|
||||
["<leader>e"] = cb("focus_files"), -- Bring focus to the files panel
|
||||
["<leader>b"] = cb("toggle_files"), -- Toggle the files panel.
|
||||
},
|
||||
file_panel = {
|
||||
["j"] = cb("next_entry"), -- Bring the cursor to the next file entry
|
||||
["<down>"] = cb("next_entry"),
|
||||
["k"] = cb("prev_entry"), -- Bring the cursor to the previous file entry.
|
||||
["<up>"] = cb("prev_entry"),
|
||||
["<cr>"] = cb("select_entry"), -- Open the diff for the selected entry.
|
||||
["o"] = cb("select_entry"),
|
||||
["<2-LeftMouse>"] = cb("select_entry"),
|
||||
["-"] = cb("toggle_stage_entry"), -- Stage / unstage the selected entry.
|
||||
["S"] = cb("stage_all"), -- Stage all entries.
|
||||
["U"] = cb("unstage_all"), -- Unstage all entries.
|
||||
["R"] = cb("refresh_files"), -- Update stats and entries in the file list.
|
||||
["<tab>"] = cb("select_next_entry"),
|
||||
["<s-tab>"] = cb("select_prev_entry"),
|
||||
["<leader>e"] = cb("focus_files"),
|
||||
["<leader>b"] = cb("toggle_files"),
|
||||
}
|
||||
}
|
||||
}
|
||||
end
|
||||
}
|
||||
@@ -1,9 +0,0 @@
|
||||
-- This file contains plugin's that don't require much configuration.
|
||||
return {
|
||||
{
|
||||
"hrsh7th/vim-vsnip",
|
||||
config = function()
|
||||
vim.g.vsnip_snippet_dir = os.getenv('HOME') .. '/.config/nvim/snippets/'
|
||||
end
|
||||
},
|
||||
}
|
||||
@@ -1,6 +0,0 @@
|
||||
return {
|
||||
"williamboman/nvim-lsp-installer",
|
||||
config = function()
|
||||
require("nvim-lsp-installer").setup()
|
||||
end
|
||||
}
|
||||
@@ -1,158 +0,0 @@
|
||||
return {
|
||||
"neovim/nvim-lspconfig",
|
||||
dependencies = {
|
||||
"hrsh7th/cmp-nvim-lsp",
|
||||
},
|
||||
config = function()
|
||||
require("mason").setup()
|
||||
require("mason-lspconfig").setup()
|
||||
local nvim_lsp = require("lspconfig")
|
||||
|
||||
-- Use an on_attach function to only map the following keys
|
||||
-- after the language server attaches to the current buffer
|
||||
local on_attach = function(bufnr)
|
||||
local function buf_set_keymap(...)
|
||||
vim.api.nvim_buf_set_keymap(bufnr, ...)
|
||||
end
|
||||
|
||||
-- Mappings.
|
||||
local opts = {noremap = true, silent = true}
|
||||
|
||||
-- See `:help vim.lsp.*` for documentation on any of the below functions
|
||||
buf_set_keymap("n", "gD", "<Cmd>lua vim.lsp.buf.declaration()<CR>", opts)
|
||||
buf_set_keymap("n", "gd", "<Cmd>lua vim.lsp.buf.definition()<CR>", opts)
|
||||
buf_set_keymap("n", "K", "<Cmd>lua vim.lsp.buf.hover()<CR>", opts)
|
||||
buf_set_keymap("n", "gi", "<cmd>lua vim.lsp.buf.implementation()<CR>", opts)
|
||||
buf_set_keymap("n", "gT", vim.lsp.buf.type_definition, opts)
|
||||
-- buf_set_keymap('n', '<C-k>', '<cmd>lua vim.lsp.buf.signature_help()<CR>', opts)
|
||||
buf_set_keymap("n", "<space>wa",
|
||||
"<cmd>lua vim.lsp.buf.add_workspace_folder()<CR>", opts)
|
||||
buf_set_keymap("n", "<space>wr",
|
||||
"<cmd>lua vim.lsp.buf.remove_workspace_folder()<CR>", opts)
|
||||
buf_set_keymap("n", "<space>wl",
|
||||
"<cmd>lua print(vim.inspect(vim.lsp.buf.list_workspace_folders()))<CR>",
|
||||
opts)
|
||||
buf_set_keymap("n", "<space>D",
|
||||
"<cmd>lua vim.lsp.buf.type_definition()<CR>", opts)
|
||||
buf_set_keymap("n", "<space>rn", "<cmd>lua vim.lsp.buf.rename()<CR>", opts)
|
||||
buf_set_keymap("n", "<space>ca", "<cmd>lua vim.lsp.buf.code_action()<CR>",
|
||||
opts)
|
||||
buf_set_keymap("n", "gr", "<cmd>lua vim.lsp.buf.references()<CR>", opts)
|
||||
buf_set_keymap("n", "<space>e", "<cmd>lua vim.lsp.diagnostic.show_line_diagnostics()<CR>", opts)
|
||||
buf_set_keymap("n", "[d", "<cmd>lua vim.lsp.diagnostic.goto_prev()<CR>", opts)
|
||||
|
||||
buf_set_keymap("n", "]d", "<cmd>lua vim.lsp.diagnostic.goto_next()<CR>", opts)
|
||||
buf_set_keymap("n", "<space>q", "<cmd>lua vim.lsp.diagnostic.set_loclist()<CR>", opts)
|
||||
buf_set_keymap("n", "<space>f", "<cmd>lua vim.lsp.buf.formatting()<CR>", opts)
|
||||
|
||||
end
|
||||
|
||||
-- Use a loop to conveniently call 'setup' on multiple servers and
|
||||
-- map buffer local keybindings when the language server attaches
|
||||
--local capabilities = vim.lsp.protocol.make_client_capabilities()
|
||||
capabilities = require("cmp_nvim_lsp").default_capabilities()
|
||||
|
||||
local servers = {
|
||||
"gopls", "bashls", "jedi_language_server", "dockerls", "terraformls",
|
||||
"tsserver", "texlab", "yamlls", "jsonls", "clangd", "sourcekit"
|
||||
}
|
||||
for _, lsp in ipairs(servers) do
|
||||
nvim_lsp[lsp].setup {
|
||||
on_attach = on_attach,
|
||||
capabilities = capabilities,
|
||||
settings = {
|
||||
gopls = {analyses = {unusedparams = false}, staticcheck = true},
|
||||
json = {
|
||||
format = {enabled = false},
|
||||
schemas = {
|
||||
{
|
||||
description = "ESLint config",
|
||||
fileMatch = {".eslintrc.json", ".eslintrc"},
|
||||
url = "http://json.schemastore.org/eslintrc"
|
||||
}, {
|
||||
description = "Package config",
|
||||
fileMatch = {"package.json"},
|
||||
url = "https://json.schemastore.org/package"
|
||||
}, {
|
||||
description = "Packer config",
|
||||
fileMatch = {"packer.json"},
|
||||
url = "https://json.schemastore.org/packer"
|
||||
}, {
|
||||
description = "Renovate config",
|
||||
fileMatch = {
|
||||
"renovate.json", "renovate.json5",
|
||||
".github/renovate.json", ".github/renovate.json5",
|
||||
".renovaterc", ".renovaterc.json"
|
||||
},
|
||||
url = "https://docs.renovatebot.com/renovate-schema"
|
||||
}, {
|
||||
description = "OpenApi config",
|
||||
fileMatch = {"*api*.json"},
|
||||
url = "https://raw.githubusercontent.com/OAI/OpenAPI-Specification/main/schemas/v3.1/schema.json"
|
||||
}
|
||||
}
|
||||
},
|
||||
redhat = {telemetry = {enabled = false}},
|
||||
texlab = {
|
||||
auxDirectory = ".",
|
||||
bibtexFormatter = "texlab",
|
||||
build = {
|
||||
args = {
|
||||
"--keep-intermediates", "--keep-logs", "--synctex", "%f"
|
||||
},
|
||||
executable = "tectonic",
|
||||
forwardSearchAfter = false,
|
||||
onSave = false
|
||||
},
|
||||
chktex = {onEdit = false, onOpenAndSave = false},
|
||||
diagnosticsDelay = 300,
|
||||
formatterLineLength = 80,
|
||||
forwardSearch = {args = {}},
|
||||
latexFormatter = "latexindent",
|
||||
latexindent = {modifyLineBreaks = false}
|
||||
},
|
||||
yaml = {
|
||||
schemaStore = {
|
||||
enable = true,
|
||||
url = "https://www.schemastore.org/api/json/catalog.json"
|
||||
},
|
||||
schemas = {
|
||||
kubernetes = "/*.yaml",
|
||||
["http://json.schemastore.org/github-workflow"] = ".github/workflows/*.{yml,yaml}",
|
||||
["http://json.schemastore.org/github-action"] = ".github/action.{yml,yaml}",
|
||||
["http://json.schemastore.org/ansible-stable-2.9"] = "roles/tasks/*.{yml,yaml}",
|
||||
["http://json.schemastore.org/prettierrc"] = ".prettierrc.{yml,yaml}",
|
||||
["http://json.schemastore.org/kustomization"] = "kustomization.{yml,yaml}",
|
||||
["http://json.schemastore.org/ansible-playbook"] = "*play*.{yml,yaml}",
|
||||
["http://json.schemastore.org/chart"] = "Chart.{yml,yaml}",
|
||||
["https://json.schemastore.org/dependabot-v2"] = ".github/dependabot.{yml,yaml}",
|
||||
["https://json.schemastore.org/gitlab-ci"] = "*gitlab-ci*.{yml,yaml}",
|
||||
["https://raw.githubusercontent.com/OAI/OpenAPI-Specification/main/schemas/v3.1/schema.json"] = "*api*.{yml,yaml}",
|
||||
["https://raw.githubusercontent.com/compose-spec/compose-spec/master/schema/compose-spec.json"] = "docker-compose.{yml,yaml}",
|
||||
["https://raw.githubusercontent.com/argoproj/argo-workflows/master/api/jsonschema/schema.json"] = "*flow*.{yml,yaml}"
|
||||
},
|
||||
format = {enabled = false},
|
||||
validate = false, -- TODO: conflicts between Kubernetes resources and kustomization.yaml
|
||||
completion = true,
|
||||
hover = true
|
||||
}
|
||||
},
|
||||
flags = {debounce_text_changes = 150}
|
||||
}
|
||||
require"lsp_signature".setup({
|
||||
bind = true, -- This is mandatory, otherwise border config won't get registered.
|
||||
floating_window = true, -- show hint in a floating window, set to false for virtual text only mode
|
||||
doc_lines = 2, -- Set to 0 for not showing doc
|
||||
hint_prefix = "🐼 ",
|
||||
-- use_lspsaga = false, -- set to true if you want to use lspsaga popup
|
||||
handler_opts = {
|
||||
border = "shadow" -- double, single, shadow, none
|
||||
}
|
||||
})
|
||||
end
|
||||
|
||||
-- Test source-kit
|
||||
require('lspconfig').sourcekit.setup{}
|
||||
|
||||
end
|
||||
}
|
||||
@@ -1,119 +0,0 @@
|
||||
return {
|
||||
"nvim-lualine/lualine.nvim",
|
||||
config = function()
|
||||
local colors = {
|
||||
red = '#ca1243',
|
||||
grey = '#a0a1a7',
|
||||
black = '#383a42',
|
||||
white = '#f3f3f3',
|
||||
light_green = '#83a598',
|
||||
orange = '#fe8019',
|
||||
green = '#8ec07c',
|
||||
}
|
||||
|
||||
local empty = require('lualine.component'):extend()
|
||||
function empty:draw(default_highlight)
|
||||
self.status = ''
|
||||
self.applied_separator = ''
|
||||
self:apply_highlights(default_highlight)
|
||||
self:apply_section_separators()
|
||||
return self.status
|
||||
end
|
||||
|
||||
-- Put proper separators and gaps between components in sections
|
||||
local function process_sections(sections)
|
||||
for name, section in pairs(sections) do
|
||||
local left = name:sub(9, 10) < 'x'
|
||||
for pos = 1, name ~= 'lualine_z' and #section or #section - 1 do
|
||||
table.insert(section, pos * 2, { empty, color = { fg = colors.white, bg = colors.white } })
|
||||
end
|
||||
for id, comp in ipairs(section) do
|
||||
if type(comp) ~= 'table' then
|
||||
comp = { comp }
|
||||
section[id] = comp
|
||||
end
|
||||
comp.separator = left and { right = '' } or { left = '' }
|
||||
end
|
||||
end
|
||||
return sections
|
||||
end
|
||||
|
||||
local function search_result()
|
||||
if vim.v.hlsearch == 0 then
|
||||
return ''
|
||||
end
|
||||
local last_search = vim.fn.getreg '/'
|
||||
if not last_search or last_search == '' then
|
||||
return ''
|
||||
end
|
||||
local searchcount = vim.fn.searchcount { maxcount = 9999 }
|
||||
return last_search .. '(' .. searchcount.current .. '/' .. searchcount.total .. ')'
|
||||
end
|
||||
|
||||
local function modified()
|
||||
if vim.bo.modified then
|
||||
return '+'
|
||||
elseif vim.bo.modifiable == false or vim.bo.readonly == true then
|
||||
return '-'
|
||||
end
|
||||
return ''
|
||||
end
|
||||
|
||||
require('lualine').setup {
|
||||
options = {
|
||||
theme = 'auto',
|
||||
component_separators = '',
|
||||
section_separators = { left = '', right = '' },
|
||||
},
|
||||
sections = process_sections {
|
||||
lualine_a = { 'mode' },
|
||||
lualine_b = {
|
||||
'branch',
|
||||
'diff',
|
||||
{
|
||||
'diagnostics',
|
||||
source = { 'nvim' },
|
||||
sections = { 'error' },
|
||||
diagnostics_color = { error = { bg = colors.red, fg = colors.white } },
|
||||
},
|
||||
{
|
||||
'diagnostics',
|
||||
source = { 'nvim' },
|
||||
sections = { 'warn' },
|
||||
diagnostics_color = { warn = { bg = colors.orange, fg = colors.white } },
|
||||
},
|
||||
{ 'filename', file_status = false, path = 1 },
|
||||
{ modified, color = { bg = colors.red } },
|
||||
{
|
||||
'%w',
|
||||
cond = function()
|
||||
return vim.wo.previewwindow
|
||||
end,
|
||||
},
|
||||
{
|
||||
'%r',
|
||||
cond = function()
|
||||
return vim.bo.readonly
|
||||
end,
|
||||
},
|
||||
{
|
||||
'%q',
|
||||
cond = function()
|
||||
return vim.bo.buftype == 'quickfix'
|
||||
end,
|
||||
},
|
||||
},
|
||||
lualine_c = {},
|
||||
lualine_x = {},
|
||||
lualine_y = { search_result, 'filetype' },
|
||||
lualine_z = { '%l:%c', '%p%%/%L' },
|
||||
},
|
||||
inactive_sections = {
|
||||
lualine_c = { '%f %y %m' },
|
||||
lualine_x = {},
|
||||
},
|
||||
tabline = {},
|
||||
extensions = {"nvim-tree"}
|
||||
}
|
||||
end
|
||||
}
|
||||
@@ -1,25 +0,0 @@
|
||||
return {
|
||||
"williamboman/mason-lspconfig.nvim",
|
||||
dependencies = {
|
||||
"williamboman/mason.nvim",
|
||||
"onsails/lspkind-nvim",
|
||||
"famiu/bufdelete.nvim",
|
||||
"ray-x/lsp_signature.nvim",
|
||||
"neovim/nvim-lspconfig"
|
||||
},
|
||||
opts = {
|
||||
ensure_installed = {
|
||||
"bashls",
|
||||
"clangd",
|
||||
"dockerls",
|
||||
"gopls",
|
||||
"jsonls",
|
||||
"jedi_language_server",
|
||||
"lua_ls",
|
||||
"terraformls",
|
||||
"tsserver",
|
||||
"texlab",
|
||||
"yamlls",
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,16 +0,0 @@
|
||||
return {
|
||||
"nvim-neo-tree/neo-tree.nvim",
|
||||
branch = "v3.x",
|
||||
dependencies = {
|
||||
"nvim-lua/plenary.nvim",
|
||||
"nvim-tree/nvim-web-devicons", -- not strictly required, but recommended
|
||||
"MunifTanjim/nui.nvim",
|
||||
},
|
||||
config = function()
|
||||
require("neo-tree").setup({
|
||||
close_if_last_window = false,
|
||||
enable_git_status = true,
|
||||
enable_diagnostics = true
|
||||
})
|
||||
end
|
||||
}
|
||||
@@ -1,38 +0,0 @@
|
||||
return {
|
||||
"TimUntersberger/neogit",
|
||||
dependencies = {
|
||||
"nvim-lua/plenary.nvim",
|
||||
"nvim-telescope/telescope.nvim", -- optional
|
||||
"sindrets/diffview.nvim", -- optional
|
||||
},
|
||||
opts = {
|
||||
disable_signs = false,
|
||||
disable_context_highlighting = false,
|
||||
disable_commit_confirmation = true,
|
||||
-- customize displayed signs
|
||||
signs = {
|
||||
-- { CLOSED, OPENED }
|
||||
section = { ">", "v" },
|
||||
item = { ">", "v" },
|
||||
hunk = { "", "" },
|
||||
},
|
||||
integrations = {
|
||||
diffview = true
|
||||
},
|
||||
-- override/add mappings
|
||||
mappings = {
|
||||
-- modify status buffer mappings
|
||||
status = {
|
||||
-- Adds a mapping with "B" as key that does the "BranchPopup" command
|
||||
["B"] = "BranchPopup",
|
||||
["C"] = "CommitPopup",
|
||||
-- ["P"] = "PullPopup",
|
||||
["S"] = "Stage",
|
||||
-- ["D"] = "Discard",
|
||||
-- Removes the default mapping of "s"
|
||||
-- ["s"] = "",
|
||||
}
|
||||
}
|
||||
},
|
||||
cmd = "Neogit",
|
||||
}
|
||||
@@ -1,29 +0,0 @@
|
||||
return {
|
||||
'EdenEast/nightfox.nvim',
|
||||
lazy = false, -- make sure we load this during startup
|
||||
priority = 1000, -- make sure to load this before all other plugins.
|
||||
opts = {
|
||||
fox = "terafox", -- change the colorscheme to use terafox
|
||||
styles = {
|
||||
comments = "italic", -- change style of comments to be italic
|
||||
keywords = "bold", -- change style of keywords to be bold
|
||||
functions = "italic,bold" -- styles can be a comma separated list
|
||||
},
|
||||
inverse = {
|
||||
match_paren = true, -- inverse the highlighting of match_parens
|
||||
},
|
||||
colors = {
|
||||
red = "#FF000", -- Override the red color for MAX POWER
|
||||
--bg_alt = "#000000",
|
||||
},
|
||||
hlgroups = {
|
||||
TSPunctDelimiter = { fg = "${red}" }, -- Override a highlight group with the color red
|
||||
LspCodeLens = { bg = "#000000", style = "italic" },
|
||||
}
|
||||
|
||||
},
|
||||
config = function()
|
||||
require('nightfox').load()
|
||||
vim.cmd("colorscheme terafox")
|
||||
end
|
||||
}
|
||||
@@ -1,78 +0,0 @@
|
||||
return {
|
||||
'nvim-telescope/telescope.nvim',
|
||||
branch = '0.1.x',
|
||||
dependencies = {
|
||||
'nvim-lua/plenary.nvim'
|
||||
},
|
||||
config = function()
|
||||
local actions = require('telescope.actions')
|
||||
|
||||
require('telescope').setup({
|
||||
defaults = {
|
||||
file_ignore_patterns = {"node_modules", "%.jpg", "%.png"},
|
||||
vimgrep_arguments = {
|
||||
'rg',
|
||||
'--follow',
|
||||
'--color=never',
|
||||
'--no-heading',
|
||||
'--with-filename',
|
||||
'--line-number',
|
||||
'--column',
|
||||
'--smart-case'
|
||||
},
|
||||
mappings = {
|
||||
i = {
|
||||
-- Close on first esc instead of gonig to normal mode
|
||||
["<esc>"] = actions.close,
|
||||
["<A-q>"] = actions.send_selected_to_qflist,
|
||||
["<C-q>"] = actions.send_to_qflist,
|
||||
["<s-tab>"] = actions.toggle_selection + actions.move_selection_next,
|
||||
["<tab>"] = actions.toggle_selection + actions.move_selection_previous,
|
||||
},
|
||||
n = {
|
||||
["<s-tab>"] = actions.toggle_selection + actions.move_selection_next,
|
||||
["<tab>"] = actions.toggle_selection + actions.move_selection_previous,
|
||||
["<A-q>"] = actions.send_selected_to_qflist,
|
||||
["<C-q>"] = actions.send_to_qflist,
|
||||
},
|
||||
},
|
||||
prompt_prefix = " ",
|
||||
selection_caret = " ",
|
||||
entry_prefix = " ",
|
||||
initial_mode = "insert",
|
||||
selection_strategy = "reset",
|
||||
sorting_strategy = "descending",
|
||||
layout_strategy = "flex",
|
||||
layout_config = {
|
||||
width = 0.75,
|
||||
prompt_position = "bottom",
|
||||
preview_cutoff = 120,
|
||||
horizontal = { mirror = false },
|
||||
vertical = { mirror = true },
|
||||
},
|
||||
file_sorter = require'telescope.sorters'.get_fuzzy_file,
|
||||
generic_sorter = require'telescope.sorters'.get_generic_fuzzy_sorter,
|
||||
-- path_display = true, -- strange behaviour not showing the files in result window
|
||||
winblend = 0,
|
||||
border = {},
|
||||
borderchars = { '─', '│', '─', '│', '╭', '╮', '╯', '╰' },
|
||||
color_devicons = true,
|
||||
use_less = true,
|
||||
set_env = { ['COLORTERM'] = 'truecolor' }, -- default = nil,
|
||||
file_previewer = require'telescope.previewers'.vim_buffer_cat.new,
|
||||
grep_previewer = require'telescope.previewers'.vim_buffer_vimgrep.new,
|
||||
qflist_previewer = require'telescope.previewers'.vim_buffer_qflist.new,
|
||||
|
||||
-- Developer configurations: Not meant for general override
|
||||
buffer_previewer_maker = require'telescope.previewers'.buffer_previewer_maker
|
||||
}
|
||||
})
|
||||
|
||||
local builtin = require('telescope.builtin')
|
||||
-- Telescope keymaps
|
||||
vim.keymap.set('n', '<leader>ff', builtin.find_files, {})
|
||||
vim.keymap.set('n', '<leader>fg', builtin.live_grep, {})
|
||||
vim.keymap.set('n', '<leader>fb', builtin.buffers, {})
|
||||
vim.keymap.set('n', '<leader>fh', builtin.help_tags, {})
|
||||
end
|
||||
}
|
||||
@@ -1,118 +0,0 @@
|
||||
-- Setup nvim-cmp.
|
||||
local cmp = require "cmp"
|
||||
local lspkind = require("lspkind")
|
||||
local capabilities = require('cmp_nvim_lsp').default_capabilities()
|
||||
|
||||
local has_words_before = function()
|
||||
local line, col = unpack(vim.api.nvim_win_get_cursor(0))
|
||||
return col ~= 0
|
||||
and vim.api.nvim_buf_get_lines(0, line - 1, line, true)[1]:sub(
|
||||
col, col):match("%s") == nil
|
||||
end
|
||||
|
||||
local feedkey = function(key, mode)
|
||||
vim.api.nvim_feedkeys(vim.api.nvim_replace_termcodes(key, true, true, true),
|
||||
mode, true)
|
||||
end
|
||||
|
||||
|
||||
require'lspconfig'.sourcekit.setup {
|
||||
capabilities = capabilities
|
||||
}
|
||||
|
||||
lspkind.init({
|
||||
symbol_map = {
|
||||
Text = "",
|
||||
Method = "",
|
||||
Function = "",
|
||||
Constructor = "",
|
||||
Field = "ﰠ",
|
||||
Variable = "",
|
||||
Class = "ﴯ",
|
||||
Interface = "",
|
||||
Module = "",
|
||||
Property = "ﰠ",
|
||||
Unit = "塞",
|
||||
Value = "",
|
||||
Enum = "",
|
||||
Keyword = "",
|
||||
Snippet = "",
|
||||
Color = "",
|
||||
File = "",
|
||||
Reference = "",
|
||||
Folder = "",
|
||||
EnumMember = "",
|
||||
Constant = "",
|
||||
Struct = "פּ",
|
||||
Event = "",
|
||||
Operator = "",
|
||||
TypeParameter = ""
|
||||
}
|
||||
})
|
||||
|
||||
cmp.setup({
|
||||
formatting = {
|
||||
format = lspkind.cmp_format {
|
||||
with_text = false,
|
||||
maxwidth = 50,
|
||||
menu = {
|
||||
buffer = "BUF",
|
||||
nvim_lsp = "LSP",
|
||||
path = "PATH",
|
||||
vsnip = "SNIP",
|
||||
calc = "CALC",
|
||||
spell = "SPELL",
|
||||
emoji = "EMOJI"
|
||||
}
|
||||
}
|
||||
},
|
||||
experimental = {native_menu = false, ghost_text = false},
|
||||
snippet = {
|
||||
expand = function(args)
|
||||
vim.fn["vsnip#anonymous"](args.body) -- For `vsnip` users.
|
||||
end
|
||||
},
|
||||
mapping = {
|
||||
["<C-p>"] = cmp.mapping.select_prev_item(),
|
||||
["<C-n>"] = cmp.mapping.select_next_item(),
|
||||
["<C-d>"] = cmp.mapping.scroll_docs(-4),
|
||||
["<C-f>"] = cmp.mapping.scroll_docs(4),
|
||||
["<C-Space>"] = cmp.mapping.complete(),
|
||||
["<C-e>"] = cmp.mapping.close(),
|
||||
["<CR>"] = cmp.mapping.confirm {
|
||||
behavior = cmp.ConfirmBehavior.Replace,
|
||||
select = false
|
||||
},
|
||||
["<Tab>"] = cmp.mapping(function(fallback)
|
||||
if cmp.visible() then
|
||||
cmp.select_next_item()
|
||||
elseif vim.fn["vsnip#available"](1) == 1 then
|
||||
feedkey("<Plug>(vsnip-expand-or-jump)", "")
|
||||
elseif has_words_before() then
|
||||
cmp.complete()
|
||||
else
|
||||
fallback() -- The fallback function sends a already mapped key. In this case, it's probably `<Tab>`.
|
||||
end
|
||||
end, {"i", "s"}),
|
||||
["<S-Tab>"] = cmp.mapping(function()
|
||||
if cmp.visible() then
|
||||
cmp.select_prev_item()
|
||||
elseif vim.fn["vsnip#jumpable"](-1) == 1 then
|
||||
feedkey("<Plug>(vsnip-jump-prev)", "")
|
||||
end
|
||||
end, {"i", "s"})
|
||||
},
|
||||
sources = {
|
||||
{name = "nvim_lsp"}, {name = "buffer", keyword_length = 5},
|
||||
{name = "vsnip"}, {name = "calc"}, {name = "emoji"}, {name = "spell"},
|
||||
{name = "path"}
|
||||
}
|
||||
})
|
||||
|
||||
-- Use buffer source for `/`.
|
||||
cmp.setup.cmdline("/", {sources = {{name = "buffer"}}})
|
||||
|
||||
-- Use cmdline & path source for ':'.
|
||||
cmp.setup.cmdline(":", {
|
||||
sources = cmp.config.sources({{name = "path"}}, {{name = "cmdline"}})
|
||||
})
|
||||
@@ -1,15 +0,0 @@
|
||||
require'colorizer'.setup()
|
||||
local status_ok, colorizer = pcall(require, "colorizer")
|
||||
if not status_ok then
|
||||
return
|
||||
end
|
||||
colorizer.setup({ "*" }, {
|
||||
RGB = true, -- #RGB hex codes
|
||||
RRGGBB = true, -- #RRGGBB hex codes
|
||||
RRGGBBAA = true, -- #RRGGBBAA hex codes
|
||||
rgb_fn = true, -- CSS rgb() and rgba() functions
|
||||
hsl_fn = true, -- CSS hsl() and hsla() functions
|
||||
css = true, -- Enable all CSS features: rgb_fn, hsl_fn, names, RGB, RRGGBB
|
||||
css_fn = true, -- Enable all CSS *functions*: rgb_fn, hsl_fn
|
||||
namess = true, -- "Name" codes like Blue
|
||||
})
|
||||
@@ -1,37 +0,0 @@
|
||||
local cb = require'diffview.config'.diffview_callback
|
||||
|
||||
require'diffview'.setup {
|
||||
diff_binaries = false, -- Show diffs for binaries
|
||||
use_icons = true, -- Requires nvim-web-devicons
|
||||
file_panel = {
|
||||
width = 35,
|
||||
},
|
||||
key_bindings = {
|
||||
disable_defaults = false, -- Disable the default key bindings
|
||||
-- The `view` bindings are active in the diff buffers, only when the current
|
||||
-- tabpage is a Diffview.
|
||||
view = {
|
||||
["<tab>"] = cb("select_next_entry"), -- Open the diff for the next file
|
||||
["<s-tab>"] = cb("select_prev_entry"), -- Open the diff for the previous file
|
||||
["<leader>e"] = cb("focus_files"), -- Bring focus to the files panel
|
||||
["<leader>b"] = cb("toggle_files"), -- Toggle the files panel.
|
||||
},
|
||||
file_panel = {
|
||||
["j"] = cb("next_entry"), -- Bring the cursor to the next file entry
|
||||
["<down>"] = cb("next_entry"),
|
||||
["k"] = cb("prev_entry"), -- Bring the cursor to the previous file entry.
|
||||
["<up>"] = cb("prev_entry"),
|
||||
["<cr>"] = cb("select_entry"), -- Open the diff for the selected entry.
|
||||
["o"] = cb("select_entry"),
|
||||
["<2-LeftMouse>"] = cb("select_entry"),
|
||||
["-"] = cb("toggle_stage_entry"), -- Stage / unstage the selected entry.
|
||||
["S"] = cb("stage_all"), -- Stage all entries.
|
||||
["U"] = cb("unstage_all"), -- Unstage all entries.
|
||||
["R"] = cb("refresh_files"), -- Update stats and entries in the file list.
|
||||
["<tab>"] = cb("select_next_entry"),
|
||||
["<s-tab>"] = cb("select_prev_entry"),
|
||||
["<leader>e"] = cb("focus_files"),
|
||||
["<leader>b"] = cb("toggle_files"),
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,16 +0,0 @@
|
||||
local lsp_installer = require("nvim-lsp-installer")
|
||||
|
||||
-- Register a handler that will be called for all installed servers.
|
||||
-- Alternatively, you may also register handlers on specific server instances instead (see example below).
|
||||
lsp_installer.on_server_ready(function(server)
|
||||
local opts = {}
|
||||
|
||||
-- (optional) Customize the options passed to the server
|
||||
-- if server.name == "tsserver" then
|
||||
-- opts.root_dir = function() ... end
|
||||
-- end
|
||||
|
||||
-- This setup() function is exactly the same as lspconfig's setup function.
|
||||
-- Refer to https://github.com/neovim/nvim-lspconfig/blob/master/doc/server_configurations.md
|
||||
server:setup(opts)
|
||||
end)
|
||||
@@ -1,150 +0,0 @@
|
||||
require("mason").setup()
|
||||
require("mason-lspconfig").setup()
|
||||
local nvim_lsp = require("lspconfig")
|
||||
|
||||
-- Use an on_attach function to only map the following keys
|
||||
-- after the language server attaches to the current buffer
|
||||
local on_attach = function(bufnr)
|
||||
local function buf_set_keymap(...)
|
||||
vim.api.nvim_buf_set_keymap(bufnr, ...)
|
||||
end
|
||||
|
||||
-- Mappings.
|
||||
local opts = {noremap = true, silent = true}
|
||||
|
||||
-- See `:help vim.lsp.*` for documentation on any of the below functions
|
||||
buf_set_keymap("n", "gD", "<Cmd>lua vim.lsp.buf.declaration()<CR>", opts)
|
||||
buf_set_keymap("n", "gd", "<Cmd>lua vim.lsp.buf.definition()<CR>", opts)
|
||||
buf_set_keymap("n", "K", "<Cmd>lua vim.lsp.buf.hover()<CR>", opts)
|
||||
buf_set_keymap("n", "gi", "<cmd>lua vim.lsp.buf.implementation()<CR>", opts)
|
||||
buf_set_keymap("n", "gT", vim.lsp.buf.type_definition, opts)
|
||||
-- buf_set_keymap('n', '<C-k>', '<cmd>lua vim.lsp.buf.signature_help()<CR>', opts)
|
||||
buf_set_keymap("n", "<space>wa",
|
||||
"<cmd>lua vim.lsp.buf.add_workspace_folder()<CR>", opts)
|
||||
buf_set_keymap("n", "<space>wr",
|
||||
"<cmd>lua vim.lsp.buf.remove_workspace_folder()<CR>", opts)
|
||||
buf_set_keymap("n", "<space>wl",
|
||||
"<cmd>lua print(vim.inspect(vim.lsp.buf.list_workspace_folders()))<CR>",
|
||||
opts)
|
||||
buf_set_keymap("n", "<space>D",
|
||||
"<cmd>lua vim.lsp.buf.type_definition()<CR>", opts)
|
||||
buf_set_keymap("n", "<space>rn", "<cmd>lua vim.lsp.buf.rename()<CR>", opts)
|
||||
buf_set_keymap("n", "<space>ca", "<cmd>lua vim.lsp.buf.code_action()<CR>",
|
||||
opts)
|
||||
buf_set_keymap("n", "gr", "<cmd>lua vim.lsp.buf.references()<CR>", opts)
|
||||
buf_set_keymap("n", "<space>e", "<cmd>lua vim.lsp.diagnostic.show_line_diagnostics()<CR>", opts)
|
||||
buf_set_keymap("n", "[d", "<cmd>lua vim.lsp.diagnostic.goto_prev()<CR>", opts)
|
||||
|
||||
buf_set_keymap("n", "]d", "<cmd>lua vim.lsp.diagnostic.goto_next()<CR>", opts)
|
||||
buf_set_keymap("n", "<space>q", "<cmd>lua vim.lsp.diagnostic.set_loclist()<CR>", opts)
|
||||
buf_set_keymap("n", "<space>f", "<cmd>lua vim.lsp.buf.formatting()<CR>", opts)
|
||||
|
||||
end
|
||||
|
||||
-- Use a loop to conveniently call 'setup' on multiple servers and
|
||||
-- map buffer local keybindings when the language server attaches
|
||||
--local capabilities = vim.lsp.protocol.make_client_capabilities()
|
||||
capabilities = require("cmp_nvim_lsp").default_capabilities()
|
||||
|
||||
local servers = {
|
||||
"gopls", "bashls", "jedi_language_server", "dockerls", "terraformls",
|
||||
"tsserver", "texlab", "yamlls", "jsonls", "clangd", "sourcekit"
|
||||
}
|
||||
for _, lsp in ipairs(servers) do
|
||||
nvim_lsp[lsp].setup {
|
||||
on_attach = on_attach,
|
||||
capabilities = capabilities,
|
||||
settings = {
|
||||
gopls = {analyses = {unusedparams = false}, staticcheck = true},
|
||||
json = {
|
||||
format = {enabled = false},
|
||||
schemas = {
|
||||
{
|
||||
description = "ESLint config",
|
||||
fileMatch = {".eslintrc.json", ".eslintrc"},
|
||||
url = "http://json.schemastore.org/eslintrc"
|
||||
}, {
|
||||
description = "Package config",
|
||||
fileMatch = {"package.json"},
|
||||
url = "https://json.schemastore.org/package"
|
||||
}, {
|
||||
description = "Packer config",
|
||||
fileMatch = {"packer.json"},
|
||||
url = "https://json.schemastore.org/packer"
|
||||
}, {
|
||||
description = "Renovate config",
|
||||
fileMatch = {
|
||||
"renovate.json", "renovate.json5",
|
||||
".github/renovate.json", ".github/renovate.json5",
|
||||
".renovaterc", ".renovaterc.json"
|
||||
},
|
||||
url = "https://docs.renovatebot.com/renovate-schema"
|
||||
}, {
|
||||
description = "OpenApi config",
|
||||
fileMatch = {"*api*.json"},
|
||||
url = "https://raw.githubusercontent.com/OAI/OpenAPI-Specification/main/schemas/v3.1/schema.json"
|
||||
}
|
||||
}
|
||||
},
|
||||
redhat = {telemetry = {enabled = false}},
|
||||
texlab = {
|
||||
auxDirectory = ".",
|
||||
bibtexFormatter = "texlab",
|
||||
build = {
|
||||
args = {
|
||||
"--keep-intermediates", "--keep-logs", "--synctex", "%f"
|
||||
},
|
||||
executable = "tectonic",
|
||||
forwardSearchAfter = false,
|
||||
onSave = false
|
||||
},
|
||||
chktex = {onEdit = false, onOpenAndSave = false},
|
||||
diagnosticsDelay = 300,
|
||||
formatterLineLength = 80,
|
||||
forwardSearch = {args = {}},
|
||||
latexFormatter = "latexindent",
|
||||
latexindent = {modifyLineBreaks = false}
|
||||
},
|
||||
yaml = {
|
||||
schemaStore = {
|
||||
enable = true,
|
||||
url = "https://www.schemastore.org/api/json/catalog.json"
|
||||
},
|
||||
schemas = {
|
||||
kubernetes = "/*.yaml",
|
||||
["http://json.schemastore.org/github-workflow"] = ".github/workflows/*.{yml,yaml}",
|
||||
["http://json.schemastore.org/github-action"] = ".github/action.{yml,yaml}",
|
||||
["http://json.schemastore.org/ansible-stable-2.9"] = "roles/tasks/*.{yml,yaml}",
|
||||
["http://json.schemastore.org/prettierrc"] = ".prettierrc.{yml,yaml}",
|
||||
["http://json.schemastore.org/kustomization"] = "kustomization.{yml,yaml}",
|
||||
["http://json.schemastore.org/ansible-playbook"] = "*play*.{yml,yaml}",
|
||||
["http://json.schemastore.org/chart"] = "Chart.{yml,yaml}",
|
||||
["https://json.schemastore.org/dependabot-v2"] = ".github/dependabot.{yml,yaml}",
|
||||
["https://json.schemastore.org/gitlab-ci"] = "*gitlab-ci*.{yml,yaml}",
|
||||
["https://raw.githubusercontent.com/OAI/OpenAPI-Specification/main/schemas/v3.1/schema.json"] = "*api*.{yml,yaml}",
|
||||
["https://raw.githubusercontent.com/compose-spec/compose-spec/master/schema/compose-spec.json"] = "docker-compose.{yml,yaml}",
|
||||
["https://raw.githubusercontent.com/argoproj/argo-workflows/master/api/jsonschema/schema.json"] = "*flow*.{yml,yaml}"
|
||||
},
|
||||
format = {enabled = false},
|
||||
validate = false, -- TODO: conflicts between Kubernetes resources and kustomization.yaml
|
||||
completion = true,
|
||||
hover = true
|
||||
}
|
||||
},
|
||||
flags = {debounce_text_changes = 150}
|
||||
}
|
||||
require"lsp_signature".setup({
|
||||
bind = true, -- This is mandatory, otherwise border config won't get registered.
|
||||
floating_window = true, -- show hint in a floating window, set to false for virtual text only mode
|
||||
doc_lines = 2, -- Set to 0 for not showing doc
|
||||
hint_prefix = "🐼 ",
|
||||
-- use_lspsaga = false, -- set to true if you want to use lspsaga popup
|
||||
handler_opts = {
|
||||
border = "shadow" -- double, single, shadow, none
|
||||
}
|
||||
})
|
||||
end
|
||||
|
||||
-- Test source-kit
|
||||
require'lspconfig'.sourcekit.setup{}
|
||||
|
||||
@@ -1,114 +0,0 @@
|
||||
local colors = {
|
||||
red = '#ca1243',
|
||||
grey = '#a0a1a7',
|
||||
black = '#383a42',
|
||||
white = '#f3f3f3',
|
||||
light_green = '#83a598',
|
||||
orange = '#fe8019',
|
||||
green = '#8ec07c',
|
||||
}
|
||||
|
||||
local empty = require('lualine.component'):extend()
|
||||
function empty:draw(default_highlight)
|
||||
self.status = ''
|
||||
self.applied_separator = ''
|
||||
self:apply_highlights(default_highlight)
|
||||
self:apply_section_separators()
|
||||
return self.status
|
||||
end
|
||||
|
||||
-- Put proper separators and gaps between components in sections
|
||||
local function process_sections(sections)
|
||||
for name, section in pairs(sections) do
|
||||
local left = name:sub(9, 10) < 'x'
|
||||
for pos = 1, name ~= 'lualine_z' and #section or #section - 1 do
|
||||
table.insert(section, pos * 2, { empty, color = { fg = colors.white, bg = colors.white } })
|
||||
end
|
||||
for id, comp in ipairs(section) do
|
||||
if type(comp) ~= 'table' then
|
||||
comp = { comp }
|
||||
section[id] = comp
|
||||
end
|
||||
comp.separator = left and { right = '' } or { left = '' }
|
||||
end
|
||||
end
|
||||
return sections
|
||||
end
|
||||
|
||||
local function search_result()
|
||||
if vim.v.hlsearch == 0 then
|
||||
return ''
|
||||
end
|
||||
local last_search = vim.fn.getreg '/'
|
||||
if not last_search or last_search == '' then
|
||||
return ''
|
||||
end
|
||||
local searchcount = vim.fn.searchcount { maxcount = 9999 }
|
||||
return last_search .. '(' .. searchcount.current .. '/' .. searchcount.total .. ')'
|
||||
end
|
||||
|
||||
local function modified()
|
||||
if vim.bo.modified then
|
||||
return '+'
|
||||
elseif vim.bo.modifiable == false or vim.bo.readonly == true then
|
||||
return '-'
|
||||
end
|
||||
return ''
|
||||
end
|
||||
|
||||
require('lualine').setup {
|
||||
options = {
|
||||
theme = 'auto',
|
||||
component_separators = '',
|
||||
section_separators = { left = '', right = '' },
|
||||
},
|
||||
sections = process_sections {
|
||||
lualine_a = { 'mode' },
|
||||
lualine_b = {
|
||||
'branch',
|
||||
'diff',
|
||||
{
|
||||
'diagnostics',
|
||||
source = { 'nvim' },
|
||||
sections = { 'error' },
|
||||
diagnostics_color = { error = { bg = colors.red, fg = colors.white } },
|
||||
},
|
||||
{
|
||||
'diagnostics',
|
||||
source = { 'nvim' },
|
||||
sections = { 'warn' },
|
||||
diagnostics_color = { warn = { bg = colors.orange, fg = colors.white } },
|
||||
},
|
||||
{ 'filename', file_status = false, path = 1 },
|
||||
{ modified, color = { bg = colors.red } },
|
||||
{
|
||||
'%w',
|
||||
cond = function()
|
||||
return vim.wo.previewwindow
|
||||
end,
|
||||
},
|
||||
{
|
||||
'%r',
|
||||
cond = function()
|
||||
return vim.bo.readonly
|
||||
end,
|
||||
},
|
||||
{
|
||||
'%q',
|
||||
cond = function()
|
||||
return vim.bo.buftype == 'quickfix'
|
||||
end,
|
||||
},
|
||||
},
|
||||
lualine_c = {},
|
||||
lualine_x = {},
|
||||
lualine_y = { search_result, 'filetype' },
|
||||
lualine_z = { '%l:%c', '%p%%/%L' },
|
||||
},
|
||||
inactive_sections = {
|
||||
lualine_c = { '%f %y %m' },
|
||||
lualine_x = {},
|
||||
},
|
||||
tabline = {},
|
||||
extensions = {"nvim-tree"}
|
||||
}
|
||||
@@ -1,32 +0,0 @@
|
||||
local neogit = require('neogit')
|
||||
--neogit.config.use_magit_keybindings()
|
||||
|
||||
neogit.setup {
|
||||
disable_signs = false,
|
||||
disable_context_highlighting = false,
|
||||
disable_commit_confirmation = true,
|
||||
-- customize displayed signs
|
||||
signs = {
|
||||
-- { CLOSED, OPENED }
|
||||
section = { ">", "v" },
|
||||
item = { ">", "v" },
|
||||
hunk = { "", "" },
|
||||
},
|
||||
integrations = {
|
||||
diffview = true
|
||||
},
|
||||
-- override/add mappings
|
||||
mappings = {
|
||||
-- modify status buffer mappings
|
||||
status = {
|
||||
-- Adds a mapping with "B" as key that does the "BranchPopup" command
|
||||
["B"] = "BranchPopup",
|
||||
["C"] = "CommitPopup",
|
||||
-- ["P"] = "PullPopup",
|
||||
["S"] = "Stage",
|
||||
-- ["D"] = "Discard",
|
||||
-- Removes the default mapping of "s"
|
||||
-- ["s"] = "",
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,27 +0,0 @@
|
||||
local nightfox = require('nightfox')
|
||||
|
||||
-- This function set the configuration of nightfox. If a value is not passed in the setup function
|
||||
-- it will be taken from the default configuration above
|
||||
nightfox.setup({
|
||||
fox = "terafox", -- change the colorscheme to use terafox
|
||||
styles = {
|
||||
comments = "italic", -- change style of comments to be italic
|
||||
keywords = "bold", -- change style of keywords to be bold
|
||||
functions = "italic,bold" -- styles can be a comma separated list
|
||||
},
|
||||
inverse = {
|
||||
match_paren = true, -- inverse the highlighting of match_parens
|
||||
},
|
||||
colors = {
|
||||
red = "#FF000", -- Override the red color for MAX POWER
|
||||
--bg_alt = "#000000",
|
||||
},
|
||||
hlgroups = {
|
||||
TSPunctDelimiter = { fg = "${red}" }, -- Override a highlight group with the color red
|
||||
LspCodeLens = { bg = "#000000", style = "italic" },
|
||||
}
|
||||
})
|
||||
|
||||
-- Load the configuration set above and apply the colorscheme
|
||||
nightfox.load()
|
||||
vim.cmd("colorscheme terafox")
|
||||
@@ -1,162 +0,0 @@
|
||||
local g = vim.g
|
||||
|
||||
g.nvim_tree_indent_markers = 1 -- 0 by default, this option shows indent markers when folders are open
|
||||
g.nvim_tree_git_hl = 1 -- 0 by default, will enable file highlight for git attributes (can be used without the icons).
|
||||
g.nvim_tree_highlight_opened_files = 1 -- 0 by default, will enable folder and file icon highlight for opened files/directories.
|
||||
g.nvim_tree_root_folder_modifier = ":~" -- This is the default. See :help filename-modifiers for more options
|
||||
g.nvim_tree_add_trailing = 1 -- 0 by default, append a trailing slash to folder names
|
||||
g.nvim_tree_group_empty = 1 -- 0 by default, compact folders that only contain a single folder into one node in the file tree
|
||||
g.nvim_tree_disable_window_picker = 1 -- 0 by default, will disable the window picker.
|
||||
g.nvim_tree_icon_padding = " " -- one space by default, used for rendering the space between the icon and the filename. Use with caution, it could break rendering if you set an empty string depending on your font.
|
||||
g.nvim_tree_symlink_arrow = " >> " -- defaults to ' ➛ '. used as a separator between symlinks' source and target.
|
||||
g.nvim_tree_respect_buf_cwd = 1 -- 0 by default, will change cwd of nvim-tree to that of new buffer's when opening nvim-tree.
|
||||
|
||||
g.nvim_tree_show_icons = {git = 1, folders = 1, files = 1, folder_arrows = 1}
|
||||
g.nvim_tree_icons = {
|
||||
default = "",
|
||||
symlink = "",
|
||||
git = {
|
||||
unstaged = "",
|
||||
staged = "S",
|
||||
unmerged = "",
|
||||
renamed = "➜",
|
||||
deleted = "",
|
||||
untracked = "U",
|
||||
ignored = "◌"
|
||||
},
|
||||
folder = {
|
||||
default = "",
|
||||
open = "",
|
||||
empty = "",
|
||||
empty_open = "",
|
||||
symlink = ""
|
||||
}
|
||||
}
|
||||
g.loaded_netrw = 1
|
||||
g.loaded_netrwPlugin = 1
|
||||
local tree_cb = require("nvim-tree.config").nvim_tree_callback
|
||||
|
||||
-- This function has been generated from your
|
||||
-- view.mappings.list
|
||||
-- view.mappings.custom_only
|
||||
-- remove_keymaps
|
||||
--
|
||||
-- You should add this function to your configuration and set on_attach = on_attach in the nvim-tree setup call.
|
||||
--
|
||||
-- Although care was taken to ensure correctness and completeness, your review is required.
|
||||
--
|
||||
-- Please check for the following issues in auto generated content:
|
||||
-- "Mappings removed" is as you expect
|
||||
-- "Mappings migrated" are correct
|
||||
--
|
||||
-- Please see https://github.com/nvim-tree/nvim-tree.lua/wiki/Migrating-To-on_attach for assistance in migrating.
|
||||
--
|
||||
|
||||
local function on_attach(bufnr)
|
||||
local api = require('nvim-tree.api')
|
||||
|
||||
local function opts(desc)
|
||||
return { desc = 'nvim-tree: ' .. desc, buffer = bufnr, noremap = true, silent = true, nowait = true }
|
||||
end
|
||||
|
||||
|
||||
-- Default mappings not inserted as:
|
||||
-- remove_keymaps = true
|
||||
-- OR
|
||||
-- view.mappings.custom_only = true
|
||||
|
||||
|
||||
-- Mappings migrated from view.mappings.list
|
||||
--
|
||||
-- You will need to insert "your code goes here" for any mappings with a custom action_cb
|
||||
vim.keymap.set('n', '<CR>', api.node.open.edit, opts('Open'))
|
||||
vim.keymap.set('n', 'o', api.node.open.edit, opts('Open'))
|
||||
vim.keymap.set('n', '<2-LeftMouse>', api.node.open.edit, opts('Open'))
|
||||
vim.keymap.set('n', '<2-RightMouse>', api.tree.change_root_to_node, opts('CD'))
|
||||
vim.keymap.set('n', '<C-]>', api.tree.change_root_to_node, opts('CD'))
|
||||
vim.keymap.set('n', '<C-v>', api.node.open.vertical, opts('Open: Vertical Split'))
|
||||
vim.keymap.set('n', '<C-s>', api.node.open.horizontal, opts('Open: Horizontal Split'))
|
||||
vim.keymap.set('n', '<C-t>', api.node.open.tab, opts('Open: New Tab'))
|
||||
vim.keymap.set('n', '<', api.node.navigate.sibling.prev, opts('Previous Sibling'))
|
||||
vim.keymap.set('n', '>', api.node.navigate.sibling.next, opts('Next Sibling'))
|
||||
vim.keymap.set('n', 'P', api.node.navigate.parent, opts('Parent Directory'))
|
||||
vim.keymap.set('n', '<BS>', api.node.navigate.parent_close, opts('Close Directory'))
|
||||
vim.keymap.set('n', '<S-CR>', api.node.navigate.parent_close, opts('Close Directory'))
|
||||
vim.keymap.set('n', '<Tab>', api.node.open.preview, opts('Open Preview'))
|
||||
vim.keymap.set('n', 'K', api.node.navigate.sibling.first, opts('First Sibling'))
|
||||
vim.keymap.set('n', 'J', api.node.navigate.sibling.last, opts('Last Sibling'))
|
||||
vim.keymap.set('n', 'H', api.tree.toggle_hidden_filter, opts('Toggle Dotfiles'))
|
||||
vim.keymap.set('n', 'R', api.tree.reload, opts('Refresh'))
|
||||
vim.keymap.set('n', 'a', api.fs.create, opts('Create'))
|
||||
vim.keymap.set('n', 'd', api.fs.remove, opts('Delete'))
|
||||
vim.keymap.set('n', 'r', api.fs.rename, opts('Rename'))
|
||||
vim.keymap.set('n', '<C-r>', api.fs.rename_sub, opts('Rename: Omit Filename'))
|
||||
vim.keymap.set('n', 'x', api.fs.cut, opts('Cut'))
|
||||
vim.keymap.set('n', 'c', api.fs.copy.node, opts('Copy'))
|
||||
vim.keymap.set('n', 'p', api.fs.paste, opts('Paste'))
|
||||
vim.keymap.set('n', 'y', api.fs.copy.filename, opts('Copy Name'))
|
||||
vim.keymap.set('n', 'Y', api.fs.copy.relative_path, opts('Copy Relative Path'))
|
||||
vim.keymap.set('n', 'gy', api.fs.copy.absolute_path, opts('Copy Absolute Path'))
|
||||
vim.keymap.set('n', '[c', api.node.navigate.git.prev, opts('Prev Git'))
|
||||
vim.keymap.set('n', ']c', api.node.navigate.git.next, opts('Next Git'))
|
||||
vim.keymap.set('n', '-', api.tree.change_root_to_parent, opts('Up'))
|
||||
vim.keymap.set('n', 's', api.node.run.system, opts('Run System'))
|
||||
vim.keymap.set('n', 'q', api.tree.close, opts('Close'))
|
||||
vim.keymap.set('n', 'g?', api.tree.toggle_help, opts('Help'))
|
||||
end
|
||||
|
||||
require("nvim-tree").setup {
|
||||
-- disables netrw completely
|
||||
disable_netrw = true,
|
||||
-- hijack netrw window on startup
|
||||
hijack_netrw = true,
|
||||
-- closes neovim automatically when the tree is the last **WINDOW** in the view
|
||||
--auto_close = true,
|
||||
-- opens the tree when changing/opening a new tab if the tree wasn't previously opened
|
||||
open_on_tab = true,
|
||||
-- hijack the cursor in the tree to put it at the start of the filename
|
||||
hijack_cursor = true,
|
||||
-- updates the root directory of the tree on `DirChanged` (when your run `:cd` usually)
|
||||
update_cwd = true,
|
||||
-- this option hides files and folders starting with a dot `.`
|
||||
--hide_dotfiles = true,
|
||||
-- show lsp diagnostics in the signcolumn
|
||||
diagnostics = {
|
||||
enable = true,
|
||||
icons = {hint = "", info = "", warning = "", error = ""}
|
||||
},
|
||||
git = {ignore = true},
|
||||
-- update the focused file on `BufEnter`, un-collapses the folders recursively until it finds the file
|
||||
update_focused_file = {
|
||||
-- enables the feature
|
||||
enable = true,
|
||||
-- update the root directory of the tree to the one of the folder containing the file if the file is not under the current root directory
|
||||
-- only relevant when `update_focused_file.enable` is true
|
||||
update_cwd = true,
|
||||
-- list of buffer names / filetypes that will not update the cwd if the file isn't found under the current root directory
|
||||
-- only relevant when `update_focused_file.update_cwd` is true and `update_focused_file.enable` is true
|
||||
ignore_list = {".git", "node_modules", ".cache"}
|
||||
},
|
||||
-- configuration options for the system open command (`s` in the tree by default)
|
||||
system_open = {
|
||||
-- the command to run this, leaving nil should work in most cases
|
||||
cmd = nil,
|
||||
-- the command arguments as a list
|
||||
args = {}
|
||||
},
|
||||
|
||||
trash = {cmd = "trash-put"},
|
||||
|
||||
view = {
|
||||
-- show line numbers in tree disabled
|
||||
number = false,
|
||||
relativenumber = false,
|
||||
-- width of the window, can be either a number (columns) or a string in `%`
|
||||
width = 30,
|
||||
-- side of the tree, can be one of 'left' | 'right' | 'top' | 'bottom'
|
||||
side = "left",
|
||||
-- if true the tree will resize itself after opening a file
|
||||
--auto_resize = true,
|
||||
},
|
||||
on_attach = on_attach
|
||||
}
|
||||
@@ -1,66 +0,0 @@
|
||||
local actions = require('telescope.actions')
|
||||
local telescope = require('telescope')
|
||||
|
||||
--telescope.load_extension('projects')
|
||||
telescope.load_extension('fzf')
|
||||
|
||||
telescope.setup{
|
||||
defaults = {
|
||||
file_ignore_patterns = {"node_modules", "%.jpg", "%.png"},
|
||||
vimgrep_arguments = {
|
||||
'rg',
|
||||
'--follow',
|
||||
'--color=never',
|
||||
'--no-heading',
|
||||
'--with-filename',
|
||||
'--line-number',
|
||||
'--column',
|
||||
'--smart-case'
|
||||
},
|
||||
mappings = {
|
||||
i = {
|
||||
-- Close on first esc instead of gonig to normal mode
|
||||
["<esc>"] = actions.close,
|
||||
["<A-q>"] = actions.send_selected_to_qflist,
|
||||
["<C-q>"] = actions.send_to_qflist,
|
||||
["<s-tab>"] = actions.toggle_selection + actions.move_selection_next,
|
||||
["<tab>"] = actions.toggle_selection + actions.move_selection_previous,
|
||||
},
|
||||
n = {
|
||||
["<s-tab>"] = actions.toggle_selection + actions.move_selection_next,
|
||||
["<tab>"] = actions.toggle_selection + actions.move_selection_previous,
|
||||
["<A-q>"] = actions.send_selected_to_qflist,
|
||||
["<C-q>"] = actions.send_to_qflist,
|
||||
},
|
||||
},
|
||||
prompt_prefix = " ",
|
||||
selection_caret = " ",
|
||||
entry_prefix = " ",
|
||||
initial_mode = "insert",
|
||||
selection_strategy = "reset",
|
||||
sorting_strategy = "descending",
|
||||
layout_strategy = "flex",
|
||||
layout_config = {
|
||||
width = 0.75,
|
||||
prompt_position = "bottom",
|
||||
preview_cutoff = 120,
|
||||
horizontal = { mirror = false },
|
||||
vertical = { mirror = true },
|
||||
},
|
||||
file_sorter = require'telescope.sorters'.get_fuzzy_file,
|
||||
generic_sorter = require'telescope.sorters'.get_generic_fuzzy_sorter,
|
||||
-- path_display = true, -- strange behaviour not showing the files in result window
|
||||
winblend = 0,
|
||||
border = {},
|
||||
borderchars = { '─', '│', '─', '│', '╭', '╮', '╯', '╰' },
|
||||
color_devicons = true,
|
||||
use_less = true,
|
||||
set_env = { ['COLORTERM'] = 'truecolor' }, -- default = nil,
|
||||
file_previewer = require'telescope.previewers'.vim_buffer_cat.new,
|
||||
grep_previewer = require'telescope.previewers'.vim_buffer_vimgrep.new,
|
||||
qflist_previewer = require'telescope.previewers'.vim_buffer_qflist.new,
|
||||
|
||||
-- Developer configurations: Not meant for general override
|
||||
buffer_previewer_maker = require'telescope.previewers'.buffer_previewer_maker
|
||||
}
|
||||
}
|
||||
@@ -1,47 +0,0 @@
|
||||
require"nvim-treesitter.configs".setup {
|
||||
ensure_installed = {
|
||||
"bash", "cmake", "dockerfile", "go", "hcl", "html", "java",
|
||||
"javascript", "json", "latex", "ledger", "lua", "python", "toml", "yaml"
|
||||
}, -- one of "all", "maintained" (parsers with maintainers), or a list of languages
|
||||
ignore_install = {}, -- List of parsers to ignore installing
|
||||
highlight = {
|
||||
enable = true, -- false will disable the whole extension
|
||||
disable = {} -- list of language that will be disabled
|
||||
},
|
||||
incremental_selection = {
|
||||
enable = true,
|
||||
keymaps = {
|
||||
init_selection = "<CR>",
|
||||
scope_incremental = "<CR>",
|
||||
node_incremental = "<TAB>",
|
||||
node_decremental = "<S-TAB>"
|
||||
}
|
||||
},
|
||||
indent = {enable = true},
|
||||
autopairs = {{enable = true}},
|
||||
textobjects = {
|
||||
select = {
|
||||
enable = true,
|
||||
-- Automatically jump forward to textobj, similar to targets.vim
|
||||
lookahead = true,
|
||||
keymaps = {
|
||||
-- You can use the capture groups defined in textobjects.scm
|
||||
["af"] = "@function.outer",
|
||||
["if"] = "@function.inner",
|
||||
["ac"] = "@class.outer",
|
||||
["ic"] = "@class.inner",
|
||||
["al"] = "@loop.outer",
|
||||
["il"] = "@loop.inner",
|
||||
["ib"] = "@block.inner",
|
||||
["ab"] = "@block.outer",
|
||||
["ir"] = "@parameter.inner",
|
||||
["ar"] = "@parameter.outer"
|
||||
}
|
||||
}
|
||||
},
|
||||
rainbow = {
|
||||
enable = true,
|
||||
extended_mode = true, -- Highlight also non-parentheses delimiters, boolean or table: lang -> boolean
|
||||
max_file_lines = 2000 -- Do not enable for files with more than specified lines
|
||||
}
|
||||
}
|
||||
@@ -1,2 +0,0 @@
|
||||
local g = vim.g
|
||||
g.vsnip_snippet_dir = os.getenv('HOME') .. '/.config/nvim/snippets/'
|
||||
@@ -1,111 +0,0 @@
|
||||
--isable v
|
||||
-- local presets = require("which-key.plugins.presets")
|
||||
-- presets.operators["v"] = nil
|
||||
require("which-key").setup {
|
||||
plugins = {
|
||||
marks = true, -- shows a list of your marks on ' and `
|
||||
registers = true, -- shows your registers on " in NORMAL or <C-r> in INSERT mode
|
||||
spelling = {
|
||||
enabled = true, -- enabling this will show WhichKey when pressing z= to select spelling suggestions
|
||||
suggestions = 20 -- how many suggestions should be shown in the list?
|
||||
},
|
||||
-- the presets plugin, adds help for a bunch of default keybindings in Neovim
|
||||
-- No actual key bindings are created
|
||||
presets = {
|
||||
operators = true, -- adds help for operators like d, y, ... and registers them for motion / text object completion
|
||||
motions = true, -- adds help for motions
|
||||
text_objects = true, -- help for text objects triggered after entering an operator
|
||||
windows = true, -- default bindings on <c-w>
|
||||
nav = true, -- misc bindings to work with windows
|
||||
z = true, -- bindings for folds, spelling and others prefixed with z
|
||||
g = true -- bindings for prefixed with g
|
||||
}
|
||||
},
|
||||
-- add operators that will trigger motion and text object completion
|
||||
-- to enable all native operators, set the preset / operators plugin above
|
||||
operators = {gc = "Comments"},
|
||||
key_labels = {
|
||||
-- override the label used to display some keys. It doesn't effect WK in any other way.
|
||||
-- For example:
|
||||
-- ["<space>"] = "SPC",
|
||||
-- ["<cr>"] = "RET",
|
||||
-- ["<tab>"] = "TAB",
|
||||
},
|
||||
icons = {
|
||||
breadcrumb = "»", -- symbol used in the command line area that shows your active key combo
|
||||
separator = "➜", -- symbol used between a key and it's label
|
||||
group = "+" -- symbol prepended to a group
|
||||
},
|
||||
window = {
|
||||
border = "none", -- none, single, double, shadow
|
||||
position = "bottom", -- bottom, top
|
||||
margin = {1, 0, 1, 0}, -- extra window margin [top, right, bottom, left]
|
||||
padding = {2, 2, 2, 2} -- extra window padding [top, right, bottom, left]
|
||||
},
|
||||
layout = {
|
||||
height = {min = 4, max = 25}, -- min and max height of the columns
|
||||
width = {min = 20, max = 50}, -- min and max width of the columns
|
||||
spacing = 3, -- spacing between columns
|
||||
align = "left" -- align columns left, center or right
|
||||
},
|
||||
ignore_missing = false, -- enable this to hide mappings for which you didn't specify a label
|
||||
hidden = {
|
||||
"<silent>", "<cmd>", "<Cmd>", "<cr>", "<CR>", "call", "lua", "require",
|
||||
"^:", "^ "
|
||||
}, -- hide mapping boilerplate
|
||||
show_help = true, -- show help message on the command line when the popup is visible
|
||||
triggers = "auto", -- automatically setup triggers
|
||||
-- triggers = {"<leader>"} -- or specify a list manually
|
||||
triggers_blacklist = {
|
||||
-- list of mode / prefixes that should never be hooked by WhichKey
|
||||
-- this is mostly relevant for key maps that start with a native binding
|
||||
-- most people should not need to change this
|
||||
i = {"j", "k"},
|
||||
v = {"j", "k"}
|
||||
}
|
||||
|
||||
}
|
||||
local wk = require("which-key")
|
||||
default_options = {noremap = true, silent = true}
|
||||
|
||||
-- register non leader based mappings
|
||||
--wk.register({ga = {"<Plug>(EasyAlign)", "Align", mode = "x"}})
|
||||
|
||||
-- Register all leader based mappings
|
||||
local wk = require("which-key")
|
||||
-- As an example, we will create the following mappings:
|
||||
-- * <leader>ff find files
|
||||
-- * <leader>fr show recent files
|
||||
-- * <leader>fb Foobar
|
||||
-- we'll document:
|
||||
-- * <leader>fn new file
|
||||
-- * <leader>fe edit file
|
||||
-- and hide <leader>1
|
||||
wk.register({
|
||||
["<leader>"] = {
|
||||
b = {
|
||||
name = "Buffers",
|
||||
b = {
|
||||
"<cmd>lua require'telescope.builtin'.buffers({ sort_mru = true, ignore_current_buffer = true })<cr>",
|
||||
"Find buffer"
|
||||
}
|
||||
},
|
||||
g = {
|
||||
name = "Git",
|
||||
c = { "<cmd>Neogit Commit<cr>", "Git Commit" },
|
||||
g = { "<cmd>Neogit<cr>", "Open NeoGit" },
|
||||
p = { "<cmd> Neogit Push<cr>" }
|
||||
},
|
||||
f = {
|
||||
name = "File",
|
||||
f = { "<cmd>Telescope find_files<cr>", "Find File" },
|
||||
r = { "<cmd>Telescope oldfiles<cr>", "Open Recent File" },
|
||||
n = { "<cmd>enew<cr>", "New File" },
|
||||
},
|
||||
},
|
||||
s = {
|
||||
name = "Search",
|
||||
c = {"<cmd>Telescope colorscheme<cr>", "Colorscheme" }
|
||||
}
|
||||
|
||||
})
|
||||
@@ -1,69 +0,0 @@
|
||||
return {
|
||||
"nvim-treesitter/nvim-treesitter",
|
||||
dependencies = {
|
||||
'nvim-telescope/telescope-fzf-native.nvim',
|
||||
'nvim-treesitter/nvim-treesitter-textobjects',
|
||||
},
|
||||
config = function()
|
||||
require('nvim-treesitter.configs').setup {
|
||||
ensure_installed = {
|
||||
"bash",
|
||||
"cmake",
|
||||
"dockerfile",
|
||||
"go",
|
||||
"hcl",
|
||||
"html",
|
||||
"java",
|
||||
"javascript",
|
||||
"json",
|
||||
"latex",
|
||||
"ledger",
|
||||
"lua",
|
||||
"python",
|
||||
"toml",
|
||||
"yaml"
|
||||
}, -- one of "all", "maintained" (parsers with maintainers), or a list of languages
|
||||
ignore_install = {}, -- List of parsers to ignore installing
|
||||
highlight = {
|
||||
enable = true, -- false will disable the whole extension
|
||||
disable = {} -- list of language that will be disabled
|
||||
},
|
||||
incremental_selection = {
|
||||
enable = true,
|
||||
keymaps = {
|
||||
init_selection = "<CR>",
|
||||
scope_incremental = "<CR>",
|
||||
node_incremental = "<TAB>",
|
||||
node_decremental = "<S-TAB>"
|
||||
}
|
||||
},
|
||||
indent = {enable = true},
|
||||
autopairs = {{enable = true}},
|
||||
textobjects = {
|
||||
select = {
|
||||
enable = true,
|
||||
-- Automatically jump forward to textobj, similar to targets.vim
|
||||
lookahead = true,
|
||||
keymaps = {
|
||||
-- You can use the capture groups defined in textobjects.scm
|
||||
["af"] = "@function.outer",
|
||||
["if"] = "@function.inner",
|
||||
["ac"] = "@class.outer",
|
||||
["ic"] = "@class.inner",
|
||||
["al"] = "@loop.outer",
|
||||
["il"] = "@loop.inner",
|
||||
["ib"] = "@block.inner",
|
||||
["ab"] = "@block.outer",
|
||||
["ir"] = "@parameter.inner",
|
||||
["ar"] = "@parameter.outer"
|
||||
}
|
||||
}
|
||||
},
|
||||
rainbow = {
|
||||
enable = true,
|
||||
extended_mode = true, -- Highlight also non-parentheses delimiters, boolean or table: lang -> boolean
|
||||
max_file_lines = 2000 -- Do not enable for files with more than specified lines
|
||||
}
|
||||
}
|
||||
end
|
||||
}
|
||||
@@ -1,8 +0,0 @@
|
||||
return {
|
||||
"folke/which-key.nvim",
|
||||
event = "VeryLazy",
|
||||
init = function()
|
||||
vim.o.timeout = true
|
||||
vim.o.timeoutlen = 300
|
||||
end,
|
||||
}
|
||||
@@ -1,18 +0,0 @@
|
||||
-- Plugins
|
||||
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
|
||||
if not vim.loop.fs_stat(lazypath) then
|
||||
vim.fn.system({
|
||||
"git",
|
||||
"clone",
|
||||
"--filter=blob:none",
|
||||
"https://github.com/folke/lazy.nvim.git",
|
||||
"--branch=stable", -- latest stable release
|
||||
lazypath,
|
||||
})
|
||||
end
|
||||
vim.opt.rtp:prepend(lazypath)
|
||||
|
||||
vim.g.mapleader = ' '
|
||||
vim.g.maplocalleader = ' '
|
||||
|
||||
require("lazy").setup('plugin-config')
|
||||
@@ -1,5 +0,0 @@
|
||||
-- Nightfox
|
||||
require('nightfox').load('terafox')
|
||||
--require('nightfox').load('terafox')
|
||||
--vim.cmd("colorscheme nightfox")
|
||||
|
||||
20
nvim/m-housh/after/ftplugin/markdown.lua
Normal file
20
nvim/m-housh/after/ftplugin/markdown.lua
Normal file
@@ -0,0 +1,20 @@
|
||||
-- Markdown specific key maps.
|
||||
--
|
||||
local todos = require("todo-comments")
|
||||
local keywords = { "WARN", "WARNING", "IMPORTANT" }
|
||||
|
||||
-- Show all the warnings in the quick fix list.
|
||||
vim.keymap.set(
|
||||
"n",
|
||||
"<leader>tw",
|
||||
"<CMD>Trouble todo toggle filter = {tag = {WARN, IMPORTANT}}<CR>",
|
||||
{ desc = "[T]odo [W]arnings" }
|
||||
)
|
||||
|
||||
vim.keymap.set("n", "]w", function()
|
||||
todos.jump_next({ keywords = keywords })
|
||||
end, { desc = "Next [W]arning" })
|
||||
|
||||
vim.keymap.set("n", "[w", function()
|
||||
todos.jump_prev({ keywords = keywords })
|
||||
end, { desc = "Previous [W]arning" })
|
||||
2
nvim/m-housh/after/ftplugin/swift.lua
Normal file
2
nvim/m-housh/after/ftplugin/swift.lua
Normal file
@@ -0,0 +1,2 @@
|
||||
vim.opt.tabstop = 2
|
||||
vim.opt.shiftwidth = 2
|
||||
22
nvim/m-housh/init.lua
Executable file
22
nvim/m-housh/init.lua
Executable file
@@ -0,0 +1,22 @@
|
||||
-- Leader needs to be set before loading plugins
|
||||
vim.g.mapleader = " "
|
||||
vim.g.maplocalleader = " "
|
||||
|
||||
-- NOTE: Keep settings at the top, otherwise some options don't work well.
|
||||
-- mainly have had trouble with not using the settings in an `.editorconfig`
|
||||
-- file for projects.
|
||||
|
||||
-- Common settings
|
||||
require("config.settings")
|
||||
|
||||
-- Auto commands
|
||||
require("config.autocmd")
|
||||
|
||||
-- Plugins
|
||||
require("config.lazy")
|
||||
|
||||
-- Key maps
|
||||
require("config.keymaps")
|
||||
|
||||
-- Theme (must stay after plugins are loaded)
|
||||
require("config.theme")
|
||||
58
nvim/m-housh/lua/config/autocmd.lua
Executable file
58
nvim/m-housh/lua/config/autocmd.lua
Executable file
@@ -0,0 +1,58 @@
|
||||
local defaultGroupOptions = { clear = true }
|
||||
local markdownGroup = vim.api.nvim_create_augroup("MyMarkdownGroup", defaultGroupOptions)
|
||||
local spellGroup = vim.api.nvim_create_augroup("SpellGroup", defaultGroupOptions)
|
||||
local createCmd = vim.api.nvim_create_autocmd
|
||||
|
||||
-- Spell check
|
||||
createCmd("BufEnter", {
|
||||
pattern = { "*.md", "*.markdown", "*.txt", "*.tex" },
|
||||
group = spellGroup,
|
||||
callback = function(_)
|
||||
vim.cmd.setlocal("textwidth=80")
|
||||
vim.cmd.setlocal("spell spelllang=en_us")
|
||||
end,
|
||||
})
|
||||
|
||||
-- Markdown
|
||||
createCmd("BufWritePost", {
|
||||
pattern = { "*.md", "*.markdown" },
|
||||
group = markdownGroup,
|
||||
callback = function(_)
|
||||
local cursor = vim.fn.getpos(".")
|
||||
vim.cmd("FormatWrite")
|
||||
vim.fn.setpos(".", cursor)
|
||||
end,
|
||||
})
|
||||
|
||||
-- Go
|
||||
createCmd("BufWritePre", {
|
||||
pattern = "*.go",
|
||||
callback = function()
|
||||
require("go.format").goimport()
|
||||
end,
|
||||
group = vim.api.nvim_create_augroup("GoFormat", defaultGroupOptions),
|
||||
})
|
||||
|
||||
-- Leaf
|
||||
createCmd({ "BufRead", "BufNewFile" }, {
|
||||
pattern = "*.leaf",
|
||||
callback = function()
|
||||
vim.opt.filetype = "html"
|
||||
end,
|
||||
})
|
||||
|
||||
vim.api.nvim_exec2(
|
||||
[[
|
||||
autocmd BufNewFile,BufRead /private/**/gopass** setlocal noswapfile nobackup noundofile shada=""
|
||||
]],
|
||||
{}
|
||||
)
|
||||
|
||||
-- Highlight when yanking.
|
||||
createCmd("TextYankPost", {
|
||||
desc = "Highlight when yanking text.",
|
||||
group = vim.api.nvim_create_augroup("highlight-yank", { clear = true }),
|
||||
callback = function()
|
||||
vim.highlight.on_yank()
|
||||
end,
|
||||
})
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user