mirror of
https://github.com/m-housh/dotfiles.git
synced 2026-02-14 14:12:41 +00:00
Compare commits
287 Commits
develop
...
d9445d4e89
| Author | SHA1 | Date | |
|---|---|---|---|
|
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 | ||
|
|
3bc89df708 | ||
|
|
27d6d596dc | ||
|
|
7ebdbf3d7f | ||
| 34da568c87 | |||
|
|
6410d07c70 | ||
| 9e7b0675cb | |||
| 06a236e8fa | |||
| 5ae3559d23 | |||
| 13b0316b09 | |||
| b6ad0cae4b | |||
| 643b10e466 | |||
| 6d2129504a | |||
| 21670bd2e2 | |||
| 4a01415542 | |||
| 48cffcb315 | |||
| d6e400ce67 | |||
| 07d45dde36 | |||
| 969dd4dfe4 | |||
| b0c807728a | |||
| 1b28706a54 | |||
| 8cc13e5aa6 | |||
| 116837b23e | |||
| 9f7613e190 | |||
| 23f99e71bb | |||
| 15fe3f52a9 | |||
| 80a28fded6 | |||
| 31f7251095 | |||
| 2e63b3bba9 | |||
| 4528c89adf | |||
| fedae4bbe8 | |||
| 45b9e65d9c | |||
| c5531d2460 | |||
| 064fb8591d | |||
| e6f827f481 | |||
| 5e27d455a8 | |||
| ab0a40c3c1 | |||
| 550b67e68b | |||
| ab49116f7a | |||
| 28502e425b | |||
| c9f7c105b5 | |||
| 9d9816f43f | |||
| 2d73822810 | |||
| 726975d739 | |||
| 6be754d45d | |||
| 8524efb765 | |||
| 5b8b912844 | |||
| 45d1db84c1 | |||
| cd8c6a7c04 | |||
| d88697f1a7 | |||
| 47e239d7b2 | |||
| 44f59251a6 | |||
| b6cc5df5e3 | |||
| f90b8f6913 | |||
| 6da046a8e5 | |||
| 5a44ebff88 | |||
| be4629662d | |||
| 84ce050539 | |||
| 9966d8cc98 | |||
| 9cfe3e33a1 | |||
| ed0fad722c | |||
| 2d12e3f09a | |||
| 957ee2d2fa | |||
| 689d0ba29e | |||
| bc8ce6aa60 | |||
| 8329e2b32f | |||
| acf7afd16c | |||
| e2362b22f0 | |||
| 7463a77093 | |||
| 6b822772a5 | |||
| 68043e29b6 | |||
| 672d50ddb1 | |||
| bd56bfa676 | |||
| b0c8901b05 | |||
| a4ae5600d6 | |||
| 55db0132a7 | |||
| 2b5726166b | |||
| eeddf4454d | |||
| e6c7e49226 | |||
| 31652a3fae | |||
| 41cf9345e5 | |||
| ac03198f70 | |||
| 500c648c5b | |||
| 1c18e500f4 | |||
| e5dae43c66 | |||
| 8f4dbca52d | |||
| f0268388f8 | |||
| 91de940171 | |||
| d85d10f1eb | |||
| 1cf65faff0 | |||
| 59e96d3e57 | |||
| 90223c55ee | |||
| 8eee972eeb | |||
| 3892af26ff | |||
| 8b6aef9aee | |||
| 5fc94f0cb8 | |||
| 051ea52172 | |||
| a26ba5610c | |||
| 95d919811f | |||
| da08e4eabe | |||
| df56ba2e4d | |||
| 4b4fd93cc7 | |||
|
|
dfe1338084 | ||
|
|
45c4310798 | ||
|
|
d6ab348a40 | ||
| a720f97df9 | |||
| 19d649da39 | |||
| 9b10825aa0 | |||
| 8841d92e87 | |||
| 79e085e9bf | |||
| b380cb1190 | |||
| 670554b369 | |||
| 1deab50401 | |||
| 5ba356655a | |||
| 242ee6055e | |||
| 3b8e7e024a | |||
| 0f07b4610a | |||
| 7471d09afb | |||
| 6404ce4bb8 | |||
| 0623aad631 | |||
| 86098a7116 | |||
| 71bb23e54c | |||
| 28c02229b8 | |||
| f9892ee952 | |||
| 226e07f501 | |||
| 0ee37b0a66 | |||
| c33cb65caf | |||
| 2e012d8930 | |||
| 083920aa09 | |||
| cf5521aee2 | |||
| afb17d1f4e | |||
| 2d36d7326d | |||
| 1cbf56c925 | |||
| 489c9462cf | |||
| 375fb12359 | |||
| 1e2329e3d8 | |||
| f22005c87c | |||
| af4eeab9c4 | |||
| fe394ac122 | |||
| 4186430c4e | |||
| 3e6c7e8281 | |||
| 42bb38715a | |||
| 763607dc6a | |||
| 955f28957d | |||
| 98fe795dd0 | |||
| d93226021d | |||
| abf1103f62 | |||
| 1399fcbe26 | |||
| 0d141f94f9 | |||
| 306fbd4fee |
15
.gitignore
vendored
15
.gitignore
vendored
@@ -1,10 +1,19 @@
|
|||||||
**/.DS_Store
|
**/.DS_Store
|
||||||
**/Brewfile.lock.json
|
**/Brewfile.lock.json
|
||||||
**/plugins
|
|
||||||
**/plugin
|
|
||||||
**/.zcompdump*
|
**/.zcompdump*
|
||||||
**/.zcompdump
|
**/.zcompdump
|
||||||
**/.zcompcache
|
**/.zcompcache
|
||||||
zsh/.config/zsh/history
|
**/history
|
||||||
**/.zsh_history
|
**/.zsh_history
|
||||||
**/.zsh_sessions
|
**/.zsh_sessions
|
||||||
|
**/completions/*
|
||||||
|
**/.netrwhist
|
||||||
|
**/.zshrc-local
|
||||||
|
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"
|
||||||
|
]
|
||||||
|
}
|
||||||
@@ -2,6 +2,10 @@
|
|||||||
^/Brewfile*
|
^/Brewfile*
|
||||||
^/README.*
|
^/README.*
|
||||||
^/LICENSE.*
|
^/LICENSE.*
|
||||||
|
^/LaunchAgents*
|
||||||
|
|
||||||
\.git
|
\.git
|
||||||
\.gitignore
|
\.gitignore
|
||||||
|
\setup*
|
||||||
|
|
||||||
|
/scripts/install-espanso-packages
|
||||||
|
|||||||
36
DOC
Normal file
36
DOC
Normal file
@@ -0,0 +1,36 @@
|
|||||||
|
Developer Certificate of Origin
|
||||||
|
Version 1.1
|
||||||
|
|
||||||
|
Copyright (C) 2004, 2006 The Linux Foundation and its contributors.
|
||||||
|
1 Letterman Drive
|
||||||
|
Suite D4700
|
||||||
|
San Francisco, CA, 94129
|
||||||
|
|
||||||
|
Everyone is permitted to copy and distribute verbatim copies of this
|
||||||
|
license document, but changing it is not allowed.
|
||||||
|
|
||||||
|
Developer's Certificate of Origin 1.1
|
||||||
|
|
||||||
|
By making a contribution to this project, I certify that:
|
||||||
|
|
||||||
|
(a) The contribution was created in whole or in part by me and I
|
||||||
|
have the right to submit it under the open source license
|
||||||
|
indicated in the file; or
|
||||||
|
|
||||||
|
(b) The contribution is based upon previous work that, to the best
|
||||||
|
of my knowledge, is covered under an appropriate open source
|
||||||
|
license and I have the right under that license to submit that
|
||||||
|
work with modifications, whether created in whole or in part
|
||||||
|
by me, under the same open source license (unless I am
|
||||||
|
permitted to submit under a different license), as indicated
|
||||||
|
in the file; or
|
||||||
|
|
||||||
|
(c) The contribution was provided directly to me by some other
|
||||||
|
person who certified (a), (b) or (c) and I have not modified
|
||||||
|
it.
|
||||||
|
|
||||||
|
(d) I understand and agree that this project and the contribution
|
||||||
|
are public and that a record of the contribution (including all
|
||||||
|
personal information I submit with it, including my sign-off) is
|
||||||
|
maintained indefinitely and may be redistributed consistent with
|
||||||
|
this project or the open source license(s) involved.
|
||||||
201
LICENSE
Normal file
201
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 2021 Michael Housh
|
||||||
|
|
||||||
|
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.
|
||||||
67
Makefile
67
Makefile
@@ -1,44 +1,35 @@
|
|||||||
|
BREWPATH ?= /opt/homebrew/bin
|
||||||
|
BREW = $(BREWPATH)/brew
|
||||||
|
DOTS = $(BREWPATH)/dots
|
||||||
|
APPDIR ?= /Applications
|
||||||
|
|
||||||
|
# This does not work inside of a make command.
|
||||||
bootstrap-homebrew:
|
bootstrap-homebrew:
|
||||||
xcode-select --install | true
|
xcode-select --install || true
|
||||||
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
|
source "$(PWD)/scripts/install-brew.sh"
|
||||||
chmod -R go-w $(brew --prefix)
|
|
||||||
|
|
||||||
bootstrap-brews:
|
# Install the dots application manager.
|
||||||
@brew bundle \
|
install-dots:
|
||||||
--no-lock \
|
"$(BREW)" tap m-housh/formula
|
||||||
--cleanup \
|
"$(BREW)" install dots
|
||||||
--debug \
|
|
||||||
--file "$(PWD)/macOS/.config/macOS/Brewfile"
|
|
||||||
|
|
||||||
bootstrap-casks:
|
bootstrap-minimal: bootstrap-homebrew install-dots
|
||||||
@brew bundle \
|
"$(DOTS)" install --minimal "$(APPDIR)"
|
||||||
--no-lock \
|
|
||||||
--cleanup \
|
|
||||||
--debug \
|
|
||||||
--file "$(PWD)/macOS/.config/macOS/Casks.Brewfile"
|
|
||||||
|
|
||||||
bootstrap-logitech:
|
bootstrap: bootstrap-homebrew install-dots
|
||||||
@curl \
|
"$(DOTS)" install --full "$(APPDIR)"
|
||||||
--output ~/Downloads/logi-options.zip \
|
|
||||||
https://download01.logi.com/web/ftp/pub/techsupport/options/options_installer.zip
|
|
||||||
|
|
||||||
bootstrap-amazon-workdocs:
|
# make a local zsh configuration file, to extend
|
||||||
@curl \
|
# the normal .zshrc for configuration that is only
|
||||||
--output ~/Downloads/AmazonWorkDocsDrive.pkg \
|
# relevant on the local machine.
|
||||||
https://d3f2hupz96ggz3.cloudfront.net/mac/AmazonWorkDocsDrive.pkg
|
zshrc-local:
|
||||||
|
# check if a file already exists or not and create it if not.
|
||||||
|
test -f "$(PWD)/zsh/config/.zshrc-local" \
|
||||||
|
|| echo "#!/usr/bin/env zsh" > "$(PWD)/zsh/config/.zshrc-local"
|
||||||
|
# add symlink to appropriate location if doesn't exist.
|
||||||
|
test -L "$(HOME)/.config/zsh/.zshrc-local" \
|
||||||
|
|| ln -sfv "$(PWD)/zsh/config/.zshrc-local" "$(HOME)/.config/zsh/"
|
||||||
|
# open the file to edit.
|
||||||
|
vim "$(PWD)/zsh/config/.zshrc-local"
|
||||||
|
|
||||||
bootstrap-app-store:
|
default: bootstrap
|
||||||
@brew bundle \
|
|
||||||
--no-lock \
|
|
||||||
--cleanup \
|
|
||||||
--debug \
|
|
||||||
--file "$(PWD)/macOS/.config/macOS/AppStore.Brewfile"
|
|
||||||
|
|
||||||
bootstrap-non-brews: bootstrap-logitech bootstrap-amazon-workdocs
|
|
||||||
|
|
||||||
stow:
|
|
||||||
@stow --stow --verbose --target ~ */
|
|
||||||
|
|
||||||
# Order matters, need to install home-brew first then formula
|
|
||||||
bootstrap: bootstrap-homebrew bootstrap-brews bootstrap-casks stow bootstrap-non-brews bootstrap-app-store
|
|
||||||
open ~/Downloads
|
|
||||||
|
|||||||
109
README.md
109
README.md
@@ -1,18 +1,36 @@
|
|||||||
# My Dotfiles
|
# My Dotfiles
|
||||||
|
|
||||||
This is my repository for learning dotfiles.
|
This is a repository for my dotfiles. Be warned that these may often change and
|
||||||
|
that the installation documentation may not always be correct as things
|
||||||
|
progress. In general the setup process is something that is only done when
|
||||||
|
a new machine is purchased or I feel like testing in a virtual machine (which
|
||||||
|
does not happen often). It is helpful to have an understanding of what these
|
||||||
|
commands do on your own.
|
||||||
|
|
||||||
|
In general no pull-requests or changes will be accepted, however you can
|
||||||
|
generate an issue if you find a problem.
|
||||||
|
|
||||||
It currently will install homebrew and the following homebrew formula.
|
It currently will install homebrew and the following homebrew formula.
|
||||||
|
|
||||||
|
Most of the functionality is contained in the
|
||||||
|
[dots](https://github.com/m-housh/dots) project, that is a companion to manage
|
||||||
|
the dotfiles, which expects the dotfiles directory to be at `~/.dotfiles`.
|
||||||
|
|
||||||
```
|
```
|
||||||
fd
|
fd
|
||||||
|
figlet
|
||||||
|
gh
|
||||||
git
|
git
|
||||||
|
httpie
|
||||||
|
jq
|
||||||
mas
|
mas
|
||||||
neovim
|
pure
|
||||||
node
|
node
|
||||||
ripgrep
|
ripgrep
|
||||||
stow
|
|
||||||
swift-format
|
swift-format
|
||||||
|
swift-zet
|
||||||
|
tmux
|
||||||
|
vim
|
||||||
zsh
|
zsh
|
||||||
zsh-completions
|
zsh-completions
|
||||||
```
|
```
|
||||||
@@ -21,12 +39,12 @@ It will also install the following homebrew casks in the `~/Applications` direct
|
|||||||
|
|
||||||
```
|
```
|
||||||
docker
|
docker
|
||||||
|
espanso
|
||||||
google-chrome
|
google-chrome
|
||||||
iterm2
|
iterm2
|
||||||
microsoft-teams
|
onyx
|
||||||
obs
|
rapid-api
|
||||||
paw
|
rectangle
|
||||||
sketchup-pro
|
|
||||||
```
|
```
|
||||||
|
|
||||||
And the following fonts.
|
And the following fonts.
|
||||||
@@ -39,17 +57,12 @@ font-inconsolata-nerd-font
|
|||||||
The following applications will be installed from the macOS app store.
|
The following applications will be installed from the macOS app store.
|
||||||
|
|
||||||
```
|
```
|
||||||
|
Developer
|
||||||
|
Home Assistant
|
||||||
pwSafe
|
pwSafe
|
||||||
Xcode
|
Xcode
|
||||||
```
|
```
|
||||||
|
|
||||||
The following non-app-store applications will be downloaded for later installation / setup. These will be placed in `~/Downloads`
|
|
||||||
|
|
||||||
```
|
|
||||||
Logi Options # logitech mouse / keyboard settings
|
|
||||||
AmazonWorkDocsDrive
|
|
||||||
```
|
|
||||||
|
|
||||||
## Installation
|
## Installation
|
||||||
|
|
||||||
Clone the repository.
|
Clone the repository.
|
||||||
@@ -59,8 +72,6 @@ git clone https://m-housh/dotfiles.git ~/.dotfiles && \
|
|||||||
cd ~/.dotfiles
|
cd ~/.dotfiles
|
||||||
```
|
```
|
||||||
|
|
||||||
The Makefile includes commands to install dependencies andlink the configuration using `gnu-stow`.
|
|
||||||
|
|
||||||
On a fresh system run the following command from the dotfiles root.
|
On a fresh system run the following command from the dotfiles root.
|
||||||
|
|
||||||
```
|
```
|
||||||
@@ -72,53 +83,45 @@ This start by installing homebrew, then install the required homebrew formulas a
|
|||||||
applications from the `App Store`. When the bootstrap command is done it will open up the `~/Downloads` folder
|
applications from the `App Store`. When the bootstrap command is done it will open up the `~/Downloads` folder
|
||||||
for the few applications that get downloaded from the internet, so that you can finish the installation of those applications.
|
for the few applications that get downloaded from the internet, so that you can finish the installation of those applications.
|
||||||
|
|
||||||
|
### Minimal Setup
|
||||||
|
|
||||||
|
If you would like to just setup minimal stuff, link dotfiles, and install brews.
|
||||||
|
Then you can run the following command.
|
||||||
|
|
||||||
|
```bash
|
||||||
|
make bootstrap-minimal
|
||||||
|
```
|
||||||
|
|
||||||
|
## To set macOS settings
|
||||||
|
|
||||||
|
```bash
|
||||||
|
source scripts/setup_defaults
|
||||||
|
```
|
||||||
|
|
||||||
## Post Installation
|
## Post Installation
|
||||||
|
|
||||||
After everything has finished up, you will be able to open `iTerm2` and load the profile which should now be symlinked
|
After everything has finished up, you will be able to open `iTerm2` and load
|
||||||
to `~/.config/macOS/iterm/profile.json`
|
the profile which should now be symlinked to `~/.config/macOS/iterm/profile.json`
|
||||||
|
|
||||||
You will also want to open `neovim` and run `:PackerSync` or `:PackerInstall` to download all the `neovim` plugins.
|
|
||||||
|
|
||||||
## Make commands
|
## Make commands
|
||||||
|
|
||||||
It is also possible to not do the full bootstrapping. If you would only like to install homebrew (without any formula or casks) then you can run the following command.
|
It is also possible to not do the full bootstrapping. If you would only like
|
||||||
|
to install homebrew (without any formula or casks) then you can run the following
|
||||||
|
command.
|
||||||
|
|
||||||
```
|
```
|
||||||
make bootstrap-homebrew
|
make bootstrap-homebrew
|
||||||
```
|
```
|
||||||
|
|
||||||
Once homebrew is installed, if you'd like to install the homebrew formula (located in `macOS/.config/macOS/Brewfile`) then you can run the following command.
|
## Other Make Commands
|
||||||
|
|
||||||
```
|
If you would like to setup any specific `zsh` configuration that is only for
|
||||||
make bootstrap-brews
|
the local machine then you can run the following command.
|
||||||
|
|
||||||
|
```bash
|
||||||
|
make zshrc-local
|
||||||
```
|
```
|
||||||
|
|
||||||
To install homebrew casks (located in `macOS/.config/macOS/Casks.Brewfile`) then you can run the following command.
|
This will generate and symlink a file that you can use to extend the default
|
||||||
|
`zshrc` configuration. In general, I use this to set custom location for
|
||||||
```
|
homebrew casks to be installed on certain machines.
|
||||||
make bootstrap-casks
|
|
||||||
```
|
|
||||||
|
|
||||||
To symlink the configuration files only then you can run.
|
|
||||||
|
|
||||||
```
|
|
||||||
make stow
|
|
||||||
```
|
|
||||||
|
|
||||||
To download the logitech options application and place in your `~/Downloads` folder, you can run.
|
|
||||||
|
|
||||||
```
|
|
||||||
make bootstrap-logitech
|
|
||||||
```
|
|
||||||
|
|
||||||
To download the amazon workdocs drive installer and place in your `~/Downloads` folder, you can run.
|
|
||||||
|
|
||||||
```
|
|
||||||
make bootstrap-amazon-workdocs
|
|
||||||
```
|
|
||||||
|
|
||||||
And finally to download the app store applications run.
|
|
||||||
|
|
||||||
```
|
|
||||||
make bootstrap-app-store
|
|
||||||
```
|
|
||||||
|
|||||||
6
TODO.md
Normal file
6
TODO.md
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
# TODO
|
||||||
|
|
||||||
|
- 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.
|
||||||
985
ansible/ansible.cfg
Normal file
985
ansible/ansible.cfg
Normal file
@@ -0,0 +1,985 @@
|
|||||||
|
[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/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=
|
||||||
|
|
||||||
|
# (string) The label to use for the default vault id label in cases where a vault id label is not provided
|
||||||
|
;vault_identity=default
|
||||||
|
|
||||||
|
# (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/ansible/.vaultpwd
|
||||||
|
|
||||||
|
# (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=
|
||||||
|
|
||||||
40
espanso/espanso/config/default.yml
Normal file
40
espanso/espanso/config/default.yml
Normal file
@@ -0,0 +1,40 @@
|
|||||||
|
# espanso configuration file
|
||||||
|
|
||||||
|
# For a complete introduction, visit the official docs at: https://espanso.org/docs/
|
||||||
|
|
||||||
|
# You can use this file to define the global configuration options for espanso.
|
||||||
|
# These are the parameters that will be used by default on every application,
|
||||||
|
# but you can also override them on a per-application basis.
|
||||||
|
|
||||||
|
# To make customization easier, this file contains some of the commonly used
|
||||||
|
# parameters. Feel free to uncomment and tune them to fit your needs!
|
||||||
|
|
||||||
|
# --- Toggle key
|
||||||
|
|
||||||
|
# Customize the key used to disable and enable espanso (when double tapped)
|
||||||
|
# Available options: CTRL, SHIFT, ALT, CMD, OFF
|
||||||
|
# You can also specify the key variant, such as LEFT_CTRL, RIGHT_SHIFT, etc...
|
||||||
|
# toggle_key: ALT
|
||||||
|
# You can also disable the toggle key completely with
|
||||||
|
# toggle_key: OFF
|
||||||
|
|
||||||
|
# --- Injection Backend
|
||||||
|
|
||||||
|
# Espanso supports multiple ways of injecting text into applications. Each of
|
||||||
|
# them has its quirks, therefore you may want to change it if you are having problems.
|
||||||
|
# By default, espanso uses the "Auto" backend which should work well in most cases,
|
||||||
|
# but you may want to try the "Clipboard" or "Inject" backend in case of issues.
|
||||||
|
# backend: Clipboard
|
||||||
|
|
||||||
|
# --- Auto-restart
|
||||||
|
|
||||||
|
# Enable/disable the config auto-reload after a file change is detected.
|
||||||
|
# auto_restart: false
|
||||||
|
|
||||||
|
# --- Clipboard threshold
|
||||||
|
|
||||||
|
# Because injecting long texts char-by-char is a slow operation, espanso automatically
|
||||||
|
# uses the clipboard if the text is longer than 'clipboard_threshold' characters.
|
||||||
|
# clipboard_threshold: 100
|
||||||
|
|
||||||
|
# For a list of all the available options, visit the official docs at: https://espanso.org/docs/
|
||||||
5
espanso/espanso/config/xcode.yml
Normal file
5
espanso/espanso/config/xcode.yml
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
# Xcode specific configuration.
|
||||||
|
|
||||||
|
filter_exec: "Xcode"
|
||||||
|
extra_includes:
|
||||||
|
- "../match/_xcode_snippets.yml"
|
||||||
13
espanso/espanso/match/_xcode_snippets.yml
Normal file
13
espanso/espanso/match/_xcode_snippets.yml
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
# These are Xcode specific matches.
|
||||||
|
matches:
|
||||||
|
- trigger: ":struct"
|
||||||
|
replace: |
|
||||||
|
struct $|$ {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
- trigger: ":pstruct"
|
||||||
|
replace: |
|
||||||
|
public struct $|$ {
|
||||||
|
|
||||||
|
}
|
||||||
17
espanso/espanso/match/base.yml
Normal file
17
espanso/espanso/match/base.yml
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
# espanso match file
|
||||||
|
|
||||||
|
# For a complete introduction, visit the official docs at: https://espanso.org/docs/
|
||||||
|
# You can use this file to define the base matches (aka snippets)
|
||||||
|
# that will be available in every application when using espanso.
|
||||||
|
|
||||||
|
# Matches are substitution rules: when you type the "trigger" string
|
||||||
|
# it gets replaced by the "replace" string.
|
||||||
|
|
||||||
|
imports:
|
||||||
|
- "./date.yml"
|
||||||
|
- "./email.yml"
|
||||||
|
- "./housecallpro.yml"
|
||||||
|
- "./links.yml"
|
||||||
|
- './symbols.yml'
|
||||||
|
|
||||||
|
|
||||||
19
espanso/espanso/match/date.yml
Normal file
19
espanso/espanso/match/date.yml
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
matches:
|
||||||
|
# Print the current date
|
||||||
|
- trigger: ":date"
|
||||||
|
replace: "{{mydate}}"
|
||||||
|
vars:
|
||||||
|
- name: mydate
|
||||||
|
type: date
|
||||||
|
params:
|
||||||
|
format: "%m/%d/%Y"
|
||||||
|
|
||||||
|
# Iso-seconds
|
||||||
|
- trigger: ":isosec"
|
||||||
|
replace: "{{output}}"
|
||||||
|
vars:
|
||||||
|
- name: output
|
||||||
|
type: shell
|
||||||
|
params:
|
||||||
|
cmd: "isosec"
|
||||||
|
|
||||||
11
espanso/espanso/match/email.yml
Normal file
11
espanso/espanso/match/email.yml
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
# Email configuration.
|
||||||
|
|
||||||
|
matches:
|
||||||
|
# Email Addresses
|
||||||
|
- trigger: ":@hhe"
|
||||||
|
replace: "mhoush@houshhomeenergy.com"
|
||||||
|
- trigger: ":@service"
|
||||||
|
replace: "service@houshhomeenergy.com"
|
||||||
|
- trigger: ":@me"
|
||||||
|
replace: "michael@mhoush.com"
|
||||||
|
|
||||||
4
espanso/espanso/match/git.yml
Normal file
4
espanso/espanso/match/git.yml
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
matches:
|
||||||
|
- trigger: ":gcl"
|
||||||
|
replace: "git clone"
|
||||||
|
|
||||||
12
espanso/espanso/match/housecallpro.yml
Normal file
12
espanso/espanso/match/housecallpro.yml
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
# Commonly used in house call pro.
|
||||||
|
matches:
|
||||||
|
# House Call Pro
|
||||||
|
- trigger: ":cc"
|
||||||
|
replace: "Client Concern"
|
||||||
|
- trigger: ":diag"
|
||||||
|
replace: "Diagnostic"
|
||||||
|
- trigger: ":wd"
|
||||||
|
replace: "Work Description"
|
||||||
|
- trigger: ":wp" # I often mistype for this.
|
||||||
|
replace: "Work Description"
|
||||||
|
|
||||||
31
espanso/espanso/match/links.yml
Normal file
31
espanso/espanso/match/links.yml
Normal file
@@ -0,0 +1,31 @@
|
|||||||
|
# This file includes common url's / links.
|
||||||
|
matches:
|
||||||
|
# Github
|
||||||
|
- trigger: ":gh"
|
||||||
|
replace: "https://github.com"
|
||||||
|
|
||||||
|
# Personal Github
|
||||||
|
- trigger: ":git"
|
||||||
|
replace: "https://github.com/m-housh"
|
||||||
|
|
||||||
|
- trigger: ":pf"
|
||||||
|
replace: "https://pointfree.co"
|
||||||
|
|
||||||
|
- trigger: ":gpf"
|
||||||
|
replace: "https://github.com/pointfreeco"
|
||||||
|
|
||||||
|
- trigger: ":tca"
|
||||||
|
replace: "https://github.com/pointfreeco/swift-composable-architecture"
|
||||||
|
|
||||||
|
# Youtube
|
||||||
|
- trigger: ":yt"
|
||||||
|
replace: "https://www.youtube.com/channel/UCb58SeURd5bObfTiL0KoliA"
|
||||||
|
|
||||||
|
# Discord
|
||||||
|
- trigger: ":discord"
|
||||||
|
replace: "https://discord.gg/W3p5GJfjry"
|
||||||
|
|
||||||
|
# TruTechTools
|
||||||
|
- trigger: ":ttt"
|
||||||
|
replace: "https://trutechtools.com"
|
||||||
|
|
||||||
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.
|
||||||
@@ -1,6 +0,0 @@
|
|||||||
[core]
|
|
||||||
excludesfile = ~/.config/git/gitignore
|
|
||||||
|
|
||||||
[user]
|
|
||||||
name = Michael Housh
|
|
||||||
email = mhoush@houshhomeenergy.com
|
|
||||||
21
git/git/config
Normal file
21
git/git/config
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
[core]
|
||||||
|
excludesfile = ~/.config/git/gitignore
|
||||||
|
[init]
|
||||||
|
defaultBranch = main
|
||||||
|
[user]
|
||||||
|
name = Michael Housh
|
||||||
|
email = mhoush@houshhomeenergy.com
|
||||||
|
signingkey = mhoush@houshhomeenergy.com
|
||||||
|
|
||||||
|
[commit]
|
||||||
|
gpgsign = true
|
||||||
|
[tag]
|
||||||
|
gpgSign = true
|
||||||
|
|
||||||
|
[color]
|
||||||
|
ui = true
|
||||||
|
[filter "lfs"]
|
||||||
|
clean = git-lfs clean -- %f
|
||||||
|
smudge = git-lfs smudge -- %f
|
||||||
|
process = git-lfs filter-process
|
||||||
|
required = true
|
||||||
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"
|
||||||
15
helix/config.toml
Normal file
15
helix/config.toml
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
theme = "nightfox"
|
||||||
|
|
||||||
|
[editor]
|
||||||
|
line-number = "relative"
|
||||||
|
cursorline = true
|
||||||
|
color-modes = true
|
||||||
|
shell = ["zsh", "-c"]
|
||||||
|
|
||||||
|
[editor.cursor-shape]
|
||||||
|
insert = "bar"
|
||||||
|
normal = "block"
|
||||||
|
select = "underline"
|
||||||
|
|
||||||
|
[editor.file-picker]
|
||||||
|
hidden = false
|
||||||
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
|
||||||
720
macOS/.config/iterm/com.googlecode.iterm2.plist
Normal file
720
macOS/.config/iterm/com.googlecode.iterm2.plist
Normal file
@@ -0,0 +1,720 @@
|
|||||||
|
<?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>AllowClipboardAccess</key>
|
||||||
|
<true/>
|
||||||
|
<key>Default Bookmark Guid</key>
|
||||||
|
<string>A30A702C-1CC2-4C2A-A29F-505BC017C0A6</string>
|
||||||
|
<key>DoubleClickPerformsSmartSelection</key>
|
||||||
|
<true/>
|
||||||
|
<key>EnableProxyIcon</key>
|
||||||
|
<false/>
|
||||||
|
<key>HapticFeedbackForEsc</key>
|
||||||
|
<false/>
|
||||||
|
<key>HotkeyMigratedFromSingleToMulti</key>
|
||||||
|
<true/>
|
||||||
|
<key>IRMemory</key>
|
||||||
|
<integer>4</integer>
|
||||||
|
<key>New Bookmarks</key>
|
||||||
|
<array>
|
||||||
|
<dict>
|
||||||
|
<key>ASCII Anti Aliased</key>
|
||||||
|
<true/>
|
||||||
|
<key>Ambiguous Double Width</key>
|
||||||
|
<false/>
|
||||||
|
<key>Ansi 0 Color</key>
|
||||||
|
<dict>
|
||||||
|
<key>Blue Component</key>
|
||||||
|
<string>0</string>
|
||||||
|
<key>Green Component</key>
|
||||||
|
<string>0</string>
|
||||||
|
<key>Red Component</key>
|
||||||
|
<string>0</string>
|
||||||
|
</dict>
|
||||||
|
<key>Ansi 1 Color</key>
|
||||||
|
<dict>
|
||||||
|
<key>Blue Component</key>
|
||||||
|
<string>0</string>
|
||||||
|
<key>Green Component</key>
|
||||||
|
<string>0</string>
|
||||||
|
<key>Red Component</key>
|
||||||
|
<string>0.8</string>
|
||||||
|
</dict>
|
||||||
|
<key>Ansi 10 Color</key>
|
||||||
|
<dict>
|
||||||
|
<key>Blue Component</key>
|
||||||
|
<string>0.2039216</string>
|
||||||
|
<key>Green Component</key>
|
||||||
|
<string>0.8862745</string>
|
||||||
|
<key>Red Component</key>
|
||||||
|
<string>0.5411764999999999</string>
|
||||||
|
</dict>
|
||||||
|
<key>Ansi 11 Color</key>
|
||||||
|
<dict>
|
||||||
|
<key>Blue Component</key>
|
||||||
|
<string>0.3098039</string>
|
||||||
|
<key>Green Component</key>
|
||||||
|
<string>0.9137255</string>
|
||||||
|
<key>Red Component</key>
|
||||||
|
<string>0.9882353</string>
|
||||||
|
</dict>
|
||||||
|
<key>Ansi 12 Color</key>
|
||||||
|
<dict>
|
||||||
|
<key>Blue Component</key>
|
||||||
|
<string>0.8117647</string>
|
||||||
|
<key>Green Component</key>
|
||||||
|
<string>0.6235294</string>
|
||||||
|
<key>Red Component</key>
|
||||||
|
<string>0.4470588</string>
|
||||||
|
</dict>
|
||||||
|
<key>Ansi 13 Color</key>
|
||||||
|
<dict>
|
||||||
|
<key>Blue Component</key>
|
||||||
|
<string>0.6588235</string>
|
||||||
|
<key>Green Component</key>
|
||||||
|
<string>0.4980392</string>
|
||||||
|
<key>Red Component</key>
|
||||||
|
<string>0.6784314</string>
|
||||||
|
</dict>
|
||||||
|
<key>Ansi 14 Color</key>
|
||||||
|
<dict>
|
||||||
|
<key>Blue Component</key>
|
||||||
|
<string>0.8862745</string>
|
||||||
|
<key>Green Component</key>
|
||||||
|
<string>0.8862745</string>
|
||||||
|
<key>Red Component</key>
|
||||||
|
<string>0.2039216</string>
|
||||||
|
</dict>
|
||||||
|
<key>Ansi 15 Color</key>
|
||||||
|
<dict>
|
||||||
|
<key>Blue Component</key>
|
||||||
|
<string>0.9254902</string>
|
||||||
|
<key>Green Component</key>
|
||||||
|
<string>0.9333333</string>
|
||||||
|
<key>Red Component</key>
|
||||||
|
<string>0.9333333</string>
|
||||||
|
</dict>
|
||||||
|
<key>Ansi 2 Color</key>
|
||||||
|
<dict>
|
||||||
|
<key>Blue Component</key>
|
||||||
|
<string>0.02352941</string>
|
||||||
|
<key>Green Component</key>
|
||||||
|
<string>0.6039215999999999</string>
|
||||||
|
<key>Red Component</key>
|
||||||
|
<string>0.3058824</string>
|
||||||
|
</dict>
|
||||||
|
<key>Ansi 3 Color</key>
|
||||||
|
<dict>
|
||||||
|
<key>Blue Component</key>
|
||||||
|
<string>0</string>
|
||||||
|
<key>Green Component</key>
|
||||||
|
<string>0.627451</string>
|
||||||
|
<key>Red Component</key>
|
||||||
|
<string>0.7686275</string>
|
||||||
|
</dict>
|
||||||
|
<key>Ansi 4 Color</key>
|
||||||
|
<dict>
|
||||||
|
<key>Blue Component</key>
|
||||||
|
<string>0.6431373</string>
|
||||||
|
<key>Green Component</key>
|
||||||
|
<string>0.3960784</string>
|
||||||
|
<key>Red Component</key>
|
||||||
|
<string>0.2039216</string>
|
||||||
|
</dict>
|
||||||
|
<key>Ansi 5 Color</key>
|
||||||
|
<dict>
|
||||||
|
<key>Blue Component</key>
|
||||||
|
<string>0.4823529</string>
|
||||||
|
<key>Green Component</key>
|
||||||
|
<string>0.3137255</string>
|
||||||
|
<key>Red Component</key>
|
||||||
|
<string>0.4588235</string>
|
||||||
|
</dict>
|
||||||
|
<key>Ansi 6 Color</key>
|
||||||
|
<dict>
|
||||||
|
<key>Blue Component</key>
|
||||||
|
<string>0.6039215999999999</string>
|
||||||
|
<key>Green Component</key>
|
||||||
|
<string>0.5960785</string>
|
||||||
|
<key>Red Component</key>
|
||||||
|
<string>0.02352941</string>
|
||||||
|
</dict>
|
||||||
|
<key>Ansi 7 Color</key>
|
||||||
|
<dict>
|
||||||
|
<key>Blue Component</key>
|
||||||
|
<string>0.8117647</string>
|
||||||
|
<key>Green Component</key>
|
||||||
|
<string>0.8431373</string>
|
||||||
|
<key>Red Component</key>
|
||||||
|
<string>0.827451</string>
|
||||||
|
</dict>
|
||||||
|
<key>Ansi 8 Color</key>
|
||||||
|
<dict>
|
||||||
|
<key>Blue Component</key>
|
||||||
|
<string>0.3254902</string>
|
||||||
|
<key>Green Component</key>
|
||||||
|
<string>0.3411765</string>
|
||||||
|
<key>Red Component</key>
|
||||||
|
<string>0.3333333</string>
|
||||||
|
</dict>
|
||||||
|
<key>Ansi 9 Color</key>
|
||||||
|
<dict>
|
||||||
|
<key>Blue Component</key>
|
||||||
|
<string>0.1607843</string>
|
||||||
|
<key>Green Component</key>
|
||||||
|
<string>0.1607843</string>
|
||||||
|
<key>Red Component</key>
|
||||||
|
<string>0.9372549</string>
|
||||||
|
</dict>
|
||||||
|
<key>BM Growl</key>
|
||||||
|
<true/>
|
||||||
|
<key>Background Color</key>
|
||||||
|
<dict>
|
||||||
|
<key>Alpha Component</key>
|
||||||
|
<real>1</real>
|
||||||
|
<key>Blue Component</key>
|
||||||
|
<real>0.10000000000000001</real>
|
||||||
|
<key>Color Space</key>
|
||||||
|
<string>sRGB</string>
|
||||||
|
<key>Green Component</key>
|
||||||
|
<real>0.10000000000000001</real>
|
||||||
|
<key>Red Component</key>
|
||||||
|
<real>0.10000000000000001</real>
|
||||||
|
</dict>
|
||||||
|
<key>Background Image Location</key>
|
||||||
|
<string></string>
|
||||||
|
<key>Badge Color</key>
|
||||||
|
<dict>
|
||||||
|
<key>Alpha Component</key>
|
||||||
|
<real>0.5</real>
|
||||||
|
<key>Blue Component</key>
|
||||||
|
<real>0.0</real>
|
||||||
|
<key>Color Space</key>
|
||||||
|
<string>sRGB</string>
|
||||||
|
<key>Green Component</key>
|
||||||
|
<real>0.14910030364990234</real>
|
||||||
|
<key>Red Component</key>
|
||||||
|
<real>1</real>
|
||||||
|
</dict>
|
||||||
|
<key>Blinking Cursor</key>
|
||||||
|
<false/>
|
||||||
|
<key>Blur</key>
|
||||||
|
<false/>
|
||||||
|
<key>Bold Color</key>
|
||||||
|
<dict>
|
||||||
|
<key>Blue Component</key>
|
||||||
|
<string>1</string>
|
||||||
|
<key>Green Component</key>
|
||||||
|
<string>1</string>
|
||||||
|
<key>Red Component</key>
|
||||||
|
<string>1</string>
|
||||||
|
</dict>
|
||||||
|
<key>Bound Hosts</key>
|
||||||
|
<array/>
|
||||||
|
<key>Character Encoding</key>
|
||||||
|
<integer>4</integer>
|
||||||
|
<key>Close Sessions On End</key>
|
||||||
|
<true/>
|
||||||
|
<key>Columns</key>
|
||||||
|
<integer>180</integer>
|
||||||
|
<key>Command</key>
|
||||||
|
<string></string>
|
||||||
|
<key>Cursor Color</key>
|
||||||
|
<dict>
|
||||||
|
<key>Blue Component</key>
|
||||||
|
<string>1</string>
|
||||||
|
<key>Green Component</key>
|
||||||
|
<string>1</string>
|
||||||
|
<key>Red Component</key>
|
||||||
|
<string>1</string>
|
||||||
|
</dict>
|
||||||
|
<key>Cursor Guide Color</key>
|
||||||
|
<dict>
|
||||||
|
<key>Alpha Component</key>
|
||||||
|
<real>0.25</real>
|
||||||
|
<key>Blue Component</key>
|
||||||
|
<real>1</real>
|
||||||
|
<key>Color Space</key>
|
||||||
|
<string>sRGB</string>
|
||||||
|
<key>Green Component</key>
|
||||||
|
<real>0.92681378126144409</real>
|
||||||
|
<key>Red Component</key>
|
||||||
|
<real>0.70214027166366577</real>
|
||||||
|
</dict>
|
||||||
|
<key>Cursor Text Color</key>
|
||||||
|
<dict>
|
||||||
|
<key>Blue Component</key>
|
||||||
|
<string>0</string>
|
||||||
|
<key>Green Component</key>
|
||||||
|
<string>0</string>
|
||||||
|
<key>Red Component</key>
|
||||||
|
<string>0</string>
|
||||||
|
</dict>
|
||||||
|
<key>Custom Command</key>
|
||||||
|
<string>No</string>
|
||||||
|
<key>Custom Directory</key>
|
||||||
|
<string>No</string>
|
||||||
|
<key>Default Bookmark</key>
|
||||||
|
<string>No</string>
|
||||||
|
<key>Description</key>
|
||||||
|
<string>Default</string>
|
||||||
|
<key>Disable Window Resizing</key>
|
||||||
|
<true/>
|
||||||
|
<key>Flashing Bell</key>
|
||||||
|
<false/>
|
||||||
|
<key>Foreground Color</key>
|
||||||
|
<dict>
|
||||||
|
<key>Blue Component</key>
|
||||||
|
<string>1</string>
|
||||||
|
<key>Green Component</key>
|
||||||
|
<string>1</string>
|
||||||
|
<key>Red Component</key>
|
||||||
|
<string>1</string>
|
||||||
|
</dict>
|
||||||
|
<key>Guid</key>
|
||||||
|
<string>A30A702C-1CC2-4C2A-A29F-505BC017C0A6</string>
|
||||||
|
<key>Horizontal Spacing</key>
|
||||||
|
<real>1</real>
|
||||||
|
<key>Idle Code</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>Jobs to Ignore</key>
|
||||||
|
<array>
|
||||||
|
<string>rlogin</string>
|
||||||
|
<string>ssh</string>
|
||||||
|
<string>slogin</string>
|
||||||
|
<string>telnet</string>
|
||||||
|
</array>
|
||||||
|
<key>Keyboard Map</key>
|
||||||
|
<dict>
|
||||||
|
<key>0x2d-0x40000</key>
|
||||||
|
<dict>
|
||||||
|
<key>Action</key>
|
||||||
|
<integer>11</integer>
|
||||||
|
<key>Text</key>
|
||||||
|
<string>0x1f</string>
|
||||||
|
</dict>
|
||||||
|
<key>0x32-0x40000</key>
|
||||||
|
<dict>
|
||||||
|
<key>Action</key>
|
||||||
|
<integer>11</integer>
|
||||||
|
<key>Text</key>
|
||||||
|
<string>0x00</string>
|
||||||
|
</dict>
|
||||||
|
<key>0x33-0x40000</key>
|
||||||
|
<dict>
|
||||||
|
<key>Action</key>
|
||||||
|
<integer>11</integer>
|
||||||
|
<key>Text</key>
|
||||||
|
<string>0x1b</string>
|
||||||
|
</dict>
|
||||||
|
<key>0x34-0x40000</key>
|
||||||
|
<dict>
|
||||||
|
<key>Action</key>
|
||||||
|
<integer>11</integer>
|
||||||
|
<key>Text</key>
|
||||||
|
<string>0x1c</string>
|
||||||
|
</dict>
|
||||||
|
<key>0x35-0x40000</key>
|
||||||
|
<dict>
|
||||||
|
<key>Action</key>
|
||||||
|
<integer>11</integer>
|
||||||
|
<key>Text</key>
|
||||||
|
<string>0x1d</string>
|
||||||
|
</dict>
|
||||||
|
<key>0x36-0x40000</key>
|
||||||
|
<dict>
|
||||||
|
<key>Action</key>
|
||||||
|
<integer>11</integer>
|
||||||
|
<key>Text</key>
|
||||||
|
<string>0x1e</string>
|
||||||
|
</dict>
|
||||||
|
<key>0x37-0x40000</key>
|
||||||
|
<dict>
|
||||||
|
<key>Action</key>
|
||||||
|
<integer>11</integer>
|
||||||
|
<key>Text</key>
|
||||||
|
<string>0x1f</string>
|
||||||
|
</dict>
|
||||||
|
<key>0x38-0x40000</key>
|
||||||
|
<dict>
|
||||||
|
<key>Action</key>
|
||||||
|
<integer>11</integer>
|
||||||
|
<key>Text</key>
|
||||||
|
<string>0x7f</string>
|
||||||
|
</dict>
|
||||||
|
<key>0xf700-0x220000</key>
|
||||||
|
<dict>
|
||||||
|
<key>Action</key>
|
||||||
|
<integer>10</integer>
|
||||||
|
<key>Text</key>
|
||||||
|
<string>[1;2A</string>
|
||||||
|
</dict>
|
||||||
|
<key>0xf700-0x240000</key>
|
||||||
|
<dict>
|
||||||
|
<key>Action</key>
|
||||||
|
<integer>10</integer>
|
||||||
|
<key>Text</key>
|
||||||
|
<string>[1;5A</string>
|
||||||
|
</dict>
|
||||||
|
<key>0xf700-0x260000</key>
|
||||||
|
<dict>
|
||||||
|
<key>Action</key>
|
||||||
|
<integer>10</integer>
|
||||||
|
<key>Text</key>
|
||||||
|
<string>[1;6A</string>
|
||||||
|
</dict>
|
||||||
|
<key>0xf700-0x280000</key>
|
||||||
|
<dict>
|
||||||
|
<key>Action</key>
|
||||||
|
<integer>11</integer>
|
||||||
|
<key>Text</key>
|
||||||
|
<string>0x1b 0x1b 0x5b 0x41</string>
|
||||||
|
</dict>
|
||||||
|
<key>0xf701-0x220000</key>
|
||||||
|
<dict>
|
||||||
|
<key>Action</key>
|
||||||
|
<integer>10</integer>
|
||||||
|
<key>Text</key>
|
||||||
|
<string>[1;2B</string>
|
||||||
|
</dict>
|
||||||
|
<key>0xf701-0x240000</key>
|
||||||
|
<dict>
|
||||||
|
<key>Action</key>
|
||||||
|
<integer>10</integer>
|
||||||
|
<key>Text</key>
|
||||||
|
<string>[1;5B</string>
|
||||||
|
</dict>
|
||||||
|
<key>0xf701-0x260000</key>
|
||||||
|
<dict>
|
||||||
|
<key>Action</key>
|
||||||
|
<integer>10</integer>
|
||||||
|
<key>Text</key>
|
||||||
|
<string>[1;6B</string>
|
||||||
|
</dict>
|
||||||
|
<key>0xf701-0x280000</key>
|
||||||
|
<dict>
|
||||||
|
<key>Action</key>
|
||||||
|
<integer>11</integer>
|
||||||
|
<key>Text</key>
|
||||||
|
<string>0x1b 0x1b 0x5b 0x42</string>
|
||||||
|
</dict>
|
||||||
|
<key>0xf702-0x220000</key>
|
||||||
|
<dict>
|
||||||
|
<key>Action</key>
|
||||||
|
<integer>10</integer>
|
||||||
|
<key>Text</key>
|
||||||
|
<string>[1;2D</string>
|
||||||
|
</dict>
|
||||||
|
<key>0xf702-0x240000</key>
|
||||||
|
<dict>
|
||||||
|
<key>Action</key>
|
||||||
|
<integer>10</integer>
|
||||||
|
<key>Text</key>
|
||||||
|
<string>[1;5D</string>
|
||||||
|
</dict>
|
||||||
|
<key>0xf702-0x260000</key>
|
||||||
|
<dict>
|
||||||
|
<key>Action</key>
|
||||||
|
<integer>10</integer>
|
||||||
|
<key>Text</key>
|
||||||
|
<string>[1;6D</string>
|
||||||
|
</dict>
|
||||||
|
<key>0xf702-0x280000</key>
|
||||||
|
<dict>
|
||||||
|
<key>Action</key>
|
||||||
|
<integer>11</integer>
|
||||||
|
<key>Text</key>
|
||||||
|
<string>0x1b 0x1b 0x5b 0x44</string>
|
||||||
|
</dict>
|
||||||
|
<key>0xf703-0x220000</key>
|
||||||
|
<dict>
|
||||||
|
<key>Action</key>
|
||||||
|
<integer>10</integer>
|
||||||
|
<key>Text</key>
|
||||||
|
<string>[1;2C</string>
|
||||||
|
</dict>
|
||||||
|
<key>0xf703-0x240000</key>
|
||||||
|
<dict>
|
||||||
|
<key>Action</key>
|
||||||
|
<integer>10</integer>
|
||||||
|
<key>Text</key>
|
||||||
|
<string>[1;5C</string>
|
||||||
|
</dict>
|
||||||
|
<key>0xf703-0x260000</key>
|
||||||
|
<dict>
|
||||||
|
<key>Action</key>
|
||||||
|
<integer>10</integer>
|
||||||
|
<key>Text</key>
|
||||||
|
<string>[1;6C</string>
|
||||||
|
</dict>
|
||||||
|
<key>0xf703-0x280000</key>
|
||||||
|
<dict>
|
||||||
|
<key>Action</key>
|
||||||
|
<integer>11</integer>
|
||||||
|
<key>Text</key>
|
||||||
|
<string>0x1b 0x1b 0x5b 0x43</string>
|
||||||
|
</dict>
|
||||||
|
<key>0xf704-0x20000</key>
|
||||||
|
<dict>
|
||||||
|
<key>Action</key>
|
||||||
|
<integer>10</integer>
|
||||||
|
<key>Text</key>
|
||||||
|
<string>[1;2P</string>
|
||||||
|
</dict>
|
||||||
|
<key>0xf705-0x20000</key>
|
||||||
|
<dict>
|
||||||
|
<key>Action</key>
|
||||||
|
<integer>10</integer>
|
||||||
|
<key>Text</key>
|
||||||
|
<string>[1;2Q</string>
|
||||||
|
</dict>
|
||||||
|
<key>0xf706-0x20000</key>
|
||||||
|
<dict>
|
||||||
|
<key>Action</key>
|
||||||
|
<integer>10</integer>
|
||||||
|
<key>Text</key>
|
||||||
|
<string>[1;2R</string>
|
||||||
|
</dict>
|
||||||
|
<key>0xf707-0x20000</key>
|
||||||
|
<dict>
|
||||||
|
<key>Action</key>
|
||||||
|
<integer>10</integer>
|
||||||
|
<key>Text</key>
|
||||||
|
<string>[1;2S</string>
|
||||||
|
</dict>
|
||||||
|
<key>0xf708-0x20000</key>
|
||||||
|
<dict>
|
||||||
|
<key>Action</key>
|
||||||
|
<integer>10</integer>
|
||||||
|
<key>Text</key>
|
||||||
|
<string>[15;2~</string>
|
||||||
|
</dict>
|
||||||
|
<key>0xf709-0x20000</key>
|
||||||
|
<dict>
|
||||||
|
<key>Action</key>
|
||||||
|
<integer>10</integer>
|
||||||
|
<key>Text</key>
|
||||||
|
<string>[17;2~</string>
|
||||||
|
</dict>
|
||||||
|
<key>0xf70a-0x20000</key>
|
||||||
|
<dict>
|
||||||
|
<key>Action</key>
|
||||||
|
<integer>10</integer>
|
||||||
|
<key>Text</key>
|
||||||
|
<string>[18;2~</string>
|
||||||
|
</dict>
|
||||||
|
<key>0xf70b-0x20000</key>
|
||||||
|
<dict>
|
||||||
|
<key>Action</key>
|
||||||
|
<integer>10</integer>
|
||||||
|
<key>Text</key>
|
||||||
|
<string>[19;2~</string>
|
||||||
|
</dict>
|
||||||
|
<key>0xf70c-0x20000</key>
|
||||||
|
<dict>
|
||||||
|
<key>Action</key>
|
||||||
|
<integer>10</integer>
|
||||||
|
<key>Text</key>
|
||||||
|
<string>[20;2~</string>
|
||||||
|
</dict>
|
||||||
|
<key>0xf70d-0x20000</key>
|
||||||
|
<dict>
|
||||||
|
<key>Action</key>
|
||||||
|
<integer>10</integer>
|
||||||
|
<key>Text</key>
|
||||||
|
<string>[21;2~</string>
|
||||||
|
</dict>
|
||||||
|
<key>0xf70e-0x20000</key>
|
||||||
|
<dict>
|
||||||
|
<key>Action</key>
|
||||||
|
<integer>10</integer>
|
||||||
|
<key>Text</key>
|
||||||
|
<string>[23;2~</string>
|
||||||
|
</dict>
|
||||||
|
<key>0xf70f-0x20000</key>
|
||||||
|
<dict>
|
||||||
|
<key>Action</key>
|
||||||
|
<integer>10</integer>
|
||||||
|
<key>Text</key>
|
||||||
|
<string>[24;2~</string>
|
||||||
|
</dict>
|
||||||
|
<key>0xf729-0x20000</key>
|
||||||
|
<dict>
|
||||||
|
<key>Action</key>
|
||||||
|
<integer>10</integer>
|
||||||
|
<key>Text</key>
|
||||||
|
<string>[1;2H</string>
|
||||||
|
</dict>
|
||||||
|
<key>0xf729-0x40000</key>
|
||||||
|
<dict>
|
||||||
|
<key>Action</key>
|
||||||
|
<integer>10</integer>
|
||||||
|
<key>Text</key>
|
||||||
|
<string>[1;5H</string>
|
||||||
|
</dict>
|
||||||
|
<key>0xf72b-0x20000</key>
|
||||||
|
<dict>
|
||||||
|
<key>Action</key>
|
||||||
|
<integer>10</integer>
|
||||||
|
<key>Text</key>
|
||||||
|
<string>[1;2F</string>
|
||||||
|
</dict>
|
||||||
|
<key>0xf72b-0x40000</key>
|
||||||
|
<dict>
|
||||||
|
<key>Action</key>
|
||||||
|
<integer>10</integer>
|
||||||
|
<key>Text</key>
|
||||||
|
<string>[1;5F</string>
|
||||||
|
</dict>
|
||||||
|
</dict>
|
||||||
|
<key>Link Color</key>
|
||||||
|
<dict>
|
||||||
|
<key>Alpha Component</key>
|
||||||
|
<real>1</real>
|
||||||
|
<key>Blue Component</key>
|
||||||
|
<real>0.73422706127166748</real>
|
||||||
|
<key>Color Space</key>
|
||||||
|
<string>sRGB</string>
|
||||||
|
<key>Green Component</key>
|
||||||
|
<real>0.35915294289588928</real>
|
||||||
|
<key>Red Component</key>
|
||||||
|
<real>0.0</real>
|
||||||
|
</dict>
|
||||||
|
<key>Mouse Reporting</key>
|
||||||
|
<true/>
|
||||||
|
<key>Name</key>
|
||||||
|
<string>mhoush</string>
|
||||||
|
<key>Non Ascii Font</key>
|
||||||
|
<string>icomoon 12</string>
|
||||||
|
<key>Non-ASCII Anti Aliased</key>
|
||||||
|
<true/>
|
||||||
|
<key>Normal Font</key>
|
||||||
|
<string>InconsolataNerdFontCompleteM-Regular 20</string>
|
||||||
|
<key>Option Key Sends</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>Prompt Before Closing 2</key>
|
||||||
|
<false/>
|
||||||
|
<key>Right Option Key Sends</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>Rows</key>
|
||||||
|
<integer>60</integer>
|
||||||
|
<key>Screen</key>
|
||||||
|
<integer>-1</integer>
|
||||||
|
<key>Scrollback Lines</key>
|
||||||
|
<integer>1000</integer>
|
||||||
|
<key>Selected Text Color</key>
|
||||||
|
<dict>
|
||||||
|
<key>Blue Component</key>
|
||||||
|
<string>0</string>
|
||||||
|
<key>Green Component</key>
|
||||||
|
<string>0</string>
|
||||||
|
<key>Red Component</key>
|
||||||
|
<string>0</string>
|
||||||
|
</dict>
|
||||||
|
<key>Selection Color</key>
|
||||||
|
<dict>
|
||||||
|
<key>Blue Component</key>
|
||||||
|
<string>1</string>
|
||||||
|
<key>Green Component</key>
|
||||||
|
<string>0.8353</string>
|
||||||
|
<key>Red Component</key>
|
||||||
|
<string>0.7098</string>
|
||||||
|
</dict>
|
||||||
|
<key>Send Code When Idle</key>
|
||||||
|
<false/>
|
||||||
|
<key>Shortcut</key>
|
||||||
|
<string></string>
|
||||||
|
<key>Show Status Bar</key>
|
||||||
|
<false/>
|
||||||
|
<key>Silence Bell</key>
|
||||||
|
<false/>
|
||||||
|
<key>Sync Title</key>
|
||||||
|
<false/>
|
||||||
|
<key>Tags</key>
|
||||||
|
<array/>
|
||||||
|
<key>Terminal Type</key>
|
||||||
|
<string>xterm-256color</string>
|
||||||
|
<key>Transparency</key>
|
||||||
|
<real>0.0</real>
|
||||||
|
<key>Unlimited Scrollback</key>
|
||||||
|
<false/>
|
||||||
|
<key>Use Bold Font</key>
|
||||||
|
<true/>
|
||||||
|
<key>Use Bright Bold</key>
|
||||||
|
<true/>
|
||||||
|
<key>Use Italic Font</key>
|
||||||
|
<true/>
|
||||||
|
<key>Use Non-ASCII Font</key>
|
||||||
|
<false/>
|
||||||
|
<key>Vertical Spacing</key>
|
||||||
|
<real>1</real>
|
||||||
|
<key>Visual Bell</key>
|
||||||
|
<true/>
|
||||||
|
<key>Window Type</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>Working Directory</key>
|
||||||
|
<string>/Users/michael</string>
|
||||||
|
</dict>
|
||||||
|
</array>
|
||||||
|
<key>OnlyWhenMoreTabs</key>
|
||||||
|
<false/>
|
||||||
|
<key>OpenArrangementAtStartup</key>
|
||||||
|
<false/>
|
||||||
|
<key>OpenNoWindowsAtStartup</key>
|
||||||
|
<false/>
|
||||||
|
<key>OpenTmuxWindowsIn</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>PointerActions</key>
|
||||||
|
<dict>
|
||||||
|
<key>Button,1,1,,</key>
|
||||||
|
<dict>
|
||||||
|
<key>Action</key>
|
||||||
|
<string>kContextMenuPointerAction</string>
|
||||||
|
</dict>
|
||||||
|
<key>Button,2,1,,</key>
|
||||||
|
<dict>
|
||||||
|
<key>Action</key>
|
||||||
|
<string>kPasteFromClipboardPointerAction</string>
|
||||||
|
</dict>
|
||||||
|
<key>Gesture,ThreeFingerSwipeDown,,</key>
|
||||||
|
<dict>
|
||||||
|
<key>Action</key>
|
||||||
|
<string>kPrevWindowPointerAction</string>
|
||||||
|
</dict>
|
||||||
|
<key>Gesture,ThreeFingerSwipeLeft,,</key>
|
||||||
|
<dict>
|
||||||
|
<key>Action</key>
|
||||||
|
<string>kPrevTabPointerAction</string>
|
||||||
|
</dict>
|
||||||
|
<key>Gesture,ThreeFingerSwipeRight,,</key>
|
||||||
|
<dict>
|
||||||
|
<key>Action</key>
|
||||||
|
<string>kNextTabPointerAction</string>
|
||||||
|
</dict>
|
||||||
|
<key>Gesture,ThreeFingerSwipeUp,,</key>
|
||||||
|
<dict>
|
||||||
|
<key>Action</key>
|
||||||
|
<string>kNextWindowPointerAction</string>
|
||||||
|
</dict>
|
||||||
|
</dict>
|
||||||
|
<key>Print In Black And White</key>
|
||||||
|
<true/>
|
||||||
|
<key>PromptOnQuit</key>
|
||||||
|
<false/>
|
||||||
|
<key>QuitWhenAllWindowsClosed</key>
|
||||||
|
<true/>
|
||||||
|
<key>SoundForEsc</key>
|
||||||
|
<false/>
|
||||||
|
<key>SwitchPaneModifier</key>
|
||||||
|
<integer>1</integer>
|
||||||
|
<key>TabStyleWithAutomaticOption</key>
|
||||||
|
<integer>5</integer>
|
||||||
|
<key>VisualIndicatorForEsc</key>
|
||||||
|
<false/>
|
||||||
|
<key>kCPKSelectionViewPreferredModeKey</key>
|
||||||
|
<integer>5</integer>
|
||||||
|
<key>kCPKSelectionViewShowHSBTextFieldsKey</key>
|
||||||
|
<false/>
|
||||||
|
</dict>
|
||||||
|
</plist>
|
||||||
@@ -1,8 +1,10 @@
|
|||||||
{
|
{
|
||||||
"Ansi 6 Color" : {
|
"Link Color" : {
|
||||||
"Green Component" : "0.5960785",
|
"Red Component" : 0,
|
||||||
"Blue Component" : "0.6039215999999999",
|
"Color Space" : "sRGB",
|
||||||
"Red Component" : "0.02352941"
|
"Blue Component" : 0.73422706127166748,
|
||||||
|
"Alpha Component" : 1,
|
||||||
|
"Green Component" : 0.35915294289588928
|
||||||
},
|
},
|
||||||
"Tags" : [
|
"Tags" : [
|
||||||
|
|
||||||
@@ -32,13 +34,9 @@
|
|||||||
"Blue Component" : "0.1607843",
|
"Blue Component" : "0.1607843",
|
||||||
"Red Component" : "0.9372549"
|
"Red Component" : "0.9372549"
|
||||||
},
|
},
|
||||||
"Ansi 5 Color" : {
|
"Horizontal Spacing" : 1,
|
||||||
"Green Component" : "0.3137255",
|
"Right Option Key Sends" : 0,
|
||||||
"Blue Component" : "0.4823529",
|
"Rows" : 60,
|
||||||
"Red Component" : "0.4588235"
|
|
||||||
},
|
|
||||||
"Use Non-ASCII Font" : false,
|
|
||||||
"Rows" : 40,
|
|
||||||
"Default Bookmark" : "No",
|
"Default Bookmark" : "No",
|
||||||
"Cursor Guide Color" : {
|
"Cursor Guide Color" : {
|
||||||
"Red Component" : 0.70214027166366577,
|
"Red Component" : 0.70214027166366577,
|
||||||
@@ -61,6 +59,7 @@
|
|||||||
"slogin",
|
"slogin",
|
||||||
"telnet"
|
"telnet"
|
||||||
],
|
],
|
||||||
|
"Show Status Bar" : false,
|
||||||
"Ansi 15 Color" : {
|
"Ansi 15 Color" : {
|
||||||
"Green Component" : "0.9333333",
|
"Green Component" : "0.9333333",
|
||||||
"Blue Component" : "0.9254902",
|
"Blue Component" : "0.9254902",
|
||||||
@@ -89,7 +88,7 @@
|
|||||||
"Blue Component" : "1",
|
"Blue Component" : "1",
|
||||||
"Red Component" : "0.7098"
|
"Red Component" : "0.7098"
|
||||||
},
|
},
|
||||||
"Columns" : 120,
|
"Columns" : 180,
|
||||||
"Idle Code" : 0,
|
"Idle Code" : 0,
|
||||||
"Ansi 13 Color" : {
|
"Ansi 13 Color" : {
|
||||||
"Green Component" : "0.4980392",
|
"Green Component" : "0.4980392",
|
||||||
@@ -108,9 +107,11 @@
|
|||||||
"Red Component" : "0"
|
"Red Component" : "0"
|
||||||
},
|
},
|
||||||
"Background Color" : {
|
"Background Color" : {
|
||||||
"Green Component" : "0",
|
"Red Component" : 0.10000000000000001,
|
||||||
"Blue Component" : "0",
|
"Color Space" : "sRGB",
|
||||||
"Red Component" : "0"
|
"Blue Component" : 0.10000000000000001,
|
||||||
|
"Alpha Component" : 1,
|
||||||
|
"Green Component" : 0.10000000000000001
|
||||||
},
|
},
|
||||||
"Character Encoding" : 4,
|
"Character Encoding" : 4,
|
||||||
"Ansi 11 Color" : {
|
"Ansi 11 Color" : {
|
||||||
@@ -290,7 +291,7 @@
|
|||||||
"Color Space" : "sRGB",
|
"Color Space" : "sRGB",
|
||||||
"Blue Component" : 0,
|
"Blue Component" : 0,
|
||||||
"Alpha Component" : 0.5,
|
"Alpha Component" : 0.5,
|
||||||
"Green Component" : 0.14910027384757996
|
"Green Component" : 0.14910030364990234
|
||||||
},
|
},
|
||||||
"Scrollback Lines" : 1000,
|
"Scrollback Lines" : 1000,
|
||||||
"Send Code When Idle" : false,
|
"Send Code When Idle" : false,
|
||||||
@@ -316,42 +317,44 @@
|
|||||||
"Blue Component" : "1",
|
"Blue Component" : "1",
|
||||||
"Red Component" : "1"
|
"Red Component" : "1"
|
||||||
},
|
},
|
||||||
"Transparency" : 0.14805401741190161,
|
"Transparency" : 0,
|
||||||
"Ansi 1 Color" : {
|
"Ansi 1 Color" : {
|
||||||
"Green Component" : "0",
|
"Green Component" : "0",
|
||||||
"Blue Component" : "0",
|
"Blue Component" : "0",
|
||||||
"Red Component" : "0.8"
|
"Red Component" : "0.8"
|
||||||
},
|
},
|
||||||
"Horizontal Spacing" : 1,
|
|
||||||
"Custom Directory" : "No",
|
|
||||||
"Ansi 4 Color" : {
|
|
||||||
"Green Component" : "0.3960784",
|
|
||||||
"Blue Component" : "0.6431373",
|
|
||||||
"Red Component" : "0.2039216"
|
|
||||||
},
|
|
||||||
"Link Color" : {
|
|
||||||
"Red Component" : 0,
|
|
||||||
"Color Space" : "sRGB",
|
|
||||||
"Blue Component" : 0.73422712087631226,
|
|
||||||
"Alpha Component" : 1,
|
|
||||||
"Green Component" : 0.35915297269821167
|
|
||||||
},
|
|
||||||
"Ansi 0 Color" : {
|
|
||||||
"Green Component" : "0",
|
|
||||||
"Blue Component" : "0",
|
|
||||||
"Red Component" : "0"
|
|
||||||
},
|
|
||||||
"Guid" : "3B878A03-0EF2-4A8C-B1FD-7DEF4A0ABF6F",
|
|
||||||
"Normal Font" : "InconsolataNerdFontCompleteM-Regular 16",
|
|
||||||
"Ansi 3 Color" : {
|
|
||||||
"Green Component" : "0.627451",
|
|
||||||
"Blue Component" : "0",
|
|
||||||
"Red Component" : "0.7686275"
|
|
||||||
},
|
|
||||||
"Ansi 2 Color" : {
|
"Ansi 2 Color" : {
|
||||||
"Green Component" : "0.6039215999999999",
|
"Green Component" : "0.6039215999999999",
|
||||||
"Blue Component" : "0.02352941",
|
"Blue Component" : "0.02352941",
|
||||||
"Red Component" : "0.3058824"
|
"Red Component" : "0.3058824"
|
||||||
},
|
},
|
||||||
"Right Option Key Sends" : 0
|
"Ansi 3 Color" : {
|
||||||
|
"Green Component" : "0.627451",
|
||||||
|
"Blue Component" : "0",
|
||||||
|
"Red Component" : "0.7686275"
|
||||||
|
},
|
||||||
|
"Ansi 4 Color" : {
|
||||||
|
"Green Component" : "0.3960784",
|
||||||
|
"Blue Component" : "0.6431373",
|
||||||
|
"Red Component" : "0.2039216"
|
||||||
|
},
|
||||||
|
"Ansi 5 Color" : {
|
||||||
|
"Green Component" : "0.3137255",
|
||||||
|
"Blue Component" : "0.4823529",
|
||||||
|
"Red Component" : "0.4588235"
|
||||||
|
},
|
||||||
|
"Use Non-ASCII Font" : false,
|
||||||
|
"Ansi 6 Color" : {
|
||||||
|
"Green Component" : "0.5960785",
|
||||||
|
"Blue Component" : "0.6039215999999999",
|
||||||
|
"Red Component" : "0.02352941"
|
||||||
|
},
|
||||||
|
"Normal Font" : "InconsolataNerdFontCompleteM-Regular 20",
|
||||||
|
"Custom Directory" : "No",
|
||||||
|
"Ansi 0 Color" : {
|
||||||
|
"Green Component" : "0",
|
||||||
|
"Blue Component" : "0",
|
||||||
|
"Red Component" : "0"
|
||||||
|
},
|
||||||
|
"Guid" : "A30A702C-1CC2-4C2A-A29F-505BC017C0A6"
|
||||||
}
|
}
|
||||||
@@ -1,2 +0,0 @@
|
|||||||
mas "pwSafe", id: "520993579"
|
|
||||||
mas "Xcode", id: "497799835"
|
|
||||||
@@ -1,21 +0,0 @@
|
|||||||
tap "homebrew/cask"
|
|
||||||
tap "homebrew/cask-fonts"
|
|
||||||
|
|
||||||
# TODO: Make the application directory a global variable ??
|
|
||||||
# set arguments for all 'brew install --cask' commands
|
|
||||||
cask_args appdir: "~/Applications", require_sha: true
|
|
||||||
|
|
||||||
# formula
|
|
||||||
brew "fd" # required for some neovim plugins
|
|
||||||
brew "git"
|
|
||||||
brew "mas"
|
|
||||||
brew "neovim"
|
|
||||||
brew "node" # required for some LSP servers in neovim
|
|
||||||
brew "ripgrep"
|
|
||||||
brew "stow"
|
|
||||||
brew "swift-format"
|
|
||||||
brew "zsh"
|
|
||||||
brew "zsh-completions"
|
|
||||||
|
|
||||||
# fonts
|
|
||||||
cask "font-inconsolata-nerd-font"
|
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
tap "homebrew/cask"
|
|
||||||
|
|
||||||
# casks
|
|
||||||
cask "docker"
|
|
||||||
cask "google-chrome"
|
|
||||||
cask "iterm2"
|
|
||||||
cask "microsoft-teams"
|
|
||||||
cask "obs"
|
|
||||||
cask "paw"
|
|
||||||
cask "rectangle"
|
|
||||||
cask "sketchup-pro"
|
|
||||||
|
|
||||||
33
macOS/LaunchAgents/com.michael.clear-screenshots.plist
Normal file
33
macOS/LaunchAgents/com.michael.clear-screenshots.plist
Normal file
@@ -0,0 +1,33 @@
|
|||||||
|
<?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.clear-screenshots</string>
|
||||||
|
<key>ProgramArguments</key>
|
||||||
|
<array>
|
||||||
|
<string>zsh</string>
|
||||||
|
<string>-c</string>
|
||||||
|
<string>/Users/michael/.config/zsh/functions/clean-screenshots</string>
|
||||||
|
</array>
|
||||||
|
<key>StartCalendarInterval</key>
|
||||||
|
<dict>
|
||||||
|
<key>Day</key>
|
||||||
|
<integer>1</integer>
|
||||||
|
<key>Hour</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>Minute</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
<key>Weekday</key>
|
||||||
|
<integer>0</integer>
|
||||||
|
</dict>
|
||||||
|
<key>UserName</key>
|
||||||
|
<string>michael</string>
|
||||||
|
<key>RunAtLoad</key>
|
||||||
|
<true/>
|
||||||
|
<key>StandardOutPath</key>
|
||||||
|
<string>/var/log/com.michael.clear-screenshots.out.log</string>
|
||||||
|
<key>StandardErrorPath</key>
|
||||||
|
<string>/var/log/com.michael.clear-screenshots.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,14 +0,0 @@
|
|||||||
-- Plugins
|
|
||||||
require('plugins')
|
|
||||||
|
|
||||||
-- Key maps
|
|
||||||
require('mappings')
|
|
||||||
|
|
||||||
-- Common settings
|
|
||||||
require('settings')
|
|
||||||
|
|
||||||
-- Auto commands
|
|
||||||
require('autocmd')
|
|
||||||
|
|
||||||
-- Theme
|
|
||||||
require('theme')
|
|
||||||
@@ -1,15 +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,112 +0,0 @@
|
|||||||
-- Setup nvim-cmp.
|
|
||||||
local cmp = require "cmp"
|
|
||||||
local lspkind = require("lspkind")
|
|
||||||
|
|
||||||
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
|
|
||||||
|
|
||||||
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,198 +0,0 @@
|
|||||||
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', '<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").update_capabilities(capabilities)
|
|
||||||
|
|
||||||
local servers = {
|
|
||||||
"gopls", "bashls", "jedi_language_server", "dockerls", "terraformls",
|
|
||||||
"tsserver", "texlab", "yamlls", "jsonls"
|
|
||||||
}
|
|
||||||
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
|
|
||||||
|
|
||||||
local sumneko_root_path = os.getenv("HOME") .. ".cache/lua-language-server"
|
|
||||||
local sumneko_binary = "/usr/bin/lua-language-server"
|
|
||||||
require"lspconfig".sumneko_lua.setup {
|
|
||||||
cmd = {sumneko_binary, "-E", sumneko_root_path .. "/main.lua"},
|
|
||||||
capabilities = capabilities,
|
|
||||||
on_attach = on_attach,
|
|
||||||
settings = {
|
|
||||||
Lua = {
|
|
||||||
runtime = {version = "LuaJIT", path = vim.split(package.path, ";")},
|
|
||||||
completion = {enable = true, callSnippet = "Both"},
|
|
||||||
diagnostics = {
|
|
||||||
enable = true,
|
|
||||||
globals = {"vim", "describe"},
|
|
||||||
disable = {"lowercase-global"}
|
|
||||||
},
|
|
||||||
workspace = {
|
|
||||||
library = {
|
|
||||||
[vim.fn.expand("$VIMRUNTIME/lua")] = true,
|
|
||||||
[vim.fn.expand("$VIMRUNTIME/lua/vim/lsp")] = true,
|
|
||||||
[vim.fn.expand("/usr/share/awesome/lib")] = true
|
|
||||||
},
|
|
||||||
-- adjust these two values if your performance is not optimal
|
|
||||||
maxPreload = 2000,
|
|
||||||
preloadFileSize = 1000
|
|
||||||
},
|
|
||||||
telemetry = {enable = false}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
-- alternative to formatter but yamlfix is not working and I need this for respecting yamllint config
|
|
||||||
-- but yamlfix is messing up ansible files ... 😠
|
|
||||||
-- require('lspconfig')['efm'].setup{
|
|
||||||
-- filetypes = { 'json', 'yaml','lua' },
|
|
||||||
-- init_options = {documentFormatting = true, codeAction = false},
|
|
||||||
-- settings = {
|
|
||||||
-- rootMarkers = {".git/"},
|
|
||||||
-- languages = {
|
|
||||||
-- lua = {
|
|
||||||
-- {formatCommand = "lua-format -i", formatStdin = true}
|
|
||||||
-- },
|
|
||||||
-- yaml = {
|
|
||||||
-- {formatCommand = "yamlfix -", formatStdin = true}
|
|
||||||
-- },
|
|
||||||
-- json = {
|
|
||||||
-- {formatCommand = "prettier", formatStdin = true}
|
|
||||||
-- }
|
|
||||||
-- }
|
|
||||||
-- }
|
|
||||||
-- }
|
|
||||||
@@ -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,26 +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 = "nordfox", -- change the colorscheme to use nordfox
|
|
||||||
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()
|
|
||||||
@@ -1,133 +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 = ""
|
|
||||||
}
|
|
||||||
}
|
|
||||||
local tree_cb = require"nvim-tree.config".nvim_tree_callback
|
|
||||||
require("nvim-tree").setup {
|
|
||||||
-- disables netrw completely
|
|
||||||
disable_netrw = true,
|
|
||||||
-- hijack netrw window on startup
|
|
||||||
hijack_netrw = true,
|
|
||||||
-- open the tree when running this setup function
|
|
||||||
open_on_setup = false,
|
|
||||||
-- will not open on setup if the filetype is in this list
|
|
||||||
ignore_ft_on_setup = {},
|
|
||||||
-- 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 = {
|
|
||||||
enabled = true,
|
|
||||||
icon = {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,
|
|
||||||
mappings = {
|
|
||||||
-- custom only false will merge the list with the default mappings
|
|
||||||
-- if true, it will only use your list to set the mappings
|
|
||||||
custom_only = true,
|
|
||||||
-- list of mappings to set on the tree manually
|
|
||||||
list = {
|
|
||||||
{key = {"<CR>", "o", "<2-LeftMouse>"}, cb = tree_cb("edit")},
|
|
||||||
{key = {"<2-RightMouse>", "<C-]>"}, cb = tree_cb("cd")},
|
|
||||||
{key = "<C-v>", cb = tree_cb("vsplit")},
|
|
||||||
{key = "<C-x>", cb = tree_cb("split")},
|
|
||||||
{key = "<C-t>", cb = tree_cb("tabnew")},
|
|
||||||
{key = "<", cb = tree_cb("prev_sibling")},
|
|
||||||
{key = ">", cb = tree_cb("next_sibling")},
|
|
||||||
{key = "P", cb = tree_cb("parent_node")},
|
|
||||||
{key = "<BS>", cb = tree_cb("close_node")},
|
|
||||||
{key = "<S-CR>", cb = tree_cb("close_node")},
|
|
||||||
{key = "<Tab>", cb = tree_cb("preview")},
|
|
||||||
{key = "K", cb = tree_cb("first_sibling")},
|
|
||||||
{key = "J", cb = tree_cb("last_sibling")},
|
|
||||||
{key = "I", cb = tree_cb("toggle_ignored")},
|
|
||||||
{key = "H", cb = tree_cb("toggle_dotfiles")},
|
|
||||||
{key = "R", cb = tree_cb("refresh")},
|
|
||||||
{key = "a", cb = tree_cb("create")},
|
|
||||||
{key = "d", cb = tree_cb("remove")},
|
|
||||||
{key = "r", cb = tree_cb("rename")},
|
|
||||||
{key = "<C-r>", cb = tree_cb("full_rename")},
|
|
||||||
{key = "x", cb = tree_cb("cut")},
|
|
||||||
{key = "c", cb = tree_cb("copy")},
|
|
||||||
{key = "p", cb = tree_cb("paste")},
|
|
||||||
{key = "y", cb = tree_cb("copy_name")},
|
|
||||||
{key = "Y", cb = tree_cb("copy_path")},
|
|
||||||
{key = "gy", cb = tree_cb("copy_absolute_path")},
|
|
||||||
{key = "[c", cb = tree_cb("prev_git_item")},
|
|
||||||
{key = "]c", cb = tree_cb("next_git_item")},
|
|
||||||
{key = "-", cb = tree_cb("dir_up")},
|
|
||||||
{key = "s", cb = tree_cb("system_open")},
|
|
||||||
{key = "q", cb = tree_cb("close")},
|
|
||||||
{key = "g?", cb = tree_cb("toggle_help")}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,65 +0,0 @@
|
|||||||
local actions = require('telescope.actions')
|
|
||||||
local telescope = require('telescope')
|
|
||||||
|
|
||||||
--telescope.load_extension('projects')
|
|
||||||
|
|
||||||
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,110 +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" }
|
|
||||||
},
|
|
||||||
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,33 +0,0 @@
|
|||||||
local keymap = vim.api.nvim_set_keymap
|
|
||||||
default_options = {noremap = true, silent = true}
|
|
||||||
expr_options = {noremap = true, expr = true, silent = true}
|
|
||||||
|
|
||||||
-- map the leader key
|
|
||||||
keymap('n', '<Space>', '<NOP>', default_options)
|
|
||||||
vim.g.mapleader = " "
|
|
||||||
|
|
||||||
-- 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
|
|
||||||
local opts = { noremap = true }
|
|
||||||
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)
|
|
||||||
@@ -1,106 +0,0 @@
|
|||||||
-- Plugins
|
|
||||||
|
|
||||||
local execute = vim.api.nvim_command
|
|
||||||
local fn = vim.fn
|
|
||||||
local install_path = fn.stdpath('data')..'/site/pack/packer/start/packer.nvim'
|
|
||||||
|
|
||||||
|
|
||||||
-- returns the require for use in `config` parameter of packer's use
|
|
||||||
-- expects the name of the config file
|
|
||||||
function get_config(name)
|
|
||||||
return string.format("require(\"config/%s\")", name)
|
|
||||||
end
|
|
||||||
|
|
||||||
-- Install packer if not available
|
|
||||||
if fn.empty(fn.glob(install_path)) > 0 then
|
|
||||||
fn.system({
|
|
||||||
"git", "clone", "https://github.com/wbthomason/packer.nvim",
|
|
||||||
install_path
|
|
||||||
})
|
|
||||||
execute "packadd packer.nvim"
|
|
||||||
end
|
|
||||||
|
|
||||||
-- Initialize and configure packer
|
|
||||||
local packer = require("packer")
|
|
||||||
packer.init {
|
|
||||||
enable = true, -- enable profiling via :PackerCompile profile=true
|
|
||||||
threshold = 0 -- the amount in ms that a plugins load time must be over for it to be included in the profile
|
|
||||||
}
|
|
||||||
local use = packer.use
|
|
||||||
packer.reset()
|
|
||||||
|
|
||||||
-- actual plugins list
|
|
||||||
use "wbthomason/packer.nvim"
|
|
||||||
|
|
||||||
use {"kyazdani42/nvim-tree.lua", config = get_config("nvim-tree")}
|
|
||||||
|
|
||||||
use {
|
|
||||||
"nvim-lualine/lualine.nvim",
|
|
||||||
config = get_config("lualine"),
|
|
||||||
requires = {"kyazdani42/nvim-web-devicons", opt = true}
|
|
||||||
}
|
|
||||||
|
|
||||||
use {
|
|
||||||
'nvim-telescope/telescope.nvim',
|
|
||||||
config = get_config("telescope"),
|
|
||||||
requires = { {'nvim-lua/plenary.nvim'} }
|
|
||||||
}
|
|
||||||
|
|
||||||
use {
|
|
||||||
"nvim-treesitter/nvim-treesitter",
|
|
||||||
config = get_config("treesitter"),
|
|
||||||
run = ":TSUpdate"
|
|
||||||
}
|
|
||||||
|
|
||||||
use "nvim-treesitter/nvim-treesitter-textobjects"
|
|
||||||
|
|
||||||
use {
|
|
||||||
"hrsh7th/nvim-cmp",
|
|
||||||
requires = {
|
|
||||||
{"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 = get_config("cmp")
|
|
||||||
}
|
|
||||||
|
|
||||||
use {"onsails/lspkind-nvim", requires = {{"famiu/bufdelete.nvim"}}}
|
|
||||||
|
|
||||||
-- LSP
|
|
||||||
use {"ray-x/lsp_signature.nvim", requires = {{"neovim/nvim-lspconfig"}}}
|
|
||||||
|
|
||||||
use {
|
|
||||||
"neovim/nvim-lspconfig",
|
|
||||||
config = get_config("lsp")
|
|
||||||
}
|
|
||||||
use {
|
|
||||||
"williamboman/nvim-lsp-installer",
|
|
||||||
config = get_config("lsp-installer")
|
|
||||||
}
|
|
||||||
|
|
||||||
use {"folke/which-key.nvim", event = "VimEnter", config = get_config("which")}
|
|
||||||
|
|
||||||
-- requirement for Neogit
|
|
||||||
use {
|
|
||||||
"sindrets/diffview.nvim",
|
|
||||||
cmd = {
|
|
||||||
"DiffviewOpen", "DiffviewClose", "DiffviewToggleFiles",
|
|
||||||
"DiffviewFocusFiles"
|
|
||||||
},
|
|
||||||
config = get_config("diffview")
|
|
||||||
}
|
|
||||||
|
|
||||||
use {
|
|
||||||
"TimUntersberger/neogit",
|
|
||||||
requires = {"nvim-lua/plenary.nvim"},
|
|
||||||
cmd = "Neogit",
|
|
||||||
config = get_config("neogit")
|
|
||||||
}
|
|
||||||
|
|
||||||
use {"hrsh7th/vim-vsnip", config = get_config("vsnip")}
|
|
||||||
|
|
||||||
-- Theme
|
|
||||||
use {
|
|
||||||
'EdenEast/nightfox.nvim',
|
|
||||||
config = get_config("nightfox")
|
|
||||||
}
|
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
-- Nightfox
|
|
||||||
require('nightfox').load('nordfox')
|
|
||||||
|
|
||||||
21
nvim/m-housh/init.lua
Executable file
21
nvim/m-housh/init.lua
Executable file
@@ -0,0 +1,21 @@
|
|||||||
|
-- Leader needs to be set before loading plugins
|
||||||
|
vim.g.mapleader = " "
|
||||||
|
vim.g.maplocalleader = " "
|
||||||
|
|
||||||
|
-- Auto commands
|
||||||
|
require('user.autocmd')
|
||||||
|
|
||||||
|
-- Plugins
|
||||||
|
require('user.plugins')
|
||||||
|
|
||||||
|
-- Key maps
|
||||||
|
require('user.mappings')
|
||||||
|
|
||||||
|
-- Theme (must stay after plugins are loaded)
|
||||||
|
require('user.theme')
|
||||||
|
|
||||||
|
-- Common settings
|
||||||
|
require('user.settings')
|
||||||
|
|
||||||
|
vim.o.shiftwidth = 2
|
||||||
|
|
||||||
81
nvim/m-housh/lua/user/autocmd.lua
Executable file
81
nvim/m-housh/lua/user/autocmd.lua
Executable file
@@ -0,0 +1,81 @@
|
|||||||
|
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
|
||||||
|
local swiftGroup = vim.api.nvim_create_augroup('swift_lsp', { clear = true })
|
||||||
|
|
||||||
|
-- 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)
|
||||||
|
|
||||||
|
-- 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)
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
|
-- Swift
|
||||||
|
-- createCmd(
|
||||||
|
-- "FileType",
|
||||||
|
-- {
|
||||||
|
-- pattern = { 'swift' },
|
||||||
|
-- callback = function()
|
||||||
|
-- local root_dir = vim.fs.dirname(vim.fs.find({
|
||||||
|
-- "Package.swift",
|
||||||
|
-- ".git",
|
||||||
|
-- }, { upward = true })[1])
|
||||||
|
-- local client = vim.lsp.start({
|
||||||
|
-- name = "sourcekit-lsp",
|
||||||
|
-- cmd = { "sourcekit-lsp" },
|
||||||
|
-- root_dir = root_dir
|
||||||
|
-- })
|
||||||
|
-- vim.lsp.buf_attach_client(0, client)
|
||||||
|
-- end,
|
||||||
|
-- group = swiftGroup
|
||||||
|
-- }
|
||||||
|
-- )
|
||||||
126
nvim/m-housh/lua/user/mappings.lua
Executable file
126
nvim/m-housh/lua/user/mappings.lua
Executable file
@@ -0,0 +1,126 @@
|
|||||||
|
local keymap = vim.keymap.set
|
||||||
|
local default_options = {noremap = true, silent = true}
|
||||||
|
local telescope = require('telescope.builtin')
|
||||||
|
-- local expr_options = {noremap = true, expr = true, silent = true}
|
||||||
|
vim.g.mapleader = " "
|
||||||
|
vim.g.maplocalleader = " "
|
||||||
|
|
||||||
|
-- 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 neo-tree open or closed
|
||||||
|
keymap("n", "<c-n>", "<CMD>:Neotree toggle<CR>", default_options)
|
||||||
|
|
||||||
|
-- Toggle Lazy Git
|
||||||
|
keymap("n", '<leader>gg', ':LazyGit<CR>', default_options)
|
||||||
|
keymap("n", "<leader>gf", ":Telescope git_files<CR>", default_options)
|
||||||
|
keymap("n", "<leader>t", ":ToggleTerm<CR>", default_options)
|
||||||
|
|
||||||
|
-- Zen Mode Toggle
|
||||||
|
keymap('n', '<leader>z', "<cmd>:ZenMode<CR>", default_options)
|
||||||
|
|
||||||
|
-- Toggle term key maps, that get attached when terminal is opened.
|
||||||
|
function _G.set_terminal_keymaps()
|
||||||
|
local opts = { buffer = 0 }
|
||||||
|
vim.keymap.set('t', '<esc>', [[<C-\><C-n>]], opts)
|
||||||
|
end
|
||||||
|
|
||||||
|
vim.cmd('autocmd! TermOpen term://* lua set_terminal_keymaps()')
|
||||||
|
|
||||||
|
-- Formatting
|
||||||
|
keymap('n', '<leader>f', '<cmd>:Format<CR>', default_options)
|
||||||
|
keymap('n', '<leader>F', '<cmd>:FormatWrite<CR>', default_options)
|
||||||
|
|
||||||
|
-- Telescope keymaps
|
||||||
|
vim.keymap.set('n', '<leader>ff', telescope.find_files, {})
|
||||||
|
vim.keymap.set('n', '<leader>fg', telescope.live_grep, {})
|
||||||
|
vim.keymap.set('n', '<leader>fb', telescope.buffers, {})
|
||||||
|
vim.keymap.set('n', '<leader>fh', telescope.help_tags, {})
|
||||||
|
|
||||||
|
-- Find espanso config files.
|
||||||
|
keymap('n', '<leader>fe', function()
|
||||||
|
telescope.find_files({
|
||||||
|
cwd='$HOME/.dotfiles/espanso/espanso'
|
||||||
|
})
|
||||||
|
end, default_options)
|
||||||
|
|
||||||
|
-- Find nvim config files.
|
||||||
|
keymap('n', '<leader>fn', function()
|
||||||
|
telescope.find_files({
|
||||||
|
cwd='$HOME/.dotfiles/nvim/m-housh'
|
||||||
|
})
|
||||||
|
end, default_options)
|
||||||
|
|
||||||
|
-- Find script files.
|
||||||
|
keymap('n', '<leader>fs', function()
|
||||||
|
telescope.find_files({
|
||||||
|
cwd='$HOME/.dotfiles/scripts/scripts'
|
||||||
|
})
|
||||||
|
end, default_options)
|
||||||
|
|
||||||
|
-- Find zsh config files.
|
||||||
|
keymap('n', '<leader>fz', function()
|
||||||
|
telescope.find_files({
|
||||||
|
cwd = '$HOME/.dotfiles/zsh/config',
|
||||||
|
hidden = true
|
||||||
|
})
|
||||||
|
end, default_options)
|
||||||
|
|
||||||
|
-- Turn off highlighting after search.
|
||||||
|
keymap('n', '<leader>n', '<cmd>:noh<cr>', default_options)
|
||||||
|
|
||||||
|
-- Toggle Spell Checking.
|
||||||
|
keymap('n', '<leader>s', '<cmd>:set spell!<cr>', default_options)
|
||||||
|
|
||||||
|
-- LuaSnip Keymaps
|
||||||
|
--local ls = require('luasnip')
|
||||||
|
|
||||||
|
-- <c-k> to expand snippets.
|
||||||
|
-- This will expand the snippet or jump to the next item within the snippet.
|
||||||
|
-- vim.keymap.set({ "i", "s" }, "<c-k>", function()
|
||||||
|
-- if ls.expand_or_jumpable() then
|
||||||
|
-- ls.expand_or_jump()
|
||||||
|
-- end
|
||||||
|
-- end, { silent = true })
|
||||||
|
|
||||||
|
|
||||||
|
-- <c-j>
|
||||||
|
-- This will jump backwards in the snippet.
|
||||||
|
-- vim.keymap.set({ "i", "s" }, "<c-j>", function()
|
||||||
|
-- if ls.jumpable(-1) then
|
||||||
|
-- ls.jump(-1)
|
||||||
|
-- end
|
||||||
|
-- end, { silent = true })
|
||||||
|
|
||||||
|
-- <c-l>
|
||||||
|
-- This is for selecting withing a list of options.
|
||||||
|
-- vim.keymap.set("i", "<c-l>", function()
|
||||||
|
-- if ls.choice_active() then
|
||||||
|
-- ls.change_choice(1)
|
||||||
|
-- end
|
||||||
|
-- end, { silent = true })
|
||||||
|
|
||||||
|
-- Reload the snippets.
|
||||||
|
--vim.keymap.set("n", "<leader><leader>s", "<cmd>source ~/.config/m-housh/lua/snippets/init.lua<cr>")
|
||||||
155
nvim/m-housh/lua/user/plugin/cmp.lua
Executable file
155
nvim/m-housh/lua/user/plugin/cmp.lua
Executable file
@@ -0,0 +1,155 @@
|
|||||||
|
return {
|
||||||
|
"hrsh7th/nvim-cmp",
|
||||||
|
enabled = true,
|
||||||
|
dependencies = {
|
||||||
|
"hrsh7th/cmp-nvim-lsp",
|
||||||
|
"hrsh7th/cmp-buffer",
|
||||||
|
"hrsh7th/cmp-path",
|
||||||
|
"hrsh7th/cmp-cmdline",
|
||||||
|
--"hrsh7th/cmp-vsnip",
|
||||||
|
'saadparwaiz1/cmp_luasnip',
|
||||||
|
"f3fora/cmp-spell",
|
||||||
|
"hrsh7th/cmp-calc",
|
||||||
|
"hrsh7th/cmp-emoji",
|
||||||
|
--"L3MON4D3/LuaSnip",
|
||||||
|
|
||||||
|
-- Adds a number of user-friendly snippets
|
||||||
|
'rafamadriz/friendly-snippets',
|
||||||
|
},
|
||||||
|
event = { 'BufReadPre', 'BufNewFile' },
|
||||||
|
config = function()
|
||||||
|
-- Setup nvim-cmp.
|
||||||
|
local cmp = require "cmp"
|
||||||
|
local lspkind = require("lspkind")
|
||||||
|
local capabilities = vim.lsp.protocol.make_client_capabilities()
|
||||||
|
capabilities = require('cmp_nvim_lsp').default_capabilities(capabilities)
|
||||||
|
--local luasnip = require('luasnip')
|
||||||
|
|
||||||
|
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 = ""
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
-- Configure nvim-cmp.
|
||||||
|
--require('luasnip.loaders.from_vscode').lazy_load()
|
||||||
|
--luasnip.config.setup {}
|
||||||
|
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)
|
||||||
|
luasnip.lsp_expand(args.body)
|
||||||
|
--require('luasnip').lsp_expand(args.body)
|
||||||
|
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.abort(),
|
||||||
|
["<CR>"] = cmp.mapping.confirm {
|
||||||
|
behavior = cmp.ConfirmBehavior.Replace,
|
||||||
|
select = true
|
||||||
|
},
|
||||||
|
-- Accept ([y]es) the completions.
|
||||||
|
['<C-y'] = cmp.mapping.confirm { select = true },
|
||||||
|
-- ["<Tab>"] = cmp.mapping(function(fallback)
|
||||||
|
-- if cmp.visible() then
|
||||||
|
-- cmp.select_next_item()
|
||||||
|
-- -- elseif luasnip.expandable() then
|
||||||
|
-- -- luasnip.expand()
|
||||||
|
-- -- elseif luasnip.expand_or_jumpable() then
|
||||||
|
-- -- luasnip.expand_or_jump()
|
||||||
|
-- elseif has_words_before() then
|
||||||
|
-- cmp.complete()
|
||||||
|
-- else
|
||||||
|
-- fallback()
|
||||||
|
-- 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 = 'luasnip', option = { show_autosnippets = true } },
|
||||||
|
{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
|
||||||
|
}
|
||||||
7
nvim/m-housh/lua/user/plugin/comment.lua
Executable file
7
nvim/m-housh/lua/user/plugin/comment.lua
Executable file
@@ -0,0 +1,7 @@
|
|||||||
|
return {
|
||||||
|
'numToStr/Comment.nvim',
|
||||||
|
opts = {
|
||||||
|
-- add any options here
|
||||||
|
},
|
||||||
|
event = { 'BufReadPre', 'BufNewFile' },
|
||||||
|
}
|
||||||
32
nvim/m-housh/lua/user/plugin/formatter.lua
Executable file
32
nvim/m-housh/lua/user/plugin/formatter.lua
Executable file
@@ -0,0 +1,32 @@
|
|||||||
|
return {
|
||||||
|
"mhartington/formatter.nvim",
|
||||||
|
event = { 'BufReadPre', 'BufNewFile' },
|
||||||
|
config = function()
|
||||||
|
local util = require("formatter.util")
|
||||||
|
require("formatter").setup({
|
||||||
|
filetype = {
|
||||||
|
markdown = function()
|
||||||
|
return {
|
||||||
|
exe = "prettier",
|
||||||
|
args = {
|
||||||
|
"--stdin-filepath",
|
||||||
|
util.escape_path(util.get_current_buffer_file_path()),
|
||||||
|
"--print-width",
|
||||||
|
"80",
|
||||||
|
"--prose-wrap",
|
||||||
|
"always",
|
||||||
|
"--parser",
|
||||||
|
"markdown"
|
||||||
|
},
|
||||||
|
stdin = true,
|
||||||
|
try_node_modules = true,
|
||||||
|
}
|
||||||
|
end,
|
||||||
|
["*"] = {
|
||||||
|
-- formatter for any / all file types.
|
||||||
|
require("formatter.filetypes.any").remove_trailing_whitespace
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
end
|
||||||
|
}
|
||||||
18
nvim/m-housh/lua/user/plugin/go.lua
Executable file
18
nvim/m-housh/lua/user/plugin/go.lua
Executable file
@@ -0,0 +1,18 @@
|
|||||||
|
return {
|
||||||
|
"ray-x/go.nvim",
|
||||||
|
lazy = true,
|
||||||
|
dependencies = { -- optional packages
|
||||||
|
"ray-x/guihua.lua",
|
||||||
|
"neovim/nvim-lspconfig",
|
||||||
|
"nvim-treesitter/nvim-treesitter",
|
||||||
|
'mfussenegger/nvim-dap',
|
||||||
|
'rcarriga/nvim-dap-ui',
|
||||||
|
'theHamsta/nvim-dap-virtual-text',
|
||||||
|
},
|
||||||
|
config = function()
|
||||||
|
require("go").setup()
|
||||||
|
end,
|
||||||
|
--event = {'BufReadPre', 'BufNewFile'},
|
||||||
|
ft = {"go", 'gomod'},
|
||||||
|
build = ':lua require("go.install").update_all_sync()' -- if you need to install/update all binaries
|
||||||
|
}
|
||||||
31
nvim/m-housh/lua/user/plugin/init.lua
Executable file
31
nvim/m-housh/lua/user/plugin/init.lua
Executable file
@@ -0,0 +1,31 @@
|
|||||||
|
-- This file contains plugin's that don't require much configuration.
|
||||||
|
return {
|
||||||
|
-- {
|
||||||
|
-- "L3MON4D3/LuaSnip",
|
||||||
|
-- version = "2.*",
|
||||||
|
-- build = "make install_jsregexp",
|
||||||
|
-- event = { 'BufReadPre', 'BufNewFile' },
|
||||||
|
-- config = function()
|
||||||
|
-- local luasnip = require('luasnip')
|
||||||
|
-- local types = require('luasnip.util.types')
|
||||||
|
-- luasnip.config.set_config {
|
||||||
|
-- history = true,
|
||||||
|
-- updateevents = "TextChanged,TextChangedI",
|
||||||
|
-- enable_autosnippets = true,
|
||||||
|
-- ext_opts = {
|
||||||
|
-- [types.choiceNode] = {
|
||||||
|
-- active = {
|
||||||
|
-- virt_text = { { "<-", "Error" } },
|
||||||
|
-- },
|
||||||
|
-- },
|
||||||
|
-- },
|
||||||
|
-- }
|
||||||
|
-- end
|
||||||
|
-- },
|
||||||
|
{
|
||||||
|
"hrsh7th/vim-vsnip",
|
||||||
|
config = function()
|
||||||
|
vim.g.vsnip_snippet_dir = os.getenv('HOME') .. '/.config/m-housh/lua/snippets/'
|
||||||
|
end
|
||||||
|
},
|
||||||
|
}
|
||||||
10
nvim/m-housh/lua/user/plugin/lazygit.lua
Executable file
10
nvim/m-housh/lua/user/plugin/lazygit.lua
Executable file
@@ -0,0 +1,10 @@
|
|||||||
|
return {
|
||||||
|
"kdheepak/lazygit.nvim",
|
||||||
|
dependencies = {
|
||||||
|
"nvim-telescope/telescope.nvim",
|
||||||
|
"nvim-lua/plenary.nvim"
|
||||||
|
},
|
||||||
|
config = function()
|
||||||
|
require("telescope").load_extension("lazygit")
|
||||||
|
end,
|
||||||
|
}
|
||||||
224
nvim/m-housh/lua/user/plugin/lsp.lua
Executable file
224
nvim/m-housh/lua/user/plugin/lsp.lua
Executable file
@@ -0,0 +1,224 @@
|
|||||||
|
return {
|
||||||
|
{
|
||||||
|
"williamboman/nvim-lsp-installer",
|
||||||
|
config = function()
|
||||||
|
require("nvim-lsp-installer").setup({})
|
||||||
|
end
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"williamboman/mason-lspconfig.nvim",
|
||||||
|
dependencies = {
|
||||||
|
"williamboman/mason.nvim",
|
||||||
|
"onsails/lspkind-nvim",
|
||||||
|
"famiu/bufdelete.nvim",
|
||||||
|
"ray-x/lsp_signature.nvim",
|
||||||
|
"neovim/nvim-lspconfig",
|
||||||
|
"folke/neodev.nvim",
|
||||||
|
"mhartington/formatter.nvim",
|
||||||
|
"ray-x/go.nvim",
|
||||||
|
},
|
||||||
|
opts = {
|
||||||
|
ensure_installed = {
|
||||||
|
"bashls",
|
||||||
|
"clangd",
|
||||||
|
"dockerls",
|
||||||
|
"gopls",
|
||||||
|
"jsonls",
|
||||||
|
"jedi_language_server",
|
||||||
|
"lua_ls",
|
||||||
|
"marksman",
|
||||||
|
"terraformls",
|
||||||
|
"tsserver",
|
||||||
|
"texlab",
|
||||||
|
"yamlls",
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"neovim/nvim-lspconfig",
|
||||||
|
dependencies = {
|
||||||
|
"hrsh7th/cmp-nvim-lsp",
|
||||||
|
},
|
||||||
|
config = function()
|
||||||
|
require('neodev').setup()
|
||||||
|
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)
|
||||||
|
|
||||||
|
vim.api.nvim_buf_set_option(bufnr, 'omnifunc', 'v:lua.vim.lsp.omnifunc')
|
||||||
|
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()
|
||||||
|
local capabilities = require("cmp_nvim_lsp").default_capabilities()
|
||||||
|
|
||||||
|
local servers = {
|
||||||
|
"bashls",
|
||||||
|
"clangd",
|
||||||
|
"dockerls",
|
||||||
|
"gopls",
|
||||||
|
"jsonls",
|
||||||
|
"jedi_language_server",
|
||||||
|
"lua_ls",
|
||||||
|
"marksman",
|
||||||
|
"sourcekit",
|
||||||
|
"terraformls",
|
||||||
|
"tsserver",
|
||||||
|
"texlab",
|
||||||
|
"yamlls",
|
||||||
|
}
|
||||||
|
for _, lsp in ipairs(servers) do
|
||||||
|
nvim_lsp[lsp].setup {
|
||||||
|
on_attach = on_attach,
|
||||||
|
capabilities = capabilities,
|
||||||
|
settings = {
|
||||||
|
gopls = {
|
||||||
|
experimentalPostfixCompletions = true,
|
||||||
|
analyses = {
|
||||||
|
unusedparams = true,
|
||||||
|
shadow = true
|
||||||
|
},
|
||||||
|
staticcheck = true
|
||||||
|
},
|
||||||
|
lua_ls = {
|
||||||
|
Lua = {
|
||||||
|
completion = {
|
||||||
|
callSnippet = "Replace"
|
||||||
|
},
|
||||||
|
workspace = { checkThirdParty = false },
|
||||||
|
telemetry = { enable = false },
|
||||||
|
}
|
||||||
|
},
|
||||||
|
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
|
||||||
|
}
|
||||||
|
}
|
||||||
119
nvim/m-housh/lua/user/plugin/lualine.lua
Executable file
119
nvim/m-housh/lua/user/plugin/lualine.lua
Executable file
@@ -0,0 +1,119 @@
|
|||||||
|
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
|
||||||
|
}
|
||||||
25
nvim/m-housh/lua/user/plugin/neo-tree.lua
Executable file
25
nvim/m-housh/lua/user/plugin/neo-tree.lua
Executable file
@@ -0,0 +1,25 @@
|
|||||||
|
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",
|
||||||
|
},
|
||||||
|
opts = {
|
||||||
|
close_if_last_window = false,
|
||||||
|
enable_git_status = true,
|
||||||
|
enable_diagnostics = true,
|
||||||
|
filesystem = {
|
||||||
|
always_show = {
|
||||||
|
"plugins",
|
||||||
|
".zshrc",
|
||||||
|
".zshenv"
|
||||||
|
},
|
||||||
|
filtered_items = {
|
||||||
|
hide_dotfiles = false
|
||||||
|
},
|
||||||
|
use_libuv_file_watcher = true
|
||||||
|
},
|
||||||
|
}
|
||||||
|
}
|
||||||
47
nvim/m-housh/lua/user/plugin/noice.lua
Executable file
47
nvim/m-housh/lua/user/plugin/noice.lua
Executable file
@@ -0,0 +1,47 @@
|
|||||||
|
return {
|
||||||
|
"folke/noice.nvim",
|
||||||
|
event = "VeryLazy",
|
||||||
|
-- config.lsp.signature.enabled = false
|
||||||
|
opts = {
|
||||||
|
lsp = {
|
||||||
|
-- override markdown rendering so that **cmp** and other plugins use **Treesitter**
|
||||||
|
override = {
|
||||||
|
["vim.lsp.util.convert_input_to_markdown_lines"] = true,
|
||||||
|
["vim.lsp.util.stylize_markdown"] = true,
|
||||||
|
["cmp.entry.get_documentation"] = true,
|
||||||
|
},
|
||||||
|
-- you can enable a preset for easier configuration
|
||||||
|
presets = {
|
||||||
|
bottom_search = true, -- use a classic bottom cmdline for search
|
||||||
|
command_palette = true, -- position the cmdline and popupmenu together
|
||||||
|
long_message_to_split = true, -- long messages will be sent to a split
|
||||||
|
inc_rename = false, -- enables an input dialog for inc-rename.nvim
|
||||||
|
lsp_doc_border = false, -- add a border to hover docs and signature help
|
||||||
|
},
|
||||||
|
signature = { enabled = false },
|
||||||
|
},
|
||||||
|
routes = {
|
||||||
|
{ -- enables messages for showing macro recording.
|
||||||
|
view = "notify",
|
||||||
|
filter = { event = "msg_showmode" },
|
||||||
|
},
|
||||||
|
{ -- Hide the written messages.
|
||||||
|
view = 'notify',
|
||||||
|
filter = {
|
||||||
|
event = "msg_show",
|
||||||
|
kind = "",
|
||||||
|
find = "written"
|
||||||
|
},
|
||||||
|
opts = { skip = true }
|
||||||
|
}
|
||||||
|
},
|
||||||
|
},
|
||||||
|
dependencies = {
|
||||||
|
-- if you lazy-load any plugin below, make sure to add proper `module="..."` entries
|
||||||
|
"MunifTanjim/nui.nvim",
|
||||||
|
-- OPTIONAL:
|
||||||
|
-- `nvim-notify` is only needed, if you want to use the notification view.
|
||||||
|
-- If not available, we use `mini` as the fallback
|
||||||
|
"rcarriga/nvim-notify",
|
||||||
|
},
|
||||||
|
}
|
||||||
15
nvim/m-housh/lua/user/plugin/swift.lua
Executable file
15
nvim/m-housh/lua/user/plugin/swift.lua
Executable file
@@ -0,0 +1,15 @@
|
|||||||
|
return {
|
||||||
|
'm-housh/swift.nvim',
|
||||||
|
dependencies = {
|
||||||
|
'akinsho/toggleterm.nvim'
|
||||||
|
},
|
||||||
|
ft = { 'swift' },
|
||||||
|
config = function()
|
||||||
|
require('swift').setup()
|
||||||
|
local default_options = { noremap = true, silent = true }
|
||||||
|
local actions = require('swift.actions')
|
||||||
|
|
||||||
|
vim.keymap.set('n', '<c-b>', actions.build, default_options)
|
||||||
|
vim.keymap.set('n', '<c-u>', actions.test, default_options)
|
||||||
|
end
|
||||||
|
}
|
||||||
72
nvim/m-housh/lua/user/plugin/telescope.lua
Executable file
72
nvim/m-housh/lua/user/plugin/telescope.lua
Executable file
@@ -0,0 +1,72 @@
|
|||||||
|
return {
|
||||||
|
'nvim-telescope/telescope.nvim',
|
||||||
|
branch = '0.1.x',
|
||||||
|
dependencies = {
|
||||||
|
'nvim-lua/plenary.nvim'
|
||||||
|
},
|
||||||
|
lazy = true,
|
||||||
|
config = function()
|
||||||
|
local actions = require('telescope.actions')
|
||||||
|
|
||||||
|
require('telescope').setup({
|
||||||
|
defaults = {
|
||||||
|
file_ignore_patterns = {"node_modules", "%.jpg", "%.png", ".swiftpm"},
|
||||||
|
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
|
||||||
|
}
|
||||||
|
})
|
||||||
|
end
|
||||||
|
}
|
||||||
38
nvim/m-housh/lua/user/plugin/theme.lua
Executable file
38
nvim/m-housh/lua/user/plugin/theme.lua
Executable file
@@ -0,0 +1,38 @@
|
|||||||
|
-- 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 = "#FF0000", -- 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" },
|
||||||
|
-- }
|
||||||
|
-- },
|
||||||
|
-- }
|
||||||
|
return {
|
||||||
|
"catppuccin/nvim",
|
||||||
|
name = "catppuccin",
|
||||||
|
priority = 1000,
|
||||||
|
opts = {
|
||||||
|
color_overrides = {
|
||||||
|
all = {
|
||||||
|
text = "#ffffff",
|
||||||
|
strings = "#ffffff"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
5
nvim/m-housh/lua/user/plugin/todo-comments.lua
Normal file
5
nvim/m-housh/lua/user/plugin/todo-comments.lua
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
return {
|
||||||
|
"folke/todo-comments.nvim",
|
||||||
|
dependencies = { "nvim-lua/plenary.nvim" },
|
||||||
|
opts = { }
|
||||||
|
}
|
||||||
26
nvim/m-housh/lua/user/plugin/toggleterm.lua
Executable file
26
nvim/m-housh/lua/user/plugin/toggleterm.lua
Executable file
@@ -0,0 +1,26 @@
|
|||||||
|
return {
|
||||||
|
'akinsho/toggleterm.nvim',
|
||||||
|
enable = true,
|
||||||
|
lazy = true,
|
||||||
|
opts = {
|
||||||
|
size = 20,
|
||||||
|
open_mapping = [[<c-\>]],
|
||||||
|
hide_numbers = true,
|
||||||
|
shade_terminals = true,
|
||||||
|
shading_factor = 2,
|
||||||
|
start_in_insert = true,
|
||||||
|
insert_mappings = true,
|
||||||
|
persist_size = true,
|
||||||
|
direction = "float",
|
||||||
|
close_on_exit = true,
|
||||||
|
shell = vim.o.shell,
|
||||||
|
float_opts = {
|
||||||
|
border = "curved",
|
||||||
|
winblend = 0,
|
||||||
|
highlights = {
|
||||||
|
border = "Normal",
|
||||||
|
background = "Normal",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
}
|
||||||
78
nvim/m-housh/lua/user/plugin/treesitter.lua
Executable file
78
nvim/m-housh/lua/user/plugin/treesitter.lua
Executable file
@@ -0,0 +1,78 @@
|
|||||||
|
return {
|
||||||
|
"nvim-treesitter/nvim-treesitter",
|
||||||
|
dependencies = {
|
||||||
|
'nvim-telescope/telescope-fzf-native.nvim',
|
||||||
|
'nvim-treesitter/nvim-treesitter-textobjects',
|
||||||
|
},
|
||||||
|
build = ':TSUpdate',
|
||||||
|
event = { 'BufReadPre', 'BufNewFile' },
|
||||||
|
config = function()
|
||||||
|
require('nvim-treesitter.configs').setup {
|
||||||
|
ensure_installed = {
|
||||||
|
"bash",
|
||||||
|
"cmake",
|
||||||
|
"dockerfile",
|
||||||
|
"go",
|
||||||
|
"hcl",
|
||||||
|
"html",
|
||||||
|
"java",
|
||||||
|
"javascript",
|
||||||
|
"json",
|
||||||
|
"latex",
|
||||||
|
"ledger",
|
||||||
|
"llvm",
|
||||||
|
"lua",
|
||||||
|
"make",
|
||||||
|
"markdown",
|
||||||
|
"python",
|
||||||
|
"swift",
|
||||||
|
"toml",
|
||||||
|
"xml",
|
||||||
|
"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",
|
||||||
|
["a="] = "@assignment.outer",
|
||||||
|
["i="] = "@assignment.inner",
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
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
|
||||||
|
}
|
||||||
8
nvim/m-housh/lua/user/plugin/which-key.lua
Executable file
8
nvim/m-housh/lua/user/plugin/which-key.lua
Executable file
@@ -0,0 +1,8 @@
|
|||||||
|
return {
|
||||||
|
"folke/which-key.nvim",
|
||||||
|
event = "VeryLazy",
|
||||||
|
init = function()
|
||||||
|
vim.o.timeout = true
|
||||||
|
vim.o.timeoutlen = 300
|
||||||
|
end,
|
||||||
|
}
|
||||||
17
nvim/m-housh/lua/user/plugin/wrapping.lua
Executable file
17
nvim/m-housh/lua/user/plugin/wrapping.lua
Executable file
@@ -0,0 +1,17 @@
|
|||||||
|
return {
|
||||||
|
"andrewferrier/wrapping.nvim",
|
||||||
|
event = { 'BufReadPre', 'BufNewFile' },
|
||||||
|
opts = {
|
||||||
|
auto_set_mode_filetype_allowlist = {
|
||||||
|
"asciidoc",
|
||||||
|
"gitcommit",
|
||||||
|
"latex",
|
||||||
|
"markdown",
|
||||||
|
"tex",
|
||||||
|
"text"
|
||||||
|
},
|
||||||
|
softener = {
|
||||||
|
markdown = 1.3
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
72
nvim/m-housh/lua/user/plugins.lua
Executable file
72
nvim/m-housh/lua/user/plugins.lua
Executable file
@@ -0,0 +1,72 @@
|
|||||||
|
-- Bootstrap Lazy.
|
||||||
|
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)
|
||||||
|
|
||||||
|
require("lazy").setup({
|
||||||
|
dev = {
|
||||||
|
path = '~/LocalProjects/plugins',
|
||||||
|
fallback = true
|
||||||
|
},
|
||||||
|
|
||||||
|
-- Theme --
|
||||||
|
{ import = 'user.plugin.theme' },
|
||||||
|
|
||||||
|
-- Completions --
|
||||||
|
{ import = 'user.plugin.cmp' },
|
||||||
|
|
||||||
|
-- Git --
|
||||||
|
{ import = 'user.plugin.lazygit' },
|
||||||
|
|
||||||
|
-- LSP, formatting, etc. --
|
||||||
|
{ 'folke/neodev.nvim', opts = {} },
|
||||||
|
{ import = 'user.plugin.lsp' },
|
||||||
|
{ import = 'user.plugin.lualine' },
|
||||||
|
{ import = 'user.plugin.treesitter' },
|
||||||
|
{ import = 'user.plugin.formatter' },
|
||||||
|
{ import = 'user.plugin.go' },
|
||||||
|
--{'fladson/vim-kitty', lazy=true, },
|
||||||
|
|
||||||
|
-- Navigation --
|
||||||
|
{ import = 'user.plugin.neo-tree' },
|
||||||
|
{ import = 'user.plugin.telescope' },
|
||||||
|
|
||||||
|
-- Utilities --
|
||||||
|
{ import = 'user.plugin.comment' },
|
||||||
|
{ import = 'user.plugin.noice' },
|
||||||
|
{ import = 'user.plugin.swift' },
|
||||||
|
{ import = 'user.plugin.toggleterm' },
|
||||||
|
{ import = 'user.plugin.which-key' },
|
||||||
|
{ import = 'user.plugin.wrapping' },
|
||||||
|
{
|
||||||
|
"folke/zen-mode.nvim",
|
||||||
|
opts = { }
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"christoomey/vim-tmux-navigator",
|
||||||
|
lazy = false,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"NMAC427/guess-indent.nvim",
|
||||||
|
opts = { }
|
||||||
|
},
|
||||||
|
{ import = 'user.plugin.todo-comments' },
|
||||||
|
{ "NoahTheDuke/vim-just", ft = { "just" } },
|
||||||
|
{
|
||||||
|
'chipsenkbeil/distant.nvim',
|
||||||
|
branch = 'v0.3',
|
||||||
|
config = function()
|
||||||
|
require('distant'):setup()
|
||||||
|
end
|
||||||
|
},
|
||||||
|
|
||||||
|
})
|
||||||
25
nvim/.config/nvim/lua/settings.lua → nvim/m-housh/lua/user/settings.lua
Normal file → Executable file
25
nvim/.config/nvim/lua/settings.lua → nvim/m-housh/lua/user/settings.lua
Normal file → Executable file
@@ -2,16 +2,14 @@ local o = vim.opt
|
|||||||
local wo = vim.wo
|
local wo = vim.wo
|
||||||
local fn = vim.fn
|
local fn = vim.fn
|
||||||
|
|
||||||
vim.cmd "filetype indent plugin on"
|
vim.cmd.set('inccommand=split')
|
||||||
vim.cmd "set inccommand=split"
|
o.updatetime = 500 -- faster completion
|
||||||
-- o.guicursor = "n-v-c:block,i-ci-ve:ver25,r-cr:hor20,o:hor50" -- block in normal and beam cursor in insert mode
|
o.timeoutlen = 800 -- time to wait for a mapped sequence to complete (in milliseconds)
|
||||||
o.updatetime = 300 -- faster completion
|
o.ttimeoutlen = 300 -- Time in milliseconds to wait for a key code sequence to complete
|
||||||
o.timeoutlen = 400 -- time to wait for a mapped sequence to complete (in milliseconds)
|
|
||||||
o.ttimeoutlen = 0 -- Time in milliseconds to wait for a key code sequence to complete
|
|
||||||
o.backup = false -- creates a backup file
|
o.backup = false -- creates a backup file
|
||||||
o.swapfile = true -- enable/disable swap file creation
|
o.swapfile = false -- enable/disable swap file creation
|
||||||
o.dir = fn.stdpath("data") .. "/swp" -- swap file directory
|
o.dir = fn.stdpath("data") .. "/swp" -- swap file directory
|
||||||
o.undofile = true -- enable/disable undo file creation
|
o.undofile = false -- enable/disable undo file creation
|
||||||
o.undodir = fn.stdpath("data") .. "/undodir" -- set undo directory
|
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.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.hidden = true -- required to keep multiple buffers and open multiple buffers
|
||||||
@@ -28,16 +26,18 @@ o.smartcase = true -- smart case
|
|||||||
o.smartindent = true -- make indenting smarter again
|
o.smartindent = true -- make indenting smarter again
|
||||||
o.splitbelow = true -- force all horizontal splits to go below current window
|
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.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.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.shiftwidth = 2 -- the number of spaces inserted for each indentation
|
||||||
o.tabstop = 2 -- how many columns a tab counts for
|
o.tabstop = 2 -- how many columns a tab counts for
|
||||||
o.termguicolors = true -- set term gui colors (most terminals support this)
|
o.termguicolors = true -- set term gui colors (most terminals support this)
|
||||||
o.cursorline = true -- highlight the current line
|
o.cursorline = true -- highlight the current line
|
||||||
o.scrolloff = 3 -- Minimal number of screen lines to keep above and below the cursor
|
o.scrolloff = 8 -- Minimal number of screen lines to keep above and below the cursor
|
||||||
o.sidescrolloff = 5 -- The minimal number of columns to scroll horizontally
|
o.sidescrolloff = 5 -- The minimal number of columns to scroll horizontally
|
||||||
o.hlsearch = true -- highlight all matches on previous search pattern
|
o.hlsearch = false -- highlight all matches on previous search pattern
|
||||||
o.ignorecase = true -- ignore case in search patterns
|
o.ignorecase = true -- ignore case in search patterns
|
||||||
o.foldenable = true -- disable folding; enable with zi
|
o.foldenable = false -- disable folding; enable with zi
|
||||||
o.foldmethod = "expr"
|
o.foldmethod = "expr"
|
||||||
o.foldexpr = "nvim_treesitter#foldexpr()"
|
o.foldexpr = "nvim_treesitter#foldexpr()"
|
||||||
-- o.listchars = "eol:¬,tab:>·,trail:~,extends:>,precedes:<"
|
-- o.listchars = "eol:¬,tab:>·,trail:~,extends:>,precedes:<"
|
||||||
@@ -45,7 +45,7 @@ o.listchars = "eol:¬,tab:>·,trail:~,extends:>,precedes:<,space:␣"
|
|||||||
o.shortmess = o.shortmess + "c" -- prevent "pattern not found" messages
|
o.shortmess = o.shortmess + "c" -- prevent "pattern not found" messages
|
||||||
wo.colorcolumn = "99999"
|
wo.colorcolumn = "99999"
|
||||||
o.wildmode = "full"
|
o.wildmode = "full"
|
||||||
o.lazyredraw = true -- do not redraw screen while running macros
|
o.lazyredraw = false -- do not redraw screen while running macros
|
||||||
o.grepprg = "rg --hidden --vimgrep --smart-case --"
|
o.grepprg = "rg --hidden --vimgrep --smart-case --"
|
||||||
o.completeopt = {"menu", "menuone", "noselect", "noinsert"} -- A comma separated list of options for Insert mode completion
|
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.wildignorecase = true -- When set case is ignored when completing file names and directories
|
||||||
@@ -62,3 +62,4 @@ o.wildignore = [[
|
|||||||
*.swp,.lock,.DS_Store,._*
|
*.swp,.lock,.DS_Store,._*
|
||||||
*/tmp/*,*.so,*.swp,*.zip,**/node_modules/**,**/target/**,**.terraform/**"
|
*/tmp/*,*.so,*.swp,*.zip,**/node_modules/**,**/target/**,**.terraform/**"
|
||||||
]]
|
]]
|
||||||
|
o.viminfo="" -- disable viminfo from copying information from current session, for security.
|
||||||
9
nvim/m-housh/lua/user/snippets/init.lua
Executable file
9
nvim/m-housh/lua/user/snippets/init.lua
Executable file
@@ -0,0 +1,9 @@
|
|||||||
|
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
|
||||||
|
|
||||||
4
nvim/m-housh/lua/user/theme.lua
Executable file
4
nvim/m-housh/lua/user/theme.lua
Executable file
@@ -0,0 +1,4 @@
|
|||||||
|
-- Nightfox
|
||||||
|
--require('nightfox').load('terrafox')
|
||||||
|
vim.cmd.colorscheme "catppuccin"
|
||||||
|
|
||||||
11
nvim/m-housh/spell/en.utf-8.add
Executable file
11
nvim/m-housh/spell/en.utf-8.add
Executable file
@@ -0,0 +1,11 @@
|
|||||||
|
MeasureQuick
|
||||||
|
Housh
|
||||||
|
sealtite
|
||||||
|
Subcool
|
||||||
|
OEM
|
||||||
|
NEC
|
||||||
|
AHJ
|
||||||
|
CFM
|
||||||
|
Hydronic
|
||||||
|
subpar
|
||||||
|
quo
|
||||||
BIN
nvim/m-housh/spell/en.utf-8.add.spl
Executable file
BIN
nvim/m-housh/spell/en.utf-8.add.spl
Executable file
Binary file not shown.
4
scripts/install-brew.sh
Executable file
4
scripts/install-brew.sh
Executable file
@@ -0,0 +1,4 @@
|
|||||||
|
#/bin/bash
|
||||||
|
|
||||||
|
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
|
||||||
|
chmod -R go-w "$(/opt/homebrew/bin/brew --prefix)"
|
||||||
22
scripts/install_launch_agents
Executable file
22
scripts/install_launch_agents
Executable file
@@ -0,0 +1,22 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
# Installs launchd agents.
|
||||||
|
|
||||||
|
agent_dir="${HOME}/Library/LaunchAgents"
|
||||||
|
uid="$(id -u "$(whoami)")"
|
||||||
|
|
||||||
|
mkdir -p "$agent_dir"
|
||||||
|
|
||||||
|
for file in "${DOTFILES}"/macOS/LaunchAgents/*.plist; do
|
||||||
|
# get just the base file name, similar to using `basename` but w/o a subshell
|
||||||
|
filename="${file##*/}"
|
||||||
|
path="${agent_dir}/${filename}"
|
||||||
|
echo "$filename"
|
||||||
|
if ! test -e "${path}"; then
|
||||||
|
echo "Installing Agent: ${filename}"
|
||||||
|
cp "${file}" "${path}"
|
||||||
|
launchctl enable "user/${uid}/${filename}"
|
||||||
|
fi
|
||||||
|
done
|
||||||
12
scripts/scripts/allfigl
Executable file
12
scripts/scripts/allfigl
Executable file
@@ -0,0 +1,12 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
font_dir="$(brew --prefix)/share/figlet/fonts"
|
||||||
|
|
||||||
|
for font in "${font_dir}"/*.flf; do
|
||||||
|
clear
|
||||||
|
echo "FONT: $font"
|
||||||
|
figlet -f "${font}" hello
|
||||||
|
read -r line
|
||||||
|
done
|
||||||
8
scripts/scripts/banner
Executable file
8
scripts/scripts/banner
Executable file
@@ -0,0 +1,8 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
message="${1:-m-housh}"
|
||||||
|
font="${2:-puffy}"
|
||||||
|
|
||||||
|
echo "${message}" | figlet -c -f "${font}"
|
||||||
9
scripts/scripts/clean-derived-data
Executable file
9
scripts/scripts/clean-derived-data
Executable file
@@ -0,0 +1,9 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
if [ "$(uname -n)" = "Michaels-Mac-mini.local" ]; then
|
||||||
|
echo "Removing derived data folders"
|
||||||
|
rm -r /Volumes/Bucket/Library/Developer/Xcode/DerivedData
|
||||||
|
else
|
||||||
|
echo "Removing derived data folders"
|
||||||
|
rm -r ~/Library/Developer/Xcode/DerivedData/*
|
||||||
|
fi
|
||||||
8
scripts/scripts/cmt
Executable file
8
scripts/scripts/cmt
Executable file
@@ -0,0 +1,8 @@
|
|||||||
|
#!/bin/zsh
|
||||||
|
|
||||||
|
# adapted from...
|
||||||
|
# https://github.com/rwxrob/dot/blob/main/scripts/cmt
|
||||||
|
|
||||||
|
while IFS= read -r line; do
|
||||||
|
echo "${1:-#} $line"
|
||||||
|
done
|
||||||
5
scripts/scripts/duck
Executable file
5
scripts/scripts/duck
Executable file
@@ -0,0 +1,5 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
url="https://lite.duckduckgo.com/lite?kd=1&kp=1&q=$(urlencode "$*")"
|
||||||
|
|
||||||
|
exec lynx -vikeys "$url"
|
||||||
16
scripts/scripts/figl
Executable file
16
scripts/scripts/figl
Executable file
@@ -0,0 +1,16 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Create a new figlet (ascii art) from the input.
|
||||||
|
|
||||||
|
figl() {
|
||||||
|
font=${FIGL_FONT:-puffy}
|
||||||
|
declare -a buf
|
||||||
|
while IFS= read -r line; do
|
||||||
|
buf+=("$line")
|
||||||
|
done
|
||||||
|
for line in "${buf[@]}"; do
|
||||||
|
figlet -f "$font" -c "${line}" | head -6
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
figl "$*"
|
||||||
11
scripts/scripts/haasd
Executable file
11
scripts/scripts/haasd
Executable file
@@ -0,0 +1,11 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
# Creates a new `zet` inside the $HAAS/documents repository
|
||||||
|
|
||||||
|
_main() {
|
||||||
|
(ZETDIR="$HAAS/documents" eval zet "$@")
|
||||||
|
}
|
||||||
|
|
||||||
|
_main "$@"
|
||||||
11
scripts/scripts/haasp
Executable file
11
scripts/scripts/haasp
Executable file
@@ -0,0 +1,11 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
# Creates a new `zet` inside the House Call Pro `Zettlekasten`
|
||||||
|
|
||||||
|
_main() {
|
||||||
|
(ZETDIR="$HAAS/processes" eval zet "$@")
|
||||||
|
}
|
||||||
|
|
||||||
|
_main "$@"
|
||||||
12
scripts/scripts/haasz
Executable file
12
scripts/scripts/haasz
Executable file
@@ -0,0 +1,12 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
# Uses the `zet` command setting the directory to the
|
||||||
|
# Housh As A System zet repository.
|
||||||
|
|
||||||
|
main() {
|
||||||
|
(ZETDIR="$HAASZET" eval zet "$@")
|
||||||
|
}
|
||||||
|
|
||||||
|
main "$@"
|
||||||
11
scripts/scripts/hcpn
Executable file
11
scripts/scripts/hcpn
Executable file
@@ -0,0 +1,11 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
# Creates a new `zet` inside the House Call Pro `Zettlekasten`
|
||||||
|
|
||||||
|
_main() {
|
||||||
|
(ZETDIR="$HCP_NOTES" eval zet "$@")
|
||||||
|
}
|
||||||
|
|
||||||
|
_main "$@"
|
||||||
11
scripts/scripts/hxzet
Executable file
11
scripts/scripts/hxzet
Executable file
@@ -0,0 +1,11 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
# Creates a new `zet` inside the House Call Pro `Zettlekasten`
|
||||||
|
|
||||||
|
_main() {
|
||||||
|
(ZETDIR="$HXZET" eval zet "$@")
|
||||||
|
}
|
||||||
|
|
||||||
|
_main "$@"
|
||||||
4
scripts/scripts/isosec
Executable file
4
scripts/scripts/isosec
Executable file
@@ -0,0 +1,4 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
date -u '+%Y%m%d%H%M%S'
|
||||||
|
|
||||||
58
scripts/scripts/link_apps
Executable file
58
scripts/scripts/link_apps
Executable file
@@ -0,0 +1,58 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
# Creates symlinks from external application directory
|
||||||
|
# to another directory so applications are seen in
|
||||||
|
# spotlight searches and launchpad.
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
app_dir=""
|
||||||
|
destination_dir=""
|
||||||
|
|
||||||
|
# Parses the input arguments. If 2 arguments are passed in, then
|
||||||
|
# the first is where we search for applications (source) and the second
|
||||||
|
# argument is the destination directory for the symlinks to be placed in
|
||||||
|
#
|
||||||
|
# If one argument is passed in, then it is used as the destination directory
|
||||||
|
# and we use the default source directory.
|
||||||
|
_parse_args() {
|
||||||
|
arg_count="$#"
|
||||||
|
app_dir="/Volumes/M1 Mac-Mini External Drive/Applications"
|
||||||
|
destination_dir="${HOME}/Application"
|
||||||
|
if test "$arg_count" -eq 1; then
|
||||||
|
destination_dir="$1"
|
||||||
|
elif test "$arg_count" -eq 2; then
|
||||||
|
app_dir="$1"
|
||||||
|
destination_dir="$2"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# Checks if the `app_dir` exists.
|
||||||
|
_is_mounted() {
|
||||||
|
if ! test -d "$app_dir"; then
|
||||||
|
echo "Application directory does not exist or is not mounted" >&2
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# ---------------- main -------------------
|
||||||
|
|
||||||
|
main() {
|
||||||
|
|
||||||
|
_parse_args "$@"
|
||||||
|
test -d "${destination_dir}" || echo "Destination does not exist" >&2
|
||||||
|
|
||||||
|
if test _is_mounted; then
|
||||||
|
for app in "${app_dir}"/*.app; do
|
||||||
|
destination="${destination_dir}/$(basename "${app}")"
|
||||||
|
if test -e "${destination}"; then
|
||||||
|
echo "Destination already exists: ${destination}. Skipping!" >&2
|
||||||
|
continue
|
||||||
|
fi
|
||||||
|
# remove echo to do real work.
|
||||||
|
echo ln -sv "${app}" "${destination}" >&2
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
main "$@"
|
||||||
66
scripts/scripts/mhlink
Executable file
66
scripts/scripts/mhlink
Executable file
@@ -0,0 +1,66 @@
|
|||||||
|
#!/usr/bin/env zsh
|
||||||
|
|
||||||
|
# Generates a link to my website / blog.
|
||||||
|
#
|
||||||
|
# Use the -l | --last option to generate a link based on the most
|
||||||
|
# recent page-bundle created (this does not work if the post has been
|
||||||
|
# sitting around / worked on for a bit).
|
||||||
|
#
|
||||||
|
# If no option is passed in then it will open an fzf (fuzzy search)
|
||||||
|
# from the directories.
|
||||||
|
#
|
||||||
|
# Use the --local option to generate a link to a version running on localhost.
|
||||||
|
#
|
||||||
|
# A general usage to generate a link and copy it to the clipboard:
|
||||||
|
#
|
||||||
|
# `$ mhlink --last | pbcopy`
|
||||||
|
#
|
||||||
|
#
|
||||||
|
|
||||||
|
#################### Options ####################
|
||||||
|
lastOpt=
|
||||||
|
localOpt=
|
||||||
|
|
||||||
|
zparseopts -- \
|
||||||
|
{l,-last}=lastOpt \
|
||||||
|
-local=localOpt
|
||||||
|
|
||||||
|
#################### Main ####################
|
||||||
|
|
||||||
|
if [ -d "$GHREPOS/mhoush.com" ]; then
|
||||||
|
root="$$GHREPOS/mhoush.com"
|
||||||
|
else
|
||||||
|
root="$HOME/projects/mhoush.com"
|
||||||
|
fi
|
||||||
|
|
||||||
|
postsPath="$root/content/posts"
|
||||||
|
|
||||||
|
# Abort early if the post path does not exist.
|
||||||
|
[ ! -d $postsPath ] \
|
||||||
|
&& echo "Could not find posts directory" \
|
||||||
|
&& exit 1
|
||||||
|
|
||||||
|
# Get's all the directories / page-bundles.
|
||||||
|
posts=$(find "$postsPath" -mindepth 1 -maxdepth 1 -type d -print0 | \
|
||||||
|
xargs -0 stat -f"%m %Sm %N" | \
|
||||||
|
sort -rn)
|
||||||
|
|
||||||
|
# Use the last directory or choose from a list.
|
||||||
|
[ -n "$lastOpt" ] \
|
||||||
|
&& choice=$(echo $posts | tr '\n' ' ' | cut -w -f6) \
|
||||||
|
|| choice=$(echo $posts | fzf)
|
||||||
|
|
||||||
|
# Delete everything before the last /
|
||||||
|
choice="${choice##*/}"
|
||||||
|
|
||||||
|
# Exit if a choice was not made / found.
|
||||||
|
[ -z $choice ] \
|
||||||
|
&& echo "No selection made." \
|
||||||
|
&& exit 1
|
||||||
|
|
||||||
|
# Set the prefix / website according to the options.
|
||||||
|
[ -n "$localOpt" ] \
|
||||||
|
&& prefix="http://localhost:1313" \
|
||||||
|
|| prefix="https://mhoush.com"
|
||||||
|
|
||||||
|
echo "$prefix/$choice/"
|
||||||
25
scripts/scripts/mkhpadir
Executable file
25
scripts/scripts/mkhpadir
Executable file
@@ -0,0 +1,25 @@
|
|||||||
|
#!/bin/zsh
|
||||||
|
|
||||||
|
# Creates a new home performance assesment directory, from the skeleton
|
||||||
|
# directory.
|
||||||
|
|
||||||
|
sdate="$(date '+%Y.%m.%d' | cut -c3-)"
|
||||||
|
customerName="$1"
|
||||||
|
dirName="${sdate}.${customerName}_HPA"
|
||||||
|
skelPath="$SKELETONDIR/hpa"
|
||||||
|
|
||||||
|
#-------------------- MAIN --------------------
|
||||||
|
|
||||||
|
if [ -z $customerName ]; then
|
||||||
|
echo "Customer name should not be empty." && exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ ! -d $skelPath ]; then
|
||||||
|
echo "Could not find skeleton directory." && exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ ! -d $PROPOSALS ]; then
|
||||||
|
echo "Could not find proposals directory." && exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
cp -R "$skelPath" "$PROPOSALS/$dirName"
|
||||||
147
scripts/scripts/mktrans
Executable file
147
scripts/scripts/mktrans
Executable file
@@ -0,0 +1,147 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
# B9 June 2017
|
||||||
|
|
||||||
|
# mktrans
|
||||||
|
# This is similar to ImageMagick's bg_removal script, but much higher
|
||||||
|
# quality. (It's also faster and simpler to use.)
|
||||||
|
#
|
||||||
|
# For a sample, run these commands:
|
||||||
|
# convert logo: logo.png
|
||||||
|
# mktrans logo.png
|
||||||
|
# display logo-transparent.png
|
||||||
|
|
||||||
|
|
||||||
|
# Fuzz is how far off the background color can be (in percent).
|
||||||
|
# This is important for getting good antialiasing.
|
||||||
|
defaultfuzz=20
|
||||||
|
|
||||||
|
usage() {
|
||||||
|
cat <<EOF
|
||||||
|
|
||||||
|
mktrans: Convert images into shaped transparent pngs by floodfilling
|
||||||
|
the background with transparency (antialiased alpha channel).
|
||||||
|
Unless a different starting pixel is specified, the top left
|
||||||
|
pixel is used as the "background" color to remove and
|
||||||
|
floodfill starts from all four image edges,
|
||||||
|
|
||||||
|
Typical usage:
|
||||||
|
|
||||||
|
mktrans foo.jpg (creates foo-transparent.png)
|
||||||
|
|
||||||
|
Usage: mktrans [-f <fuzz>] [-s|-S] [-p <x>,<y>] [-v] <files ... >
|
||||||
|
|
||||||
|
-f <fuzz>: How loosely to match the background color (default $defaultfuzz%)
|
||||||
|
|
||||||
|
Advanced options:
|
||||||
|
-s: Use speedy antialiasing (much faster, slightly less acurate)
|
||||||
|
-S: Supress antialiasing completely. (Useful for repeated runs)
|
||||||
|
p <x>,<y>: Floodfill from pixel at x,y instead of 0,0
|
||||||
|
-v: Verbose
|
||||||
|
EOF
|
||||||
|
|
||||||
|
# * Side note: This creates an antialiased (blurred) alpha channel
|
||||||
|
# that is also eroded by half a pixel to avoid halos. ImageMagick's
|
||||||
|
# morphological operations don't (yet?) work at the subpixel level,
|
||||||
|
# so I'm blowing up the alpha channel to 200% before eroding. Since
|
||||||
|
# this can be slow on large images, consider using the '-s' option
|
||||||
|
# which uses a faster, lower quality antialiasing.
|
||||||
|
|
||||||
|
# * Running this script on an image that already has transparency will
|
||||||
|
# erode the image due to the antialiasing. Using -S is a workaround,
|
||||||
|
# but is not very satisfactory. Perhaps this script should remove any
|
||||||
|
# existing transparency before manipulating the image and then add it
|
||||||
|
# back in at the end. But then again, how often are people going to
|
||||||
|
# want to do that? The only use I can think of is when using -p.
|
||||||
|
|
||||||
|
# * Because of the previous bug, if you do use -p to fill lots of
|
||||||
|
# lagoons, you'll probably want to use -A at the same time.
|
||||||
|
|
||||||
|
# * Finding the coordinates for -p is a pain. It'd be nice if there was
|
||||||
|
# a -P option which let the user click on a point (or multiple points)
|
||||||
|
# in the image to start the floodfill.
|
||||||
|
|
||||||
|
exit 0
|
||||||
|
}
|
||||||
|
|
||||||
|
fuzz=$defaultfuzz
|
||||||
|
pixelcomma="0,0"
|
||||||
|
pixelplus="+0+0"
|
||||||
|
|
||||||
|
while getopts f:sAShp:v name; do
|
||||||
|
case $name in
|
||||||
|
f) fuzz=$OPTARG
|
||||||
|
;;
|
||||||
|
s) sflag=True
|
||||||
|
;;
|
||||||
|
S|A) noantialias=True
|
||||||
|
;;
|
||||||
|
v) vflag=True
|
||||||
|
;;
|
||||||
|
h) usage
|
||||||
|
;;
|
||||||
|
p) pixelcomma=$OPTARG
|
||||||
|
pixelplus=+${OPTARG%,*}+${OPTARG#*,}
|
||||||
|
pflag=True
|
||||||
|
;;
|
||||||
|
*) usage
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
|
||||||
|
shift $((OPTIND-1))
|
||||||
|
[[ "$#" != 0 ]] || usage
|
||||||
|
|
||||||
|
|
||||||
|
for filename; do
|
||||||
|
# Get color of 0,0 (top left) pixel
|
||||||
|
color=$(convert "$filename" -format "%[pixel:p{$pixelcomma}]" info:-)
|
||||||
|
if [[ "$color" == *rgba*",0)" ]]; then
|
||||||
|
color="${color%,0)},1)" # Floodfill only works with opaque colors.
|
||||||
|
fi
|
||||||
|
if [[ "$color" == "none" ]]; then
|
||||||
|
echo "Error: $filename: pixel at $pixelcomma is completely transparent. Cannot floodfill." >&2
|
||||||
|
continue
|
||||||
|
fi
|
||||||
|
|
||||||
|
options=""
|
||||||
|
if [ -z "$pflag" ]; then
|
||||||
|
# Add a 1 pixel border so we'll fill from the bottom and sides as well.
|
||||||
|
options+=" -bordercolor $color -border 1 "
|
||||||
|
fi
|
||||||
|
# In a new stack, make a copy of the image
|
||||||
|
options+=" ( +clone "
|
||||||
|
# [copy] floodfill with transparency ("none") starting at top-left
|
||||||
|
options+=" -fuzz $fuzz% -fill none -floodfill $pixelplus $color"
|
||||||
|
# [copy] extract just the transparency (alpha channel)
|
||||||
|
options+=" -alpha extract"
|
||||||
|
|
||||||
|
if [ -z "$noantialias" ]; then
|
||||||
|
if [ -z "$sflag" ]; then
|
||||||
|
# [copy] blow up the alpha channel so we can do sub-pixel morphology
|
||||||
|
options+=" -geometry 200%"
|
||||||
|
# [copy] blur the alpha channel to make it antialiased
|
||||||
|
options+=" -blur 0x0.5"
|
||||||
|
# [copy] shrink the region that is opaque by half a pixel.
|
||||||
|
options+=" -morphology erode square:1"
|
||||||
|
# [copy] scale the alpha channel back to normal size.
|
||||||
|
options+=" -geometry 50%"
|
||||||
|
else # sflag: speedy antialias
|
||||||
|
# [copy] blur the alpha channel to make it antialiased
|
||||||
|
options+=" -blur 0x1"
|
||||||
|
# [copy] only antialias inside the figure (<50% opacity becomes 0%)
|
||||||
|
options+=" -level 50%,100%"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
# [copy] end the stack.
|
||||||
|
options+=" ) "
|
||||||
|
# Compose the original image and the copy's alpha channel.
|
||||||
|
options+=" -compose CopyOpacity -composite"
|
||||||
|
if [ -z "$pflag" ]; then
|
||||||
|
# Remove the 1 pixel border we added
|
||||||
|
options+=" -shave 1"
|
||||||
|
fi
|
||||||
|
|
||||||
|
[ "$vflag" ] && echo convert "$filename" $options "${filename%.*}-transparent.png"
|
||||||
|
|
||||||
|
convert "$filename" $options "${filename%.*}-transparent.png"
|
||||||
|
done
|
||||||
11
scripts/scripts/ncis
Executable file
11
scripts/scripts/ncis
Executable file
@@ -0,0 +1,11 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
# Creates a new `zet` inside the NCI Summit `Zettlekasten`
|
||||||
|
|
||||||
|
_main() {
|
||||||
|
ZETDIR="$HOME/Documents/NCISummit" eval zet "$@"
|
||||||
|
}
|
||||||
|
|
||||||
|
_main "$@"
|
||||||
98
scripts/scripts/newx
Executable file
98
scripts/scripts/newx
Executable file
@@ -0,0 +1,98 @@
|
|||||||
|
#!/bin/zsh
|
||||||
|
|
||||||
|
# Creates a new executable file.
|
||||||
|
|
||||||
|
declare -a localOpt
|
||||||
|
declare -a functionOpt
|
||||||
|
declare -a shellOpt=("zsh")
|
||||||
|
declare -a helpOpt
|
||||||
|
DEBUG="$(env | grep DEBUG)"
|
||||||
|
|
||||||
|
zparseopts -D -K -- \
|
||||||
|
{l,-local}+:=localOpt \
|
||||||
|
{f,-function}+:=functionOpt \
|
||||||
|
{s,-shell}+=shellOpt \
|
||||||
|
{h,-help}=helpOpt
|
||||||
|
|
||||||
|
shell=${shellOpt[-1]}
|
||||||
|
localPath=${localOpt[-1]}
|
||||||
|
|
||||||
|
#-------------------- Helpers --------------------
|
||||||
|
function usage() {
|
||||||
|
cat << EOF
|
||||||
|
newx: Create new executable (script, function, or local script).
|
||||||
|
|
||||||
|
Typical usage:
|
||||||
|
|
||||||
|
newx foo (creates new script named 'foo')
|
||||||
|
|
||||||
|
Usage: newx [-l <name>] [-f <name>] [-s <shell>]
|
||||||
|
|
||||||
|
-l | --local <name>: Create a script in current directory.
|
||||||
|
-f | --function <name>: Create a function.
|
||||||
|
|
||||||
|
Advanced options:
|
||||||
|
-s | --shell <shell>: Customize the shell for the script.
|
||||||
|
EOF
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
function debug_print() {
|
||||||
|
[ -n "$DEBUG" ] \
|
||||||
|
&& echo "DEBUG: $1"
|
||||||
|
}
|
||||||
|
|
||||||
|
function create_script() {
|
||||||
|
|
||||||
|
local script_path="$1"
|
||||||
|
|
||||||
|
debug_print "shell: $shell"
|
||||||
|
debug_print "script-path: $script_path"
|
||||||
|
|
||||||
|
printf "#!/bin/%s\n\n" "${shell}" > "${script_path}"
|
||||||
|
chmod +x "${script_path}"
|
||||||
|
exec "${EDITOR}" +2 "${script_path}"
|
||||||
|
}
|
||||||
|
|
||||||
|
function parse_local_path() {
|
||||||
|
if [ -z "$localPath" ]; then
|
||||||
|
local prefix="${1[1]}${1[2]}"
|
||||||
|
debug_print "prefix: $prefix"
|
||||||
|
[ "$prefix" = "./" ] && localPath="$1"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
#-------------------- Main --------------------
|
||||||
|
|
||||||
|
debug_print "first-arg: $1"
|
||||||
|
|
||||||
|
if [ -n "${helpOpt}" ]; then
|
||||||
|
usage && exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -n "${functionOpt[-1]}" ]; then
|
||||||
|
debug_print "function-opt: $functionOpt"
|
||||||
|
|
||||||
|
[ ! -d "$ZFUNCDIR" ] \
|
||||||
|
&& echo "Function directory not found" \
|
||||||
|
&& return 1
|
||||||
|
|
||||||
|
create_script "$ZFUNCDIR/${functionOpt[-1]}"
|
||||||
|
return 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
parse_local_path "$1"
|
||||||
|
|
||||||
|
if [ -n "$localPath" ]; then
|
||||||
|
debug_print "local: $localPath"
|
||||||
|
create_script "$localPath"
|
||||||
|
return 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
debug_print "scripts: $1"
|
||||||
|
[ ! -d "$SCRIPTS" ] \
|
||||||
|
&& echo "Scripts directory not found. Set the SCRIPTS environment variable." \
|
||||||
|
&& return 1
|
||||||
|
|
||||||
|
create_script "${SCRIPTS}/$1"
|
||||||
|
|
||||||
22
scripts/scripts/nvims
Executable file
22
scripts/scripts/nvims
Executable file
@@ -0,0 +1,22 @@
|
|||||||
|
#!/bin/zsh
|
||||||
|
|
||||||
|
# Change / select an nvim configuration.
|
||||||
|
#
|
||||||
|
# The configuration's need to be in the ~/.config folder
|
||||||
|
# to work properly.
|
||||||
|
#
|
||||||
|
main() {
|
||||||
|
items=("default" "m-housh" "kickstart" "lazy")
|
||||||
|
config=$(printf "%s\n" "${items[@]}" \
|
||||||
|
| fzf --prompt=" Neovim Config ➣ " --height=50% --layout=reverse --border --exit-0
|
||||||
|
)
|
||||||
|
if [ -z "$config" ]; then
|
||||||
|
echo "Nothing selected"
|
||||||
|
return 0
|
||||||
|
elif [ $config == "default" ]; then
|
||||||
|
config=""
|
||||||
|
fi
|
||||||
|
unset VIMINIT && unset MYVIMRC && export NVIM_APPNAME=$config && nvim $@
|
||||||
|
}
|
||||||
|
|
||||||
|
main "$@"
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user