@@ -1,34 +1,36 @@ | |||
*background: #1E1E2E | |||
*foreground: #CDD6F4 | |||
*background: #EFF1F5 | |||
*foreground: #4C4F69 | |||
*cursorColor: #666666 | |||
! black | |||
*color0: #45475A | |||
*color8: #585B70 | |||
*color0: #5C5F77 | |||
*color8: #6C6F85 | |||
! red | |||
*color1: #F38BA8 | |||
*color9: #F38BA8 | |||
*color1: #D20F39 | |||
*color9: #D20F39 | |||
! green | |||
*color2: #A6E3A1 | |||
*color10: #A6E3A1 | |||
*color2: #40A02B | |||
*color10: #40A02B | |||
! yellow | |||
*color3: #F9E2AF | |||
*color11: #F9E2AF | |||
*color3: #DF8E1D | |||
*color11: #DF8E1D | |||
! blue | |||
*color4: #89B4FA | |||
*color12: #89B4FA | |||
*color4: #1E66F5 | |||
*color12: #1E66F5 | |||
! magenta | |||
*color5: #F5C2E7 | |||
*color13: #F5C2E7 | |||
*color5: #EA76CB | |||
*color13: #EA76CB | |||
! cyan | |||
*color6: #94E2D5 | |||
*color14: #94E2D5 | |||
*color6: #179299 | |||
*color14: #179299 | |||
! white | |||
*color7: #BAC2DE | |||
*color15: #A6ADC8 | |||
*color7: #ACB0BE | |||
*color15: #BCC0CC | |||
@@ -0,0 +1,201 @@ | |||
Apache License | |||
Version 2.0, January 2004 | |||
http://www.apache.org/licenses/ | |||
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION | |||
1. Definitions. | |||
"License" shall mean the terms and conditions for use, reproduction, | |||
and distribution as defined by Sections 1 through 9 of this document. | |||
"Licensor" shall mean the copyright owner or entity authorized by | |||
the copyright owner that is granting the License. | |||
"Legal Entity" shall mean the union of the acting entity and all | |||
other entities that control, are controlled by, or are under common | |||
control with that entity. For the purposes of this definition, | |||
"control" means (i) the power, direct or indirect, to cause the | |||
direction or management of such entity, whether by contract or | |||
otherwise, or (ii) ownership of fifty percent (50%) or more of the | |||
outstanding shares, or (iii) beneficial ownership of such entity. | |||
"You" (or "Your") shall mean an individual or Legal Entity | |||
exercising permissions granted by this License. | |||
"Source" form shall mean the preferred form for making modifications, | |||
including but not limited to software source code, documentation | |||
source, and configuration files. | |||
"Object" form shall mean any form resulting from mechanical | |||
transformation or translation of a Source form, including but | |||
not limited to compiled object code, generated documentation, | |||
and conversions to other media types. | |||
"Work" shall mean the work of authorship, whether in Source or | |||
Object form, made available under the License, as indicated by a | |||
copyright notice that is included in or attached to the work | |||
(an example is provided in the Appendix below). | |||
"Derivative Works" shall mean any work, whether in Source or Object | |||
form, that is based on (or derived from) the Work and for which the | |||
editorial revisions, annotations, elaborations, or other modifications | |||
represent, as a whole, an original work of authorship. For the purposes | |||
of this License, Derivative Works shall not include works that remain | |||
separable from, or merely link (or bind by name) to the interfaces of, | |||
the Work and Derivative Works thereof. | |||
"Contribution" shall mean any work of authorship, including | |||
the original version of the Work and any modifications or additions | |||
to that Work or Derivative Works thereof, that is intentionally | |||
submitted to Licensor for inclusion in the Work by the copyright owner | |||
or by an individual or Legal Entity authorized to submit on behalf of | |||
the copyright owner. For the purposes of this definition, "submitted" | |||
means any form of electronic, verbal, or written communication sent | |||
to the Licensor or its representatives, including but not limited to | |||
communication on electronic mailing lists, source code control systems, | |||
and issue tracking systems that are managed by, or on behalf of, the | |||
Licensor for the purpose of discussing and improving the Work, but | |||
excluding communication that is conspicuously marked or otherwise | |||
designated in writing by the copyright owner as "Not a Contribution." | |||
"Contributor" shall mean Licensor and any individual or Legal Entity | |||
on behalf of whom a Contribution has been received by Licensor and | |||
subsequently incorporated within the Work. | |||
2. Grant of Copyright License. Subject to the terms and conditions of | |||
this License, each Contributor hereby grants to You a perpetual, | |||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable | |||
copyright license to reproduce, prepare Derivative Works of, | |||
publicly display, publicly perform, sublicense, and distribute the | |||
Work and such Derivative Works in Source or Object form. | |||
3. Grant of Patent License. Subject to the terms and conditions of | |||
this License, each Contributor hereby grants to You a perpetual, | |||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable | |||
(except as stated in this section) patent license to make, have made, | |||
use, offer to sell, sell, import, and otherwise transfer the Work, | |||
where such license applies only to those patent claims licensable | |||
by such Contributor that are necessarily infringed by their | |||
Contribution(s) alone or by combination of their Contribution(s) | |||
with the Work to which such Contribution(s) was submitted. If You | |||
institute patent litigation against any entity (including a | |||
cross-claim or counterclaim in a lawsuit) alleging that the Work | |||
or a Contribution incorporated within the Work constitutes direct | |||
or contributory patent infringement, then any patent licenses | |||
granted to You under this License for that Work shall terminate | |||
as of the date such litigation is filed. | |||
4. Redistribution. You may reproduce and distribute copies of the | |||
Work or Derivative Works thereof in any medium, with or without | |||
modifications, and in Source or Object form, provided that You | |||
meet the following conditions: | |||
(a) You must give any other recipients of the Work or | |||
Derivative Works a copy of this License; and | |||
(b) You must cause any modified files to carry prominent notices | |||
stating that You changed the files; and | |||
(c) You must retain, in the Source form of any Derivative Works | |||
that You distribute, all copyright, patent, trademark, and | |||
attribution notices from the Source form of the Work, | |||
excluding those notices that do not pertain to any part of | |||
the Derivative Works; and | |||
(d) If the Work includes a "NOTICE" text file as part of its | |||
distribution, then any Derivative Works that You distribute must | |||
include a readable copy of the attribution notices contained | |||
within such NOTICE file, excluding those notices that do not | |||
pertain to any part of the Derivative Works, in at least one | |||
of the following places: within a NOTICE text file distributed | |||
as part of the Derivative Works; within the Source form or | |||
documentation, if provided along with the Derivative Works; or, | |||
within a display generated by the Derivative Works, if and | |||
wherever such third-party notices normally appear. The contents | |||
of the NOTICE file are for informational purposes only and | |||
do not modify the License. You may add Your own attribution | |||
notices within Derivative Works that You distribute, alongside | |||
or as an addendum to the NOTICE text from the Work, provided | |||
that such additional attribution notices cannot be construed | |||
as modifying the License. | |||
You may add Your own copyright statement to Your modifications and | |||
may provide additional or different license terms and conditions | |||
for use, reproduction, or distribution of Your modifications, or | |||
for any such Derivative Works as a whole, provided Your use, | |||
reproduction, and distribution of the Work otherwise complies with | |||
the conditions stated in this License. | |||
5. Submission of Contributions. Unless You explicitly state otherwise, | |||
any Contribution intentionally submitted for inclusion in the Work | |||
by You to the Licensor shall be under the terms and conditions of | |||
this License, without any additional terms or conditions. | |||
Notwithstanding the above, nothing herein shall supersede or modify | |||
the terms of any separate license agreement you may have executed | |||
with Licensor regarding such Contributions. | |||
6. Trademarks. This License does not grant permission to use the trade | |||
names, trademarks, service marks, or product names of the Licensor, | |||
except as required for reasonable and customary use in describing the | |||
origin of the Work and reproducing the content of the NOTICE file. | |||
7. Disclaimer of Warranty. Unless required by applicable law or | |||
agreed to in writing, Licensor provides the Work (and each | |||
Contributor provides its Contributions) on an "AS IS" BASIS, | |||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or | |||
implied, including, without limitation, any warranties or conditions | |||
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A | |||
PARTICULAR PURPOSE. You are solely responsible for determining the | |||
appropriateness of using or redistributing the Work and assume any | |||
risks associated with Your exercise of permissions under this License. | |||
8. Limitation of Liability. In no event and under no legal theory, | |||
whether in tort (including negligence), contract, or otherwise, | |||
unless required by applicable law (such as deliberate and grossly | |||
negligent acts) or agreed to in writing, shall any Contributor be | |||
liable to You for damages, including any direct, indirect, special, | |||
incidental, or consequential damages of any character arising as a | |||
result of this License or out of the use or inability to use the | |||
Work (including but not limited to damages for loss of goodwill, | |||
work stoppage, computer failure or malfunction, or any and all | |||
other commercial damages or losses), even if such Contributor | |||
has been advised of the possibility of such damages. | |||
9. Accepting Warranty or Additional Liability. While redistributing | |||
the Work or Derivative Works thereof, You may choose to offer, | |||
and charge a fee for, acceptance of support, warranty, indemnity, | |||
or other liability obligations and/or rights consistent with this | |||
License. However, in accepting such obligations, You may act only | |||
on Your own behalf and on Your sole responsibility, not on behalf | |||
of any other Contributor, and only if You agree to indemnify, | |||
defend, and hold each Contributor harmless for any liability | |||
incurred by, or claims asserted against, such Contributor by reason | |||
of your accepting any such warranty or additional liability. | |||
END OF TERMS AND CONDITIONS | |||
APPENDIX: How to apply the Apache License to your work. | |||
To apply the Apache License to your work, attach the following | |||
boilerplate notice, with the fields enclosed by brackets "[]" | |||
replaced with your own identifying information. (Don't include | |||
the brackets!) The text should be enclosed in the appropriate | |||
comment syntax for the file format. We also recommend that a | |||
file or class name and description of purpose be included on the | |||
same "printed page" as the copyright notice for easier | |||
identification within third-party archives. | |||
Copyright [yyyy] [name of copyright owner] | |||
Licensed under the Apache License, Version 2.0 (the "License"); | |||
you may not use this file except in compliance with the License. | |||
You may obtain a copy of the License at | |||
http://www.apache.org/licenses/LICENSE-2.0 | |||
Unless required by applicable law or agreed to in writing, software | |||
distributed under the License is distributed on an "AS IS" BASIS, | |||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |||
See the License for the specific language governing permissions and | |||
limitations under the License. |
@@ -0,0 +1,4 @@ | |||
# 💤 LazyVim | |||
A starter template for [LazyVim](https://github.com/LazyVim/LazyVim). | |||
Refer to the [documentation](https://lazyvim.github.io/installation) to get started. |
@@ -1,5 +1,2 @@ | |||
require('rin.settings') | |||
require('rin.plugins') | |||
require('rin.keymaps') | |||
require('rin.lsp') | |||
-- bootstrap lazy.nvim, LazyVim and your plugins | |||
require("config.lazy") |
@@ -0,0 +1,54 @@ | |||
{ | |||
"LazyVim": { "branch": "main", "commit": "a72a84972d85e5bbc6b9d60a0983b37efef21b8a" }, | |||
"LuaSnip": { "branch": "master", "commit": "ea7d7ea510c641c4f15042becd27f35b3e5b3c2b" }, | |||
"SchemaStore.nvim": { "branch": "main", "commit": "c0874b9eb5e9aecd27e122ebfe7490516ac02bd3" }, | |||
"bufferline.nvim": { "branch": "main", "commit": "9961d87bb3ec008213c46ba14b3f384a5f520eb5" }, | |||
"catppuccin": { "branch": "main", "commit": "a937d546f4783a1ff67f84043d2d7871ad4ecd83" }, | |||
"cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, | |||
"cmp-emoji": { "branch": "main", "commit": "19075c36d5820253d32e2478b6aaf3734aeaafa0" }, | |||
"cmp-nvim-lsp": { "branch": "main", "commit": "44b16d11215dce86f253ce0c30949813c0a90765" }, | |||
"cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" }, | |||
"cmp_luasnip": { "branch": "master", "commit": "18095520391186d634a0045dacaa346291096566" }, | |||
"dressing.nvim": { "branch": "master", "commit": "c1e1d5fa44fe08811b6ef4aadac2b50e602f9504" }, | |||
"flash.nvim": { "branch": "main", "commit": "8a8e74922a383c253b7f92e042b749150140c8d1" }, | |||
"friendly-snippets": { "branch": "main", "commit": "ebf6d6e83494cdd88a54a429340256f4dbb6a052" }, | |||
"gitsigns.nvim": { "branch": "main", "commit": "fef5d90953f0a730483b44745fae5938ba8227f8" }, | |||
"indent-blankline.nvim": { "branch": "master", "commit": "9637670896b68805430e2f72cf5d16be5b97a22a" }, | |||
"lazy.nvim": { "branch": "main", "commit": "3ad55ae678876516156cca2f361c51f7952a924b" }, | |||
"lualine.nvim": { "branch": "master", "commit": "45e27ca739c7be6c49e5496d14fcf45a303c3a63" }, | |||
"mason-lspconfig.nvim": { "branch": "main", "commit": "dfdd771b792fbb4bad8e057d72558255695aa1a7" }, | |||
"mason.nvim": { "branch": "main", "commit": "ee6a7f179ebf8aa9da9d53b1cf1b57d292ea0182" }, | |||
"mini.ai": { "branch": "main", "commit": "7ae226f331885e6f30e9a8229e113debc59308ae" }, | |||
"mini.bufremove": { "branch": "main", "commit": "7821606e35c1ac931b56d8e3155f45ffe76ee7e5" }, | |||
"mini.comment": { "branch": "main", "commit": "877acea5b2a32ff55f808fc0ebe9aa898648318c" }, | |||
"mini.indentscope": { "branch": "main", "commit": "f60e9b51a6214c73a170ffc5445ce91560981031" }, | |||
"mini.pairs": { "branch": "main", "commit": "dfa9f6e2576bb8853be277d96b735af59d9be7c2" }, | |||
"mini.starter": { "branch": "main", "commit": "c7e027558477838eac7109d8576ff1f2d9804845" }, | |||
"mini.surround": { "branch": "main", "commit": "9d1956b576d7051da3a483b251dfc778121c60db" }, | |||
"neo-tree.nvim": { "branch": "v3.x", "commit": "2d89ca96e08eb6e9c8e50e1bb4738bc5125c9f12" }, | |||
"neoconf.nvim": { "branch": "main", "commit": "4a344462d45a08e81b19aa3d63d2bfe06404eec0" }, | |||
"neodev.nvim": { "branch": "main", "commit": "dcd34653b0f1d3e7ea9aeb3e37dc7c8da445c4fe" }, | |||
"noice.nvim": { "branch": "main", "commit": "74c2902146b080035beb19944baf6f014a954720" }, | |||
"nui.nvim": { "branch": "main", "commit": "c8de23342caf8d50b15d6b28368d36a56a69d76f" }, | |||
"null-ls.nvim": { "branch": "main", "commit": "0010ea927ab7c09ef0ce9bf28c2b573fc302f5a7" }, | |||
"nvim-cmp": { "branch": "main", "commit": "5dce1b778b85c717f6614e3f4da45e9f19f54435" }, | |||
"nvim-lspconfig": { "branch": "master", "commit": "d177ad277a638f262edb73c75ffe33e377b95dc5" }, | |||
"nvim-navic": { "branch": "master", "commit": "9c89730da6a05acfeb6a197e212dfadf5aa60ca0" }, | |||
"nvim-notify": { "branch": "master", "commit": "ea9c8ce7a37f2238f934e087c255758659948e0f" }, | |||
"nvim-spectre": { "branch": "master", "commit": "411cee67fe3f8242023eb8d9edafefbbfb2d06f1" }, | |||
"nvim-treesitter": { "branch": "master", "commit": "c13e28f8947a9200e816038d85cb1302be11f8e6" }, | |||
"nvim-treesitter-textobjects": { "branch": "master", "commit": "bd103502252027434ec42f628d2dbf54821d4ce6" }, | |||
"nvim-ts-context-commentstring": { "branch": "main", "commit": "9bff161dfece6ecf3459e6e46ca42e49f9ed939f" }, | |||
"nvim-web-devicons": { "branch": "master", "commit": "ecdeb4e2a4af34fc873bbfbf1f4c4e447e632255" }, | |||
"persistence.nvim": { "branch": "main", "commit": "4b8051c01f696d8849a5cb8afa9767be8db16e40" }, | |||
"plenary.nvim": { "branch": "master", "commit": "a56bf0071bf63d35274fdc4738bb1e8821cfd2ea" }, | |||
"symbols-outline.nvim": { "branch": "master", "commit": "512791925d57a61c545bc303356e8a8f7869763c" }, | |||
"telescope-fzf-native.nvim": { "branch": "main", "commit": "9bc8237565ded606e6c366a71c64c0af25cd7a50" }, | |||
"telescope.nvim": { "branch": "master", "commit": "18f10f28007cb8b4d50324217349c3f568684be2" }, | |||
"todo-comments.nvim": { "branch": "main", "commit": "3094ead8edfa9040de2421deddec55d3762f64d1" }, | |||
"tokyonight.nvim": { "branch": "main", "commit": "9a01eada39558dc3243278e6805d90e8dff45dc0" }, | |||
"typescript.nvim": { "branch": "main", "commit": "4de85ef699d7e6010528dcfbddc2ed4c2c421467" }, | |||
"vim-illuminate": { "branch": "master", "commit": "76f28e858f1caae87bfa45fb4fd09e4b053fc45b" }, | |||
"vim-startuptime": { "branch": "master", "commit": "454b3de856b7bd298700de33d79774ca9b9e3875" }, | |||
"which-key.nvim": { "branch": "main", "commit": "7ccf476ebe0445a741b64e36c78a682c1c6118b7" } | |||
} |
@@ -0,0 +1,3 @@ | |||
-- Autocmds are automatically loaded on the VeryLazy event | |||
-- Default autocmds that are always set: https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/config/autocmds.lua | |||
-- Add any additional autocmds here |
@@ -0,0 +1,3 @@ | |||
-- Keymaps are automatically loaded on the VeryLazy event | |||
-- Default keymaps that are always set: https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/config/keymaps.lua | |||
-- Add any additional keymaps here |
@@ -0,0 +1,46 @@ | |||
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim" | |||
if not vim.loop.fs_stat(lazypath) then | |||
-- bootstrap lazy.nvim | |||
-- stylua: ignore | |||
vim.fn.system({ "git", "clone", "--filter=blob:none", "https://github.com/folke/lazy.nvim.git", "--branch=stable", lazypath }) | |||
end | |||
vim.opt.rtp:prepend(vim.env.LAZY or lazypath) | |||
require("lazy").setup({ | |||
spec = { | |||
-- add LazyVim and import its plugins | |||
{ "LazyVim/LazyVim", import = "lazyvim.plugins" }, | |||
-- import any extras modules here | |||
-- { import = "lazyvim.plugins.extras.lang.typescript" }, | |||
-- { import = "lazyvim.plugins.extras.lang.json" }, | |||
-- { import = "lazyvim.plugins.extras.ui.mini-animate" }, | |||
-- import/override with your plugins | |||
{ import = "plugins" }, | |||
}, | |||
defaults = { | |||
-- By default, only LazyVim plugins will be lazy-loaded. Your custom plugins will load during startup. | |||
-- If you know what you're doing, you can set this to `true` to have all your custom plugins lazy-loaded by default. | |||
lazy = false, | |||
-- It's recommended to leave version=false for now, since a lot the plugin that support versioning, | |||
-- have outdated releases, which may break your Neovim install. | |||
version = false, -- always use the latest git commit | |||
-- version = "*", -- try installing the latest stable version for plugins that support semver | |||
}, | |||
install = { colorscheme = { "tokyonight", "habamax" } }, | |||
checker = { enabled = true }, -- automatically check for plugin updates | |||
performance = { | |||
rtp = { | |||
-- disable some rtp plugins | |||
disabled_plugins = { | |||
"gzip", | |||
-- "matchit", | |||
-- "matchparen", | |||
-- "netrwPlugin", | |||
"tarPlugin", | |||
"tohtml", | |||
"tutor", | |||
"zipPlugin", | |||
}, | |||
}, | |||
}, | |||
}) |
@@ -0,0 +1,3 @@ | |||
-- Options are automatically loaded before lazy.nvim startup | |||
-- Default options that are always set: https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/config/options.lua | |||
-- Add any additional options here |
@@ -0,0 +1,297 @@ | |||
-- stylua: ignore | |||
-- every spec file under the "plugins" directory will be loaded automatically by lazy.nvim | |||
-- | |||
-- In your plugin files, you can: | |||
-- * add extra plugins | |||
-- * disable/enabled LazyVim plugins | |||
-- * override the configuration of LazyVim plugins | |||
return { | |||
{ | |||
"catppuccin/nvim", | |||
lazy = true, | |||
name = "catppuccin", | |||
opts = { | |||
integrations = { | |||
alpha = true, | |||
cmp = true, | |||
gitsigns = true, | |||
illuminate = true, | |||
indent_blankline = { enabled = true }, | |||
lsp_trouble = true, | |||
mason = true, | |||
mini = true, | |||
native_lsp = { | |||
enabled = true, | |||
underlines = { | |||
errors = { "undercurl" }, | |||
hints = { "undercurl" }, | |||
warnings = { "undercurl" }, | |||
information = { "undercurl" }, | |||
}, | |||
}, | |||
navic = { enabled = true, custom_bg = "lualine" }, | |||
neotest = true, | |||
noice = true, | |||
notify = true, | |||
neotree = true, | |||
semantic_tokens = true, | |||
telescope = true, | |||
treesitter = true, | |||
which_key = true, | |||
}, | |||
}, | |||
}, | |||
-- Configure LazyVim to load gruvbox | |||
{ | |||
"LazyVim/LazyVim", | |||
opts = { | |||
colorscheme = "catppuccin-latte", | |||
}, | |||
}, | |||
-- change trouble config | |||
{ | |||
"folke/trouble.nvim", | |||
-- opts will be merged with the parent spec | |||
opts = { use_diagnostic_signs = true }, | |||
}, | |||
-- disable trouble | |||
{ "folke/trouble.nvim", enabled = false }, | |||
-- add symbols-outline | |||
{ | |||
"simrat39/symbols-outline.nvim", | |||
cmd = "SymbolsOutline", | |||
keys = { { "<leader>cs", "<cmd>SymbolsOutline<cr>", desc = "Symbols Outline" } }, | |||
config = true, | |||
}, | |||
-- override nvim-cmp and add cmp-emoji | |||
{ | |||
"hrsh7th/nvim-cmp", | |||
dependencies = { "hrsh7th/cmp-emoji" }, | |||
---@param opts cmp.ConfigSchema | |||
opts = function(_, opts) | |||
local cmp = require("cmp") | |||
opts.sources = cmp.config.sources(vim.list_extend(opts.sources, { { name = "emoji" } })) | |||
end, | |||
}, | |||
-- change some telescope options and a keymap to browse plugin files | |||
{ | |||
"nvim-telescope/telescope.nvim", | |||
keys = { | |||
-- add a keymap to browse plugin files | |||
-- stylua: ignore | |||
{ | |||
"<leader>fp", | |||
function() require("telescope.builtin").find_files({ cwd = require("lazy.core.config").options.root }) end, | |||
desc = "Find Plugin File", | |||
}, | |||
}, | |||
-- change some options | |||
opts = { | |||
defaults = { | |||
layout_strategy = "horizontal", | |||
layout_config = { prompt_position = "top" }, | |||
sorting_strategy = "ascending", | |||
winblend = 0, | |||
}, | |||
}, | |||
}, | |||
-- add telescope-fzf-native | |||
{ | |||
"telescope.nvim", | |||
dependencies = { | |||
"nvim-telescope/telescope-fzf-native.nvim", | |||
build = "make", | |||
config = function() | |||
require("telescope").load_extension("fzf") | |||
end, | |||
}, | |||
}, | |||
-- add pyright to lspconfig | |||
{ | |||
"neovim/nvim-lspconfig", | |||
---@class PluginLspOpts | |||
opts = { | |||
---@type lspconfig.options | |||
servers = { | |||
-- pyright will be automatically installed with mason and loaded with lspconfig | |||
pyright = {}, | |||
}, | |||
}, | |||
}, | |||
-- add tsserver and setup with typescript.nvim instead of lspconfig | |||
{ | |||
"neovim/nvim-lspconfig", | |||
dependencies = { | |||
"jose-elias-alvarez/typescript.nvim", | |||
init = function() | |||
require("lazyvim.util").on_attach(function(_, buffer) | |||
-- stylua: ignore | |||
vim.keymap.set( "n", "<leader>co", "TypescriptOrganizeImports", { buffer = buffer, desc = "Organize Imports" }) | |||
vim.keymap.set("n", "<leader>cR", "TypescriptRenameFile", { desc = "Rename File", buffer = buffer }) | |||
end) | |||
end, | |||
}, | |||
---@class PluginLspOpts | |||
opts = { | |||
---@type lspconfig.options | |||
servers = { | |||
-- tsserver will be automatically installed with mason and loaded with lspconfig | |||
tsserver = {}, | |||
}, | |||
-- you can do any additional lsp server setup here | |||
-- return true if you don't want this server to be setup with lspconfig | |||
---@type table<string, fun(server:string, opts:_.lspconfig.options):boolean?> | |||
setup = { | |||
-- example to setup with typescript.nvim | |||
tsserver = function(_, opts) | |||
require("typescript").setup({ server = opts }) | |||
return true | |||
end, | |||
-- Specify * to use this function as a fallback for any server | |||
-- ["*"] = function(server, opts) end, | |||
}, | |||
}, | |||
}, | |||
-- for typescript, LazyVim also includes extra specs to properly setup lspconfig, | |||
-- treesitter, mason and typescript.nvim. So instead of the above, you can use: | |||
{ import = "lazyvim.plugins.extras.lang.typescript" }, | |||
-- add more treesitter parsers | |||
{ | |||
"nvim-treesitter/nvim-treesitter", | |||
opts = { | |||
ensure_installed = { | |||
"bash", | |||
"html", | |||
"javascript", | |||
"json", | |||
"lua", | |||
"markdown", | |||
"markdown_inline", | |||
"python", | |||
"query", | |||
"regex", | |||
"tsx", | |||
"typescript", | |||
"vim", | |||
"yaml", | |||
}, | |||
}, | |||
}, | |||
-- since `vim.tbl_deep_extend`, can only merge tables and not lists, the code above | |||
-- would overwrite `ensure_installed` with the new value. | |||
-- If you'd rather extend the default config, use the code below instead: | |||
{ | |||
"nvim-treesitter/nvim-treesitter", | |||
opts = function(_, opts) | |||
-- add tsx and treesitter | |||
vim.list_extend(opts.ensure_installed, { | |||
"tsx", | |||
"typescript", | |||
}) | |||
end, | |||
}, | |||
-- the opts function can also be used to change the default opts: | |||
{ | |||
"nvim-lualine/lualine.nvim", | |||
event = "VeryLazy", | |||
opts = function(_, opts) | |||
table.insert(opts.sections.lualine_x, "😄") | |||
end, | |||
}, | |||
-- or you can return new options to override all the defaults | |||
{ | |||
"nvim-lualine/lualine.nvim", | |||
event = "VeryLazy", | |||
opts = function() | |||
return { | |||
--[[add your custom lualine config here]] | |||
} | |||
end, | |||
}, | |||
-- use mini.starter instead of alpha | |||
{ import = "lazyvim.plugins.extras.ui.mini-starter" }, | |||
-- add jsonls and schemastore packages, and setup treesitter for json, json5 and jsonc | |||
{ import = "lazyvim.plugins.extras.lang.json" }, | |||
-- add any tools you want to have installed below | |||
{ | |||
"williamboman/mason.nvim", | |||
opts = { | |||
ensure_installed = { | |||
"stylua", | |||
"shellcheck", | |||
"shfmt", | |||
"flake8", | |||
}, | |||
}, | |||
}, | |||
-- Use <tab> for completion and snippets (supertab) | |||
-- first: disable default <tab> and <s-tab> behavior in LuaSnip | |||
{ | |||
"L3MON4D3/LuaSnip", | |||
keys = function() | |||
return {} | |||
end, | |||
}, | |||
-- then: setup supertab in cmp | |||
{ | |||
"hrsh7th/nvim-cmp", | |||
dependencies = { | |||
"hrsh7th/cmp-emoji", | |||
}, | |||
---@param opts cmp.ConfigSchema | |||
opts = function(_, opts) | |||
local has_words_before = function() | |||
unpack = unpack or table.unpack | |||
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 luasnip = require("luasnip") | |||
local cmp = require("cmp") | |||
opts.mapping = vim.tbl_extend("force", opts.mapping, { | |||
["<Tab>"] = cmp.mapping(function(fallback) | |||
if cmp.visible() then | |||
cmp.select_next_item() | |||
-- You could replace the expand_or_jumpable() calls with expand_or_locally_jumpable() | |||
-- this way you will only jump inside the snippet region | |||
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(fallback) | |||
if cmp.visible() then | |||
cmp.select_prev_item() | |||
elseif luasnip.jumpable(-1) then | |||
luasnip.jump(-1) | |||
else | |||
fallback() | |||
end | |||
end, { "i", "s" }), | |||
}) | |||
end, | |||
}, | |||
} |
@@ -1,34 +0,0 @@ | |||
local function map(kind, lhs, rhs, opts) | |||
vim.api.nvim_set_keymap(kind, lhs, rhs, opts) | |||
end | |||
local sn = {noremap = true, silent = true} | |||
map('i', '\"', '\"\"<left>', sn) | |||
map('i', '\'', '\'\'<left>', sn) | |||
map('i', '(', '()<left>', sn) | |||
map('i', '[', '[]<left>', sn) | |||
map('i', '{', '{}<left>', sn) | |||
map('i', '{<CR>', '{<CR>}<ESC>O', sn) | |||
map('i', '{;<CR>', '{<CR>};<ESC>O', sn) | |||
map('n', '<F11>', ':set spell!<CR>', sn) | |||
map('i', '<F11>', '<C-O>:set spell!<CR>', sn) | |||
map('v', '<', '<gv', sn) | |||
map('v', '>', '>gv', sn) | |||
map('n', '<C-h>', '<C-w>h', sn) | |||
map('n', '<C-j>', '<C-w>j', sn) | |||
map('n', '<C-k>', '<C-w>k', sn) | |||
map('n', '<C-l>', '<C-w>l', sn) | |||
map('n', '<Leader>c', ':w! | !make <CR>', sn) | |||
map('n', '<Leader>n', ':NERDTreeToggle<CR>', sn) | |||
map('n', '<Leader>l', ':Limelight!! 0.5 <CR>', sn) |
@@ -1,120 +0,0 @@ | |||
local opts = { noremap = true, silent = true } | |||
vim.keymap.set('n', '<space>e', vim.diagnostic.open_float, opts) | |||
vim.keymap.set('n', '[d', vim.diagnostic.goto_prev, opts) | |||
vim.keymap.set('n', ']d', vim.diagnostic.goto_next, opts) | |||
vim.keymap.set('n', '<space>q', vim.diagnostic.setloclist, opts) | |||
local on_attach = function(client, bufnr) | |||
-- Enable completion triggered by <c-x><c-o> | |||
vim.api.nvim_buf_set_option(bufnr, 'omnifunc', 'v:lua.vim.lsp.omnifunc') | |||
-- Mappings. | |||
-- See `:help vim.lsp.*` for documentation on any of the below functions | |||
local bufopts = { noremap = true, silent = true, buffer = bufnr } | |||
vim.keymap.set('n', 'gD', vim.lsp.buf.declaration, bufopts) | |||
vim.keymap.set('n', 'gd', vim.lsp.buf.definition, bufopts) | |||
vim.keymap.set('n', 'K', vim.lsp.buf.hover, bufopts) | |||
vim.keymap.set('n', 'gi', vim.lsp.buf.implementation, bufopts) | |||
vim.keymap.set('n', '<C-k>', vim.lsp.buf.signature_help, bufopts) | |||
vim.keymap.set('n', '<space>wa', vim.lsp.buf.add_workspace_folder, bufopts) | |||
vim.keymap.set('n', '<space>wr', vim.lsp.buf.remove_workspace_folder, bufopts) | |||
vim.keymap.set('n', '<space>wl', function() | |||
print(vim.inspect(vim.lsp.buf.list_workspace_folders())) | |||
end, bufopts) | |||
vim.keymap.set('n', '<space>D', vim.lsp.buf.type_definition, bufopts) | |||
vim.keymap.set('n', '<space>rn', vim.lsp.buf.rename, bufopts) | |||
vim.keymap.set('n', '<space>ca', vim.lsp.buf.code_action, bufopts) | |||
vim.keymap.set('n', 'gr', vim.lsp.buf.references, bufopts) | |||
vim.keymap.set('n', '<space>f', vim.lsp.buf.formatting, bufopts) | |||
end | |||
local lsp_flags = { | |||
-- This is the default in Nvim 0.7+ | |||
debounce_text_changes = 150, | |||
} | |||
local servers = { 'tsserver', 'rust_analyzer', 'clangd', 'sumneko_lua' } | |||
local lspconfig = require('lspconfig') | |||
lspconfig['sumneko_lua'].setup { | |||
on_attach = on_attach, | |||
flags = lsp_flags, | |||
settings = { | |||
Lua = { | |||
runtime = { | |||
-- Tell the language server which version of Lua you're using (most likely LuaJIT in the case of Neovim) | |||
version = 'LuaJIT', | |||
}, | |||
diagnostics = { | |||
-- Get the language server to recognize the `vim` global | |||
globals = { 'vim' }, | |||
}, | |||
workspace = { | |||
-- Make the server aware of Neovim runtime files | |||
library = vim.api.nvim_get_runtime_file("", true), | |||
}, | |||
-- Do not send telemetry data containing a randomized but unique identifier | |||
telemetry = { | |||
enable = false, | |||
}, | |||
}, | |||
}, | |||
} | |||
local capabilities = vim.lsp.protocol.make_client_capabilities() | |||
capabilities = require('cmp_nvim_lsp').update_capabilities(capabilities) | |||
for _, lsp in ipairs(servers) do | |||
lspconfig[lsp].setup { | |||
on_attach = on_attach, | |||
flags = lsp_flags, | |||
capabilities = capabilities, | |||
} | |||
end | |||
local luasnip = require 'luasnip' | |||
local cmp = require 'cmp' | |||
cmp.setup { | |||
snippet = { | |||
expand = function(args) | |||
luasnip.lsp_expand(args.body) | |||
end, | |||
}, | |||
mapping = cmp.mapping.preset.insert({ | |||
['<C-d>'] = cmp.mapping.scroll_docs(-4), | |||
['<C-f>'] = cmp.mapping.scroll_docs(4), | |||
['<C-Space>'] = cmp.mapping.complete(), | |||
['<CR>'] = cmp.mapping.confirm { | |||
behavior = cmp.ConfirmBehavior.Replace, | |||
select = true, | |||
}, | |||
['<Tab>'] = cmp.mapping(function(fallback) | |||
if cmp.visible() then | |||
cmp.select_next_item() | |||
elseif luasnip.expand_or_jumpable() then | |||
luasnip.expand_or_jump() | |||
else | |||
fallback() | |||
end | |||
end, { 'i', 's' }), | |||
['<S-Tab>'] = cmp.mapping(function(fallback) | |||
if cmp.visible() then | |||
cmp.select_prev_item() | |||
elseif luasnip.jumpable(-1) then | |||
luasnip.jump(-1) | |||
else | |||
fallback() | |||
end | |||
end, { 'i', 's' }), | |||
}), | |||
sources = { | |||
{ name = 'nvim_lsp' }, | |||
{ name = 'luasnip' }, | |||
}, | |||
} |
@@ -1,31 +0,0 @@ | |||
vim.api.nvim_create_autocmd('BufWritePost', { | |||
group = vim.api.nvim_create_augroup('PACKER', { clear = true }), | |||
pattern = 'plugins.lua', | |||
command = 'source <afile> | PackerCompile', | |||
}) | |||
require('mason').setup() | |||
return require('packer').startup(function(use) | |||
use 'wbthomason/packer.nvim' | |||
use 'glepnir/dashboard-nvim' | |||
use 'joshdick/onedark.vim' | |||
use 'itchyny/lightline.vim' | |||
use 'scrooloose/nerdtree' | |||
use 'tiagofumo/vim-nerdtree-syntax-highlight' | |||
use 'ryanoasis/vim-devicons' | |||
use 'ap/vim-css-color' | |||
use 'vim-syntastic/syntastic' | |||
use 'rhysd/vim-clang-format' | |||
use 'lambdalisue/suda.vim' | |||
use 'neovim/nvim-lspconfig' | |||
use 'jackguo380/vim-lsp-cxx-highlight' | |||
use 'williamboman/mason.nvim' | |||
use 'hrsh7th/nvim-cmp' -- Autocompletion plugin | |||
use 'hrsh7th/cmp-nvim-lsp' -- LSP source for nvim-cmp | |||
use 'saadparwaiz1/cmp_luasnip' -- Snippets source for nvim-cmp | |||
use 'L3MON4D3/LuaSnip' -- Snippets plugin | |||
-- TODO: add telescope and other useful plugins | |||
end) | |||
@@ -1,81 +0,0 @@ | |||
local g = vim.g | |||
local o = vim.o | |||
local api = vim.api | |||
local opt = vim.opt | |||
local cmd = vim.cmd | |||
local home = os.getenv('HOME') | |||
o.timeoutlen = 500 | |||
o.updatetime = 200 | |||
o.scrolloff = 8 | |||
o.number = true | |||
o.relativenumber = true | |||
o.signcolumn = 'yes:1' | |||
o.expandtab = true | |||
o.cindent = true | |||
o.wrap = false | |||
o.textwidth = 300 | |||
o.tabstop = 4 | |||
o.shiftwidth = 0 | |||
o.softtabstop = -1 -- If negative, shiftwidth value is used | |||
o.list = true | |||
o.listchars = 'trail:·,nbsp:◇,tab:→ ,extends:▸,precedes:◂' | |||
o.clipboard = 'unnamedplus' | |||
opt.mouse = 'a' | |||
o.ignorecase = true | |||
o.smartcase = true | |||
o.backup = false | |||
o.writebackup = false | |||
o.undofile = true | |||
o.undodir = home .. '/.vim/undodir' | |||
o.swapfile = false | |||
o.splitright = true | |||
o.splitbelow = true | |||
g.lightline = {colorscheme = 'onedark'} | |||
g.mapleader = ' ' | |||
g.maplocalleader = ' ' | |||
o.termguicolors = true | |||
api.nvim_create_autocmd('ColorScheme', { | |||
command = [[ | |||
highlight clear CursorLine | |||
highlight Normal ctermbg=none | |||
highlight Normal guibg=none | |||
highlight LineNr ctermbg=none | |||
highlight LineNr guibg=none | |||
highlight Folded ctermbg=none | |||
highlight Folded guibg=none | |||
highlight NonText ctermbg=none | |||
highlight NonText guibg=none | |||
highlight SpecialKey ctermbg=none | |||
highlight SpecialKey guibg=none | |||
highlight VertSplit ctermbg=none | |||
highlight VertSplit guibg=none | |||
highlight SignColumn ctermbg=none | |||
highlight SignColumn guibg=none | |||
]] | |||
}) | |||
cmd('colorscheme onedark') | |||
@@ -1,184 +0,0 @@ | |||
if vim.api.nvim_call_function('has', {'nvim-0.5'}) ~= 1 then | |||
vim.api.nvim_command('echohl WarningMsg | echom "Invalid Neovim version for packer.nvim! | echohl None"') | |||
return | |||
end | |||
vim.api.nvim_command('packadd packer.nvim') | |||
local no_errors, error_msg = pcall(function() | |||
_G._packer = _G._packer or {} | |||
_G._packer.inside_compile = true | |||
local time | |||
local profile_info | |||
local should_profile = false | |||
if should_profile then | |||
local hrtime = vim.loop.hrtime | |||
profile_info = {} | |||
time = function(chunk, start) | |||
if start then | |||
profile_info[chunk] = hrtime() | |||
else | |||
profile_info[chunk] = (hrtime() - profile_info[chunk]) / 1e6 | |||
end | |||
end | |||
else | |||
time = function(chunk, start) end | |||
end | |||
local function save_profiles(threshold) | |||
local sorted_times = {} | |||
for chunk_name, time_taken in pairs(profile_info) do | |||
sorted_times[#sorted_times + 1] = {chunk_name, time_taken} | |||
end | |||
table.sort(sorted_times, function(a, b) return a[2] > b[2] end) | |||
local results = {} | |||
for i, elem in ipairs(sorted_times) do | |||
if not threshold or threshold and elem[2] > threshold then | |||
results[i] = elem[1] .. ' took ' .. elem[2] .. 'ms' | |||
end | |||
end | |||
if threshold then | |||
table.insert(results, '(Only showing plugins that took longer than ' .. threshold .. ' ms ' .. 'to load)') | |||
end | |||
_G._packer.profile_output = results | |||
end | |||
time([[Luarocks path setup]], true) | |||
local package_path_str = "/home/rinri/.cache/nvim/packer_hererocks/2.1.0-beta3/share/lua/5.1/?.lua;/home/rinri/.cache/nvim/packer_hererocks/2.1.0-beta3/share/lua/5.1/?/init.lua;/home/rinri/.cache/nvim/packer_hererocks/2.1.0-beta3/lib/luarocks/rocks-5.1/?.lua;/home/rinri/.cache/nvim/packer_hererocks/2.1.0-beta3/lib/luarocks/rocks-5.1/?/init.lua" | |||
local install_cpath_pattern = "/home/rinri/.cache/nvim/packer_hererocks/2.1.0-beta3/lib/lua/5.1/?.so" | |||
if not string.find(package.path, package_path_str, 1, true) then | |||
package.path = package.path .. ';' .. package_path_str | |||
end | |||
if not string.find(package.cpath, install_cpath_pattern, 1, true) then | |||
package.cpath = package.cpath .. ';' .. install_cpath_pattern | |||
end | |||
time([[Luarocks path setup]], false) | |||
time([[try_loadstring definition]], true) | |||
local function try_loadstring(s, component, name) | |||
local success, result = pcall(loadstring(s), name, _G.packer_plugins[name]) | |||
if not success then | |||
vim.schedule(function() | |||
vim.api.nvim_notify('packer.nvim: Error running ' .. component .. ' for ' .. name .. ': ' .. result, vim.log.levels.ERROR, {}) | |||
end) | |||
end | |||
return result | |||
end | |||
time([[try_loadstring definition]], false) | |||
time([[Defining packer_plugins]], true) | |||
_G.packer_plugins = { | |||
LuaSnip = { | |||
loaded = true, | |||
path = "/home/rinri/.local/share/nvim/site/pack/packer/start/LuaSnip", | |||
url = "https://github.com/L3MON4D3/LuaSnip" | |||
}, | |||
["cmp-nvim-lsp"] = { | |||
loaded = true, | |||
path = "/home/rinri/.local/share/nvim/site/pack/packer/start/cmp-nvim-lsp", | |||
url = "https://github.com/hrsh7th/cmp-nvim-lsp" | |||
}, | |||
cmp_luasnip = { | |||
loaded = true, | |||
path = "/home/rinri/.local/share/nvim/site/pack/packer/start/cmp_luasnip", | |||
url = "https://github.com/saadparwaiz1/cmp_luasnip" | |||
}, | |||
["dashboard-nvim"] = { | |||
loaded = true, | |||
path = "/home/rinri/.local/share/nvim/site/pack/packer/start/dashboard-nvim", | |||
url = "https://github.com/glepnir/dashboard-nvim" | |||
}, | |||
["lightline.vim"] = { | |||
loaded = true, | |||
path = "/home/rinri/.local/share/nvim/site/pack/packer/start/lightline.vim", | |||
url = "https://github.com/itchyny/lightline.vim" | |||
}, | |||
["mason.nvim"] = { | |||
loaded = true, | |||
path = "/home/rinri/.local/share/nvim/site/pack/packer/start/mason.nvim", | |||
url = "https://github.com/williamboman/mason.nvim" | |||
}, | |||
nerdtree = { | |||
loaded = true, | |||
path = "/home/rinri/.local/share/nvim/site/pack/packer/start/nerdtree", | |||
url = "https://github.com/scrooloose/nerdtree" | |||
}, | |||
["nvim-cmp"] = { | |||
loaded = true, | |||
path = "/home/rinri/.local/share/nvim/site/pack/packer/start/nvim-cmp", | |||
url = "https://github.com/hrsh7th/nvim-cmp" | |||
}, | |||
["nvim-lspconfig"] = { | |||
loaded = true, | |||
path = "/home/rinri/.local/share/nvim/site/pack/packer/start/nvim-lspconfig", | |||
url = "https://github.com/neovim/nvim-lspconfig" | |||
}, | |||
["onedark.vim"] = { | |||
loaded = true, | |||
path = "/home/rinri/.local/share/nvim/site/pack/packer/start/onedark.vim", | |||
url = "https://github.com/joshdick/onedark.vim" | |||
}, | |||
["packer.nvim"] = { | |||
loaded = true, | |||
path = "/home/rinri/.local/share/nvim/site/pack/packer/start/packer.nvim", | |||
url = "https://github.com/wbthomason/packer.nvim" | |||
}, | |||
["suda.vim"] = { | |||
loaded = true, | |||
path = "/home/rinri/.local/share/nvim/site/pack/packer/start/suda.vim", | |||
url = "https://github.com/lambdalisue/suda.vim" | |||
}, | |||
syntastic = { | |||
loaded = true, | |||
path = "/home/rinri/.local/share/nvim/site/pack/packer/start/syntastic", | |||
url = "https://github.com/vim-syntastic/syntastic" | |||
}, | |||
["vim-clang-format"] = { | |||
loaded = true, | |||
path = "/home/rinri/.local/share/nvim/site/pack/packer/start/vim-clang-format", | |||
url = "https://github.com/rhysd/vim-clang-format" | |||
}, | |||
["vim-css-color"] = { | |||
loaded = true, | |||
path = "/home/rinri/.local/share/nvim/site/pack/packer/start/vim-css-color", | |||
url = "https://github.com/ap/vim-css-color" | |||
}, | |||
["vim-devicons"] = { | |||
loaded = true, | |||
path = "/home/rinri/.local/share/nvim/site/pack/packer/start/vim-devicons", | |||
url = "https://github.com/ryanoasis/vim-devicons" | |||
}, | |||
["vim-lsp-cxx-highlight"] = { | |||
loaded = true, | |||
path = "/home/rinri/.local/share/nvim/site/pack/packer/start/vim-lsp-cxx-highlight", | |||
url = "https://github.com/jackguo380/vim-lsp-cxx-highlight" | |||
}, | |||
["vim-nerdtree-syntax-highlight"] = { | |||
loaded = true, | |||
path = "/home/rinri/.local/share/nvim/site/pack/packer/start/vim-nerdtree-syntax-highlight", | |||
url = "https://github.com/tiagofumo/vim-nerdtree-syntax-highlight" | |||
} | |||
} | |||
time([[Defining packer_plugins]], false) | |||
_G._packer.inside_compile = false | |||
if _G._packer.needs_bufread == true then | |||
vim.cmd("doautocmd BufRead") | |||
end | |||
_G._packer.needs_bufread = false | |||
if should_profile then save_profiles() end | |||
end) | |||
if not no_errors then | |||
error_msg = error_msg:gsub('"', '\\"') | |||
vim.api.nvim_command('echohl ErrorMsg | echom "Error in packer_compiled: '..error_msg..'" | echom "Please check your config for correctness" | echohl None') | |||
end |
@@ -0,0 +1,3 @@ | |||
indent_type = "Spaces" | |||
indent_width = 2 | |||
column_width = 120 |
@@ -8,14 +8,14 @@ glx-no-rebind-pixmap = true; | |||
opacity-rule = [ | |||
"90:class_g = 'URxvt'", | |||
"90:class_g = 'Alacritty'", | |||
"95:class_g = 'St' && focused", | |||
"87:class_g = 'St' && !focused", | |||
"100:class_g = 'St' && focused", | |||
"95:class_g = 'St' && !focused", | |||
"95:class_g = 'cmus' && focused", | |||
"87:class_g = 'cmus' && !focused", | |||
"95:class_g = 'cpsrc' && focused", | |||
"87:class_g = 'cpsrc' && !focused", | |||
"90:class_g = 'tabbed'", | |||
"95:class_g = 'Emacs'", | |||
"100:class_g = 'Emacs'", | |||
]; | |||
# Blur | |||
@@ -1,4 +1,6 @@ | |||
export PATH=$PATH:/home/rinri/scripts:/home/rinri/scripts/Discord:/home/rinri/.local/bin | |||
#!/bin/sh | |||
export PATH="$PATH:/home/rinri/scripts:/home/rinri/.local/bin" | |||
while true; do | |||
# Log stderror to a file | |||
dwm 2> ~/.dwm.log | |||
@@ -37,10 +37,10 @@ bindkey -v | |||
# The following lines were added by compinstall | |||
zstyle :compinstall filename '/home/rinri/.zshrc' | |||
autoload -U compinit | |||
zmodload zsh/complist | |||
compinit | |||
_comp_options+=(globdots) | |||
#autoload -U compinit | |||
#zmodload zsh/complist | |||
#compinit | |||
#_comp_options+=(globdots) | |||
bindkey -s '^o' 'fzfcd\n' | |||
bindkey -M viins '\e.' insert-last-word | |||
@@ -69,3 +69,6 @@ export FZF_DEFAULT_OPTS="--height 50% -1 --reverse --multi --inline-info --previ | |||
if [ -e /home/rinri/.nix-profile/etc/profile.d/nix.sh ]; then . /home/rinri/.nix-profile/etc/profile.d/nix.sh; fi # added by Nix installer | |||
eval "$(starship init zsh)" | |||
autoload -U +X bashcompinit && bashcompinit | |||
complete -o nospace -C /usr/bin/terraform terraform |
@@ -11,19 +11,3 @@ | |||
- Notifications: [dunst](https://github.com/dunst-project/dunst) | |||
- Status bar: [slstatus](https://tools.suckless.org/slstatus/) | |||
- Wallpaper: [pixiv](https://www.pixiv.net/member_illust.php?mode=medium&illust_id=47154393) | |||
## Screenshots | |||
![clear](clear.jpg) | |||
![neofetch](neofetch.jpg) | |||
![cmus](cmus.jpg) | |||
![neovim](vim.jpg) | |||
![doom emacs](emacs.jpg) | |||
![dunst](dunst.jpg) | |||
![firefox](firefox.jpg) |
@@ -1,3 +0,0 @@ | |||
anime.sh | |||
upload.sh | |||
download.sh |
@@ -0,0 +1 @@ | |||
mount -a |
@@ -1,3 +0,0 @@ | |||
#!/bin/sh | |||
/home/rinri/scripts/root-notify.sh "Daily Fortune" "$(fortune|cowsay -W 35)" |
@@ -0,0 +1,2 @@ | |||
#!/bin/sh | |||
~/scripts/Discord/Discord |
@@ -0,0 +1 @@ | |||
xrandr --output HDMI-1 --same-as eDP-1 |
@@ -1,13 +1,13 @@ | |||
#!/bin/sh | |||
card=$(aplay -l | grep Analog | awk '{print $2}' | head -c-2) | |||
card=$(aplay -l | grep CODEC | awk '{print $2}' | head -c-2) | |||
if [ "$(amixer -c"$card" get "Capture" | grep -c "\[on\]")" -gt 0 ]; then | |||
[ $# -ge 1 ] && amixer -c"$card" set 'Capture' nocap | |||
[ $# -ge 1 ] && notify-send -t 700 -i "mic-off" "Microphone Muted!" | |||
printf "" | |||
[ $# -ge 1 ] && amixer -c"$card" set 'Capture' nocap | |||
[ $# -ge 1 ] && notify-send -t 700 -i "mic-off" "Microphone Muted!" | |||
printf "" | |||
else | |||
[ $# -ge 1 ] && amixer -c"$card" set 'Capture' cap | |||
[ $# -ge 1 ] && notify-send -t 700 -i "mic-on" "Microphone Activated!" | |||
printf "" | |||
[ $# -ge 1 ] && amixer -c"$card" set 'Capture' cap | |||
[ $# -ge 1 ] && notify-send -t 700 -i "mic-on" "Microphone Activated!" | |||
printf "" | |||
fi |
@@ -0,0 +1,3 @@ | |||
#!/bin/sh | |||
xclip -selection clipboard -t image/jpg -o > "$1" |
@@ -0,0 +1,4 @@ | |||
#!/bin/sh | |||
systemctl restart --user pipewire.service | |||
systemctl restart --user pipewire-pulse.service |
@@ -4,7 +4,7 @@ sl=25 # study session time in minutes | |||
bl=5 # break time in minutes | |||
bll=20 # long break time in minutes | |||
bls=4 # number of study sessions before long break | |||
ringtone="$HOME/Media/warcraft-soundtrack/2004 World of Warcraft/ringtone.flac" | |||
ringtone="$HOME/disks/Media/warcraft-soundtrack/2004 World of Warcraft/ringtone.flac" | |||
sessions=0 # number of sessions passed | |||
# if you kill and restart pomodoro.sh, you can specify the number of sessions passed | |||
@@ -36,8 +36,8 @@ do | |||
tl=$bll | |||
else | |||
state=1 | |||
printf "\rBreak time! Sessions done: %d\n" "$sessions" | |||
notify-send -i "media-playback-paused" "Break time!" | |||
printf "\rBreak time! Exercises (eyes, hands, and back) Sessions done: %d\n" "$sessions" | |||
notify-send -i "media-playback-paused" "Break time! Exercises (eyes, hands, and back)" | |||
mpv --no-vid --no-terminal "$ringtone" & | |||
tl=$bl | |||
fi | |||
@@ -60,4 +60,4 @@ do | |||
fi | |||
sleep 1 | |||
done | |||
done |
@@ -1,12 +0,0 @@ | |||
#!/bin/sh | |||
#Detect the name of the display in use | |||
display=":$(find /tmp/.X11-unix/* | sed 's#/tmp/.X11-unix/X##' | head -n 1)" | |||
#Detect the user using such display | |||
user="$(who | grep "tty1" | awk '{print $1}' | head -n 1)" | |||
#Detect the id of the user | |||
uid="$(id -u "$user")" | |||
sudo -u "$user" DISPLAY="$display" DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/"$uid"/bus notify-send "$@" |
@@ -1,3 +1,3 @@ | |||
#!/bin/sh | |||
notify-send "$(printf "`cal -m`\n`cal -m +1month`")" | |||
notify-send "$(printf "`cal -m`\n`cal -m $(date +%B --date="$(date +%Y-%m-15) next month")`")" |
@@ -1,7 +1,6 @@ | |||
#!/bin/sh | |||
month="$(LC_TIME=ja_JP.UTF-8 date "+%A")" | |||
day="$(LC_TIME=ja_JP.UTF-8 date "+%x")" | |||
time="$(date "+%H:%M")" | |||
month=`date "+%a"` | |||
day=`date "+%d.%m.%Y"` | |||
time=`date "+%H:%M"` | |||
printf "^c#222222^^b#a77bf2^ $month ^b#9863f2^ $day ^b#884cef^ $time " | |||
printf "^c#222222^^b#a77bf2^ %s ^b#9863f2^ %s ^b#884cef^ %s " "$month" "$day" "$time" |
@@ -0,0 +1,5 @@ | |||
curl -L "https://discord.com/api/download/stable?platform=linux&format=tar.gz" -o ~/scripts/discord.tar.gz | |||
rm -rf ~/scripts/Discord | |||
tar xf ~/scripts/discord.tar.gz -C ~/scripts/ | |||
rm ~/scripts/discord.tar.gz |
@@ -1,13 +0,0 @@ | |||
#!/bin/sh | |||
#Detect the name of the display in use | |||
display=":$(ls /tmp/.X11-unix/* | sed 's#/tmp/.X11-unix/X##' | head -n 1)" | |||
#Detect the user using such display | |||
user="$(who | grep "tty1" | awk '{print $1}' | head -n 1)" | |||
#Detect the id of the user | |||
uid="$(id -u $user)" | |||
pacman -Sy | |||
sudo -u $user DISPLAY=$display DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/$uid/bus notify-send -i "view-refresh" "Packages to update: $(pacman -Qqu | wc -l)" |
@@ -17,3 +17,5 @@ flameshot & | |||
eval "$(gnome-keyring-daemon --start)" & | |||
export SSH_AUTH_SOCK & | |||
easyeffects --gapplication-service & | |||
mount ~/nextcloud & | |||
sslocal -c vpnconf/ss.conf & |