From cbe33ee30cba9ae0c534789a778a80b6f1a5266c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sergio=20La=C3=ADn?= Date: Tue, 18 Jul 2023 17:21:49 +0200 Subject: [PATCH] spicetify changes, lazyvim installation an little config --- .config/nvim/.gitignore | 8 + .config/nvim/.neoconf.json | 15 + .config/nvim/LICENSE | 201 +++++++++++++ .config/nvim/README.md | 4 + .config/nvim/init.lua | 2 + .config/nvim/lazy-lock.json | 50 ++++ .config/nvim/lua/config/autocmds.lua | 3 + .config/nvim/lua/config/keymaps.lua | 3 + .config/nvim/lua/config/lazy.lua | 46 +++ .config/nvim/lua/config/options.lua | 3 + .config/nvim/lua/plugins/colorscheme.lua | 6 + .config/nvim/lua/plugins/example.lua | 266 +++++++++++++++++ .config/nvim/stylua.toml | 3 + .../assets/equalizer-animated-blue.gif | Bin 0 -> 2368 bytes .../assets/equalizer-animated-flamingo.gif | Bin 0 -> 2351 bytes .../assets/equalizer-animated-green.gif | Bin 0 -> 2377 bytes .../assets/equalizer-animated-lavender.gif | Bin 0 -> 2341 bytes .../assets/equalizer-animated-maroon.gif | Bin 0 -> 2350 bytes .../assets/equalizer-animated-mauve.gif | Bin 0 -> 2351 bytes .../assets/equalizer-animated-peach.gif | Bin 0 -> 2376 bytes .../assets/equalizer-animated-pink.gif | Bin 0 -> 2368 bytes .../assets/equalizer-animated-red.gif | Bin 0 -> 2445 bytes .../assets/equalizer-animated-rosewater.gif | Bin 0 -> 2351 bytes .../assets/equalizer-animated-sky.gif | Bin 0 -> 2368 bytes .../assets/equalizer-animated-teal.gif | Bin 0 -> 2372 bytes .../assets/equalizer-animated-white.gif | Bin 0 -> 4035 bytes .../assets/equalizer-animated-yellow.gif | Bin 0 -> 2391 bytes .../Themes/catppuccin-macchiato/color.ini | 234 +++++++++++++++ .../Themes/catppuccin-macchiato/user.css | 274 ++++++++++++++++++ .config/spicetify/config-xpui.ini | 2 +- 30 files changed, 1119 insertions(+), 1 deletion(-) create mode 100644 .config/nvim/.gitignore create mode 100644 .config/nvim/.neoconf.json create mode 100644 .config/nvim/LICENSE create mode 100644 .config/nvim/README.md create mode 100644 .config/nvim/init.lua create mode 100644 .config/nvim/lazy-lock.json create mode 100644 .config/nvim/lua/config/autocmds.lua create mode 100644 .config/nvim/lua/config/keymaps.lua create mode 100644 .config/nvim/lua/config/lazy.lua create mode 100644 .config/nvim/lua/config/options.lua create mode 100644 .config/nvim/lua/plugins/colorscheme.lua create mode 100644 .config/nvim/lua/plugins/example.lua create mode 100644 .config/nvim/stylua.toml create mode 100644 .config/spicetify/Themes/catppuccin-macchiato/assets/equalizer-animated-blue.gif create mode 100644 .config/spicetify/Themes/catppuccin-macchiato/assets/equalizer-animated-flamingo.gif create mode 100644 .config/spicetify/Themes/catppuccin-macchiato/assets/equalizer-animated-green.gif create mode 100644 .config/spicetify/Themes/catppuccin-macchiato/assets/equalizer-animated-lavender.gif create mode 100644 .config/spicetify/Themes/catppuccin-macchiato/assets/equalizer-animated-maroon.gif create mode 100644 .config/spicetify/Themes/catppuccin-macchiato/assets/equalizer-animated-mauve.gif create mode 100644 .config/spicetify/Themes/catppuccin-macchiato/assets/equalizer-animated-peach.gif create mode 100644 .config/spicetify/Themes/catppuccin-macchiato/assets/equalizer-animated-pink.gif create mode 100644 .config/spicetify/Themes/catppuccin-macchiato/assets/equalizer-animated-red.gif create mode 100644 .config/spicetify/Themes/catppuccin-macchiato/assets/equalizer-animated-rosewater.gif create mode 100644 .config/spicetify/Themes/catppuccin-macchiato/assets/equalizer-animated-sky.gif create mode 100644 .config/spicetify/Themes/catppuccin-macchiato/assets/equalizer-animated-teal.gif create mode 100644 .config/spicetify/Themes/catppuccin-macchiato/assets/equalizer-animated-white.gif create mode 100644 .config/spicetify/Themes/catppuccin-macchiato/assets/equalizer-animated-yellow.gif create mode 100644 .config/spicetify/Themes/catppuccin-macchiato/color.ini create mode 100644 .config/spicetify/Themes/catppuccin-macchiato/user.css diff --git a/.config/nvim/.gitignore b/.config/nvim/.gitignore new file mode 100644 index 00000000..cc5457ab --- /dev/null +++ b/.config/nvim/.gitignore @@ -0,0 +1,8 @@ +tt.* +.tests +doc/tags +debug +.repro +foo.* +*.log +data diff --git a/.config/nvim/.neoconf.json b/.config/nvim/.neoconf.json new file mode 100644 index 00000000..7c480874 --- /dev/null +++ b/.config/nvim/.neoconf.json @@ -0,0 +1,15 @@ +{ + "neodev": { + "library": { + "enabled": true, + "plugins": true + } + }, + "neoconf": { + "plugins": { + "lua_ls": { + "enabled": true + } + } + } +} diff --git a/.config/nvim/LICENSE b/.config/nvim/LICENSE new file mode 100644 index 00000000..261eeb9e --- /dev/null +++ b/.config/nvim/LICENSE @@ -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. diff --git a/.config/nvim/README.md b/.config/nvim/README.md new file mode 100644 index 00000000..185280b0 --- /dev/null +++ b/.config/nvim/README.md @@ -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. diff --git a/.config/nvim/init.lua b/.config/nvim/init.lua new file mode 100644 index 00000000..2514f9ed --- /dev/null +++ b/.config/nvim/init.lua @@ -0,0 +1,2 @@ +-- bootstrap lazy.nvim, LazyVim and your plugins +require("config.lazy") diff --git a/.config/nvim/lazy-lock.json b/.config/nvim/lazy-lock.json new file mode 100644 index 00000000..4558a2a1 --- /dev/null +++ b/.config/nvim/lazy-lock.json @@ -0,0 +1,50 @@ +{ + "LazyVim": { "branch": "main", "commit": "fb1f29c32c516601b4074d113202482769ef030e" }, + "LuaSnip": { "branch": "master", "commit": "1f72e43a446961a1372c54038882c1d36e105cab" }, + "alpha-nvim": { "branch": "main", "commit": "e4fc5e29b731bdf55d204c5c6a11dc3be70f3b65" }, + "bufferline.nvim": { "branch": "main", "commit": "d24378edc14a675c820a303b4512af3bbc5761e9" }, + "catppuccin": { "branch": "main", "commit": "bfe91dfb3a19ffd4445e43611fcde68acbb3fed4" }, + "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, + "cmp-nvim-lsp": { "branch": "main", "commit": "44b16d11215dce86f253ce0c30949813c0a90765" }, + "cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" }, + "cmp_luasnip": { "branch": "master", "commit": "18095520391186d634a0045dacaa346291096566" }, + "dressing.nvim": { "branch": "master", "commit": "39611852fd7bbac117e939a26759bb37361f0c90" }, + "flash.nvim": { "branch": "main", "commit": "b6b89a517d53f6e09ce4eb82c5114121c0bf89d2" }, + "friendly-snippets": { "branch": "main", "commit": "ea84a710262cb2c286d439070bad37d36fd3db25" }, + "gitsigns.nvim": { "branch": "main", "commit": "1e01b2958aebb79f1c33e7427a1bac131a678e0d" }, + "indent-blankline.nvim": { "branch": "master", "commit": "4541d690816cb99a7fc248f1486aa87f3abce91c" }, + "lazy.nvim": { "branch": "main", "commit": "14d76aac4bd3ff07c1fca074c210f28f766a931e" }, + "lualine.nvim": { "branch": "master", "commit": "05d78e9fd0cdfb4545974a5aa14b1be95a86e9c9" }, + "mason-lspconfig.nvim": { "branch": "main", "commit": "828a538ac8419f586c010996aefa5df6eb7c250b" }, + "mason.nvim": { "branch": "main", "commit": "5ad3e113b0c3fde3caba8630599373046f6197e8" }, + "mini.ai": { "branch": "main", "commit": "5218ea75e635df78a807bc9d5a7162594fb76d02" }, + "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.surround": { "branch": "main", "commit": "9d1956b576d7051da3a483b251dfc778121c60db" }, + "neo-tree.nvim": { "branch": "v3.x", "commit": "981a43adcca25e7ccc3c589902d49f25e4d48ebc" }, + "neoconf.nvim": { "branch": "main", "commit": "08f146d53e075055500dca35e93281faff95716b" }, + "neodev.nvim": { "branch": "main", "commit": "62515f64dfb196e8abe1263e17e2546559e41292" }, + "noice.nvim": { "branch": "main", "commit": "bfd2368b3f1fdd5766885b0115238d1f47113c6d" }, + "nui.nvim": { "branch": "main", "commit": "d146966a423e60699b084eeb28489fe3b6427599" }, + "null-ls.nvim": { "branch": "main", "commit": "db09b6c691def0038c456551e4e2772186449f35" }, + "nvim-cmp": { "branch": "main", "commit": "c4e491a87eeacf0408902c32f031d802c7eafce8" }, + "nvim-lspconfig": { "branch": "master", "commit": "447443a2404adc323ad2efc7c0a346a904ce694c" }, + "nvim-navic": { "branch": "master", "commit": "e6da6f74d89de65258ea7e98e22103ff5de6dcf5" }, + "nvim-notify": { "branch": "master", "commit": "ea9c8ce7a37f2238f934e087c255758659948e0f" }, + "nvim-spectre": { "branch": "master", "commit": "6edac44e10b94b88bf3067fae937915172a3f825" }, + "nvim-treesitter": { "branch": "master", "commit": "19b29f7cb046317b74e60fc7bff2f86ece4dc118" }, + "nvim-treesitter-textobjects": { "branch": "master", "commit": "52f1f3280d9092bfaee5c45be5962fabee3d9654" }, + "nvim-ts-context-commentstring": { "branch": "main", "commit": "7f625207f225eea97ef7a6abe7611e556c396d2f" }, + "nvim-web-devicons": { "branch": "master", "commit": "efbfed0567ef4bfac3ce630524a0f6c8451c5534" }, + "persistence.nvim": { "branch": "main", "commit": "4b8051c01f696d8849a5cb8afa9767be8db16e40" }, + "plenary.nvim": { "branch": "master", "commit": "267282a9ce242bbb0c5dc31445b6d353bed978bb" }, + "telescope.nvim": { "branch": "master", "commit": "47c755d737702df7a39b640c8d9c473a728be1df" }, + "todo-comments.nvim": { "branch": "main", "commit": "09b0b17d824d2d56f02ff15967e8a2499a89c731" }, + "tokyonight.nvim": { "branch": "main", "commit": "1ee11019f8a81dac989ae1db1a013e3d582e2033" }, + "trouble.nvim": { "branch": "main", "commit": "20d1b30d6925213abece21d35858a16e11d1e9fc" }, + "vim-illuminate": { "branch": "master", "commit": "a2907275a6899c570d16e95b9db5fd921c167502" }, + "vim-startuptime": { "branch": "master", "commit": "454b3de856b7bd298700de33d79774ca9b9e3875" }, + "which-key.nvim": { "branch": "main", "commit": "38b990f6eabf62014018b4aae70a97d7a6c2eb88" } +} \ No newline at end of file diff --git a/.config/nvim/lua/config/autocmds.lua b/.config/nvim/lua/config/autocmds.lua new file mode 100644 index 00000000..27e9e064 --- /dev/null +++ b/.config/nvim/lua/config/autocmds.lua @@ -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 diff --git a/.config/nvim/lua/config/keymaps.lua b/.config/nvim/lua/config/keymaps.lua new file mode 100644 index 00000000..2c134f7b --- /dev/null +++ b/.config/nvim/lua/config/keymaps.lua @@ -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 diff --git a/.config/nvim/lua/config/lazy.lua b/.config/nvim/lua/config/lazy.lua new file mode 100644 index 00000000..891b1901 --- /dev/null +++ b/.config/nvim/lua/config/lazy.lua @@ -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", + }, + }, + }, +}) diff --git a/.config/nvim/lua/config/options.lua b/.config/nvim/lua/config/options.lua new file mode 100644 index 00000000..3ea1454f --- /dev/null +++ b/.config/nvim/lua/config/options.lua @@ -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 diff --git a/.config/nvim/lua/plugins/colorscheme.lua b/.config/nvim/lua/plugins/colorscheme.lua new file mode 100644 index 00000000..a6134856 --- /dev/null +++ b/.config/nvim/lua/plugins/colorscheme.lua @@ -0,0 +1,6 @@ +return { + "LazyVim/LazyVim", + opts = { + colorscheme = "catppuccin-macchiato", + }, +} diff --git a/.config/nvim/lua/plugins/example.lua b/.config/nvim/lua/plugins/example.lua new file mode 100644 index 00000000..78a33705 --- /dev/null +++ b/.config/nvim/lua/plugins/example.lua @@ -0,0 +1,266 @@ +-- since this is just an example spec, don't actually load anything here and return an empty spec +-- stylua: ignore +if true then return {} end + +-- 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 { + -- add gruvbox + { "ellisonleao/gruvbox.nvim" }, + + -- Configure LazyVim to load gruvbox + { + "LazyVim/LazyVim", + opts = { + colorscheme = "gruvbox", + }, + }, + + -- 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 = { { "cs", "SymbolsOutline", 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 + { + "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", "co", "TypescriptOrganizeImports", { buffer = buffer, desc = "Organize Imports" }) + vim.keymap.set("n", "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 + 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 for completion and snippets (supertab) + -- first: disable default and 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, { + [""] = 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" }), + [""] = 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, + }, +} diff --git a/.config/nvim/stylua.toml b/.config/nvim/stylua.toml new file mode 100644 index 00000000..5d6c50dc --- /dev/null +++ b/.config/nvim/stylua.toml @@ -0,0 +1,3 @@ +indent_type = "Spaces" +indent_width = 2 +column_width = 120 \ No newline at end of file diff --git a/.config/spicetify/Themes/catppuccin-macchiato/assets/equalizer-animated-blue.gif b/.config/spicetify/Themes/catppuccin-macchiato/assets/equalizer-animated-blue.gif new file mode 100644 index 0000000000000000000000000000000000000000..704bf99bdc715f71e880ea1447250cd568035101 GIT binary patch literal 2368 zcmZ{mdpy(oAIHB!F4f89ed>8LeBCnuNl^CKKPXPHKHG`U1aJL8l?Ws=Lr z*jzS3gt3DYa-vBdNZNEc9LeM-mku6Q=l7k{dTi&RzdxVH^YePY-nS3N)7`-l3k9G+ zsXS2HyuxT+VK%S4>zX$Fdz&}f-w$>81lrodQeF-K0K*SzsMu3j;wjvo_|wFQJs8j9 zCji4W1r>Qf9xw+lfD|YIY;mW3S&}-}K1M|hQMD@mid#8cXiq9~!_i+( zc(hu(;`?DzF=cC*Pr}~t8^2GzEg(BFN7zkQ(4kF%CM(qa;Cm9Z93Tg10bhXVqcj8U z`*U0x?(FD!`cPlA=m)jkq#{Q~K*dFKl_I1%53Z|oCls?jxYU|%TRfL9ubzg659J3R zDE}HyR4KRS1R)w_z*|7DmITZcgrW!!W(XrUhsmd2+MR!tP*9mosa9qO@My62?GBMB zXP2dsq&A9Kgf2g$Lr3j*oDr2Z?JvAVhzlf?$bcn^-D%enJ4@+>Kl$%pw;ZYupa<=#S9ZEs#Evbftrv(dZ9w0VF zAO3_M;#)KZ{jiMowIjdmg}x$rSM$4OhPh>5zsZ#sF=SmP-K%r4kafpx-w!JPUGH3Fp z&N@m*q}horGsUT8yC3yQ#EB|yP0!&Ue6fx;^Fxhs&sw2V>q1#%!Hw!{#N8OBip)$s70D;rgT7obPWX*CNbes?yd;gYiW;^Pb;@Ly z>-li@8gW0dExo43j`*(Pm*0$7!rU{yLwL!$+HPvNEbv-I=crgjaHUPq$)`mN17 zh}AC|xw8eNqsoIn>zW{4Pu9N1Y01!(LE0{Hjnl4a={Sy$e-GL36wqUb8A*fo<^~xR z>#+-8WV@Ta2{ko)!a5{K+(s6qcjVXgo&y_0Y62^P7&Q=cP>h**#7Ftmd(N}QERb=! zc_~zPedDU!Ap-X$?QTqUL%5fqGUei9O(xir4MS#z zjc>+LZPhkOg9~IegW3R5XY##MiymehFvX2MCcCQOi%w(r3rR|R2hmJSuD&^@(~yuxpL!if~i5=6L_pKra<_FW?s-9 z3B_3KcqLDq6}?%1n(B-_@fSE9(SK4Z75*t|xsRC=n0shyKogTjK@{H oF2yghET~;(nh)UzezWbEK9sVqcnSJ!@IN9${IQTF&{60A1Bn`rzyJUM literal 0 HcmV?d00001 diff --git a/.config/spicetify/Themes/catppuccin-macchiato/assets/equalizer-animated-flamingo.gif b/.config/spicetify/Themes/catppuccin-macchiato/assets/equalizer-animated-flamingo.gif new file mode 100644 index 0000000000000000000000000000000000000000..0fc9a0d382869f27a36b928b119168cbdebee786 GIT binary patch literal 2351 zcmZ{le>~Is9>>2dG8GN28PU?%L4N<7AGdO5sGR(`$0b(IS*B4snlPNRc1G&4lHvF< zKj-HtA{ry7l%h#4jVCI-)?>R@-+#ZK$MgMqzuv#_zTPgbkq7_* zRHy>)hW-I+`w0yHt6vs1KOnSK7 zxD@#5g<6{Wk$|L~QMq?tzAI#4D@VC)=Wv9!P}3#0IT%llRss2NU@M6JmZ=TBH_I<3 zo*X+}Hr#(g@)K+ey~LFhQuDJVw8UCRfHpL^M!=^GEp%i!md+MHbkcF?;ezm8)!&gQ z&}utg7^YPTtO|nRa&U!+;6=VaO&oBP5j zwTopDZ74k7Z2-GV+`+D!3Km}`Cxn`pD}m*Ty_s3bH_OY4ehoHXwHa=XC_BR*w=L7> zREGKK^7!gq?HCV{wf>Ju<)UV4`C%L9%a1SRBz2^&h zSZLK6_R}IR5YBkshj>NzZxHrOkMOIu=JPV|>pmTMKr?w}x}*coyLY4|stV<6h*=2=B@eh9xd&&ArRJjeVidu8OHz-Y3>B}@Z#>%O!sT=Q!tGz>UIGaH5ynYdqM$0@L zXXgGMdl#BBwb55oQKP(C_Frgz$X&O6;!Y&#V(1kl_3925W|bc%jCZ_F`0nX$N$u(Z zy7i8$<3VV&k}3$8>lQFqI|hs^ppH+b1o#JudXtZjqYuB1t%@$KEMhf?GMWq%uSMif z_^EmPvU@i0_wuZ0OXQkzT>ipPThz%WgRxUnq0eujD+355>fUfcBidci^dwu1iKM)^ zeSp%soxI)-mhWCQzr1!;vC6PhiK!77y7#fYbtI42m#pyApIfnGJjN_?I%YB2efwOk zn^sQq9i7P(thQ2$U&{G4oLNg5yZs%`|9#SAz0u!zB?}(|Ju23j3^-ou-@!OmrRLjj z_8yrYwrNeO*Vm}d*|XdZ?j6E>!=Np5g!jNeP1kX4{d%Tc1mcF?_6Jk%{X5$zx|6*w5;O`ClCzjPz}Y{ocfQSvhxbzA z%G+=ET6#17M024Bh}Rm$0?uM8d8zHi@hgIk_yPpC-AgCuUd`q@hC9d8IFIL`r!;@^ zF8n{J55bP^9mI;{ajrl+%-jUFmfd1z-bXP+Gp1ee?)tBi%>J6}m0+Wsec!yby_24WnfnCXW?uYhLXxVmvG>jcC6G`6>qNqychng6`_W?Vx{ zl%J^l7a@+~{I9E-5?BgTRS~2Pf^^mfnUQxokzew-b<^~CK~yXie{yif{@<0pw3}s( zBzM!Z${@K-&VMOlpASIBMI3r+NGsdIG6~_-?)-u1cE)CLOpFp4H75FBJP(BOE3DD( zS{M4XPW?kEJNXuHQDD6tC|Z~aEm@AN(kR{6W*T{@W!M7M`etHJSA#uuXpR9hZVZv! zO1*P*-p4`)Q4i!0F3)?;$zzf}QC>5<(G=z_oPbF<(E z(>-CTdYD)B=}BXqMB}YgJq!wIUP`21j_brZ#Eg|-g|36AR_Ofn{czV02>FtLNI6m~ zq{VhB)`r%kd`1Rc)k@}GK)x-c4d$o6T#l^2TiEazYi&M8auhYsqMm3kbkH{G2jq5^ zuHJD1xq>L!-5(k~m-|POnQ_7+bi4_^Q2eOavhYR>0&lhH6@)S)d9(VM z<`#MI1Gp4%f3j-V{kNS}Ab^Y}wM#l<&T`sGVL;OWf9@h?ghZ@)T|t_!vtsvH=siI1 c`rWa6$}??M?F{0{(DxD)XV!Z literal 0 HcmV?d00001 diff --git a/.config/spicetify/Themes/catppuccin-macchiato/assets/equalizer-animated-green.gif b/.config/spicetify/Themes/catppuccin-macchiato/assets/equalizer-animated-green.gif new file mode 100644 index 0000000000000000000000000000000000000000..9408c385f2546327acea56491424160df635b159 GIT binary patch literal 2377 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‏&A8e6&?tA7`!B|}pJY1>6TPPwL~<1{w*gQ_Vq zu-o2qI1SpHhcPVO#VmT2<6$-vYGU?`;mS+gLK3ET6g2dn1qb8v<`s+D3}Vzl%svrj z>M7UFx6yl!F=}BMr<6D%fUDm9i95l!?w(?4zd-wN-PU#aytl<{R*ki;g3HATglzOa~(V=qxD z)SYCbKw9;l@57ugSuKq44S0I>@jh2GfgpCdB^;%i-K%=`JDKbxi@;HeHTSqkFdbB~ zjIC5EJ=|i9J=Qd6X3#t{=GI;+^CWa|M0I^k)rf`vgapyV7 z1$G%a+GHY> z&r~U*XHTtyLa6!1_MUhmB|$}#BU)uJaZvC|Gxu;%SNpVT`ncE6Z?DAa2TCQp85}ef zKoPvILb=A|K=pTIF{O@0!?GRF1dlDnv@T3$rjyF-F!c8eNktE{v2DSOL-ax(`ou(k zL-e3y(#T4k=89og$ok8-ZiA@M_Mm9``M+TPw^S3E*|537l>Yp*iDhg}PhstIq^0Qy z&W_hOYw$u%(3Y}I+xN!Z60)sv<3HqRiRCzn^9P^(f#EAReoHXXk9!7>HS#RvKckoz z-iv~IT5Nj@AxsNrR-dOhV~_p`?nL)L$km%Zx3b(?eMDA?=F34sJHz#Dc+8%^iWtI$ q(chKhJ}@kbJI!`Hf$#mru4B?Qc~#*O^u@rpLId345CQ0;^Zx*1L4dme literal 0 HcmV?d00001 diff --git a/.config/spicetify/Themes/catppuccin-macchiato/assets/equalizer-animated-mauve.gif b/.config/spicetify/Themes/catppuccin-macchiato/assets/equalizer-animated-mauve.gif new file mode 100644 index 0000000000000000000000000000000000000000..a5daf0d44a642ddd7893e5136afe73bcf2c0f256 GIT binary patch literal 2351 zcmZ{ldpy(oAIHBeG8MVBW<*P42f1J8@~fN~DkqoU@gvmES*B4snlPNBosoJd8IHR# zw~Zo;#>gq9Xp(~?ZMqzt(k7=gg@;w=JHN9Y+wZ6Ezu(W}`F_1$?;Fm~$JGrF2jD=p zD)1XeGRl#BTKSNl)&*cgg1vX`$J$%lLR0_%Kz`KmPB@GwA0})~Izo=wiu2pIA3!dx zfkFTkzzTc-Qs4lf>XTzql`(s5q6|G!2CILcxUj3#g<8kji%;ZywNx6QmnTl6uZAxHO5Db%ptA$bCq`M;0*e|2B!%v-0-cK%R$fGxDutWLfh!59XW4+xyBx96r zx@C-!;B1ef&TYcBGS+m6_#!DW%%VyOELZH4lbdqAic$J=h{dw)NNXhHRM~_b!+=>6 z?ytw?sdsmvJ%u&~-zQfITPalsZCx%typW&2zCYM29lJ%M85x}!A-;4My()UwXY`1` zx-I;Nd2A4j_Ou`Vf*Q~y=oO9fYBv{gv+wFX9=(@g`owHO7gl)Z5GT48>1TwNkS+xo zswr9wfIi5o_dnFR^S%tT=tBb;DwxEJc3J2+iX~#5GdT=%yh`?~+&@3L zm{tDW?}R>*ff7}2gPWq(f^Q8gQ&jr1O^?v?8|qmTz3~mV$d0EIqr9%3hoom@AB;Em zc!#+S&7WTHr>Uq>UM+{uG=Id7o4)bKlJ(HkYNC2wCmp@a3l}6fU5)zY@lI*O@;<7~ zw#yU2D3p>a2$<_8Fjsq;4x3Mzm`V){2p0CG9GyTNd>L08Q(03=ZxUv;7$seaESmIJ z^ZaS&Y|yV&xiMCVRpq$;gQ0NLNv1<_)6-#3Z=h-dqllE<5&UM92fyV}o*0cMKfAe) z+_sgp)?TN`qxS9M>Q%)k!%ifnMWU%bM|QJ_o^j9V5otfRVaB<%S%fHdKE`9~T!Xt- ze(NpWsZ@-%Qi`9;`6Zk=hf&t?1{?4$d8*O)U)&1Ghak`DHKv137Y4S`j?}984Vb?} zWQK28mFoQ^s!QH1yOVt@>TT1IUCt=?o}rqa(^QKF&ErBbioHa(sIe8b`9~sJBX+7N z7FMqIOWbosmqq@))2@7RQ(wou>30EL?PR^FK36FU2@lPmPa9kwx=hdYKe*9rcywPu_+9 z2lb7zr}_lb@m%I5Xs5Y5-_EK>oKyHg4AG43;J>;0vow34K5r?+IDgMqukFs6ty6Sh z4cL-k7*#h#rN@L@9-^v=#~CLB%$+&0{=1J24BA`ukei;g@n%Y>Uuz7XHZrsEJkb1- z08^rAfV7RW2G7Y=UuQ5m`Ms6}CbZ8PHKD(Nu(nAwDoQW&F*a>193kL7E{c4yLaE}JEyCh()wHTw57Oc~IHd$o3dwB`El$O|U2I zX7`L%)|BrrFU};GgeoMw7Cg|JfI9eGGbfkL*U;9_VatE30#>pkyAjX>e>)W9!VE>d z;i~%R7mb<8<6Q)k%@ln!5@AtEpj?da!aBx|S6~EgLnoG~yv)5YxA$=Ql7PrKGAm@o zb}rY3)~9|#1Yg!lVV^_1F3A`w%6z_vZ@gX7^bliXF-~+6w$36SX-hgYHW&mJbXCwD z%v$A=R#39}l}T~~Q7dw z{QmdgQpEmAZ&>r+c2Rv1vKe!c(~b)QTLyV^=h34?LjB8X;#-z=S+Ax3J=Bh0 aoqDFd(wEgv!5jWNPdXnxNI!9 z*$B~UsQikEhCFa2Q;8#)90>;xtMmKLIqR{VpZ@-S9?$pd{d(WNZa7yPbPx=H0i{r2 ztu}M5E_1aZYq@P&_s{K~SRZfaLr1YF6Ei3T007-j%FdA?LFAC&z2{GpPwjQXc^n0F z*S5$*0VrS$J^(2&0FZH|e^YvC?*0f3IY3im{t>lusK`30lJ&2ksK&3?iXyn$OEFJZ z>sF3^nv_l0dfY2!UubUU)cZmTrhJHf`zki@wx7WY%?OMqMneDypay&eqFv}Z>W}AI z=)q@)qZtF;XN2dJ_aqgg%Y2y^jpd6?Rd@(Zjaz|k>-~$(DV8O31yGe_EMlO*|3Kvt zB3Zr?#U&s)QeYVntR@DR^8=kpPi9C%zYJ1B#;u~C#uQd%Q)}edzC1eo<9(YjXIs0) zp}2e0{iifX(^@r@JA?ITtZ5&?4N{aJ>ADnHtk{))E%sq4qv*1a(Yo0{LjdCvZN!|R zURF-Pt8!bm-fKeI^G(%Hu3qOi#9jZ<%=*Ujtel)3UEU4}Sgl2cfY4-rLG2UdrszYT z(F3C<9KyLJ>@h3Kco*zVl4s3m+st4~#aH><)F-Mh2YVCsUm2{ZsO3FA-WXb;i_=6d zl4_4>$VyrafIf(-_YdkqraQwR^mun76ccsBJOvpZw@7e1fA3whe_5rr=~%zo!8>GJ z$QYp(4QNTNx!-Ar7L^-oiCs+g>iwuq`nr+BrXtr{2&0jfcLI;RbQD&t zdnB3a-5l{oAf!}5!Cd!%x!UGhvUzbMCkkF;adRP@lHL#<78#B%(65G{8gRPtwsnCv zfQsc~UeY`~cX%8*DOAiVpG2bL@nOX>o9VJiw-E6r;u@7m`hDTk(|+R*5#?Ti#5gB^ zULC@YSN|egfD9r}wtJ8{dr8|+%K3H`A67RnFGd>n^ZEDyWRmM?Cl=8@e2VHHf02V3 z=2GV1Ghs`o?Dj5H*(&8UJW`psfY~XP>*u8xbNK6d^9+OSk|t~c+Y<~UgO*f!hOhM;QA#|^i1swJY7E0Wo$2mD8Ml&aUU6Dx z3zJ;r`mbmjnA-nP_cmBfiY5orc7Ze${hFEvdTi{Zk`czY!^&+a8P=6Y&@0hm7rn}M z-TyAoaQ`!w13z{eSZ6@abaa|QY}HV>w=JDn}@S#*JS0jl6<(+yfXAuSE9FgFByeKEf1aYj(HKg)$# z$j2X_>Z=bQu!$dDt5sdoYY&jVi6R?BmA3*#GcWuJ_r9qV%g%t$7bf=QCr_;gRd*KF zJja+C4HGT-4Rg9Lb}lw2Dyn>y$$)hJ|e3`17|I!ogMY6?`c`c uL=F;znQu#pA6O=|w*9+%5eNQj**fizur7NE_M-ngp)T=oz#{0Q?f(ED;g6sI literal 0 HcmV?d00001 diff --git a/.config/spicetify/Themes/catppuccin-macchiato/assets/equalizer-animated-pink.gif b/.config/spicetify/Themes/catppuccin-macchiato/assets/equalizer-animated-pink.gif new file mode 100644 index 0000000000000000000000000000000000000000..e8f4ffa5304b5c12337e5b3188f17f532a405b4d GIT binary patch literal 2368 zcmZ{mdpy(oAIHBMxm2qmXXX|fD>9ed>8Lehot#|G&#`dqoMjr((c}^x?ckI{Ws=M0 ze%lBUjU5znqDdY|GF=Ww%jC$VgNM~Q-}$v3+j;2k&*$;{yxy<(?Spf7wX-L}0XR?$ z0sd+i&fS?_>JYr^6zKo6#RKc(jX8J>YiVW-zyV;BEAz{u#M!n{25OL@QSo=w^1(b?S~=@0VpPMP)w~Ff?o!O7 zmD**m50eTBn}a-Kb_ZYked=v)l0)e*yXg`(u*uJ8nXwmqPlA>MmBNm2MKEJ(k+81^b<3z+ee{gf}Qrev~2^utc#d^Ga+-abe!iK6}^92kQe0FEBe?{}C9_ySQ;+B1p&AIqM?fKBdM8g+G%c>e#_k$XO%kXcQdOn+S1;x?z!m3X5AL;G$dKwD^~l>!Qa8H1^-7 zx)&T<8ed6ae*c)%P0^I0N^B5QJ4?hifLgB=E4J-_t_WrN<{1zQ0)+ISt#uKhnUmMG z)-YNk^$ud0F$tF8de}3TB&xU}m?b~{MpmmNYgV5ez$5l`xkZG>sG(@ZWN3K{9ks?K zj73`C4*dGLi>Pw#C=G3JbJQD&lu-u(W8MkIY?)@o=EaRpob&YX=6A=Q8byBhI;^@@R8lV)z{xE^S?_~$F)H9GA zcgUYti*(}EJGBN z8y!YCNwbLQ(4`QkUGtTW(9HUKsuSlNw#$V0DXpKw88;L%n%`nQ-o;E*>3+${UwrT7 zTr6+cXMMHTAn9b8f_ty=J47;J+lExk=cu+Bv+Nf3y}*U)ev7mr&O;uqxHTs&} zt6wy7XL4zWl?Hy%HbOfeuYFC@kfAAov>oCaXI|0JvL7G+0lL@0x7!9coDA>DA{Z3t zu=8GIxSG5PG&Xs{I>3+Jk|auL&#CJ<12%@#1XctwFc7m}jG2BkhViU-pJR=hp`*03 z6Bw?#hE-XE6z)sr-H7UjU_8I*r!g$m_K%wvMX+;eo1{UTL6GXkAY;mI8_E=i&6=h~ z@`A(SaHsocto|x>PrO@LOLj8)MHVEn$@ZfnMye+wBH;LQr^LdYbVJ{g%H7|S950wJ zjR^Jmy0y_Bms0^hZZR6^1WoUOp7~ZLI>{iglVZ*F#>Hj`(%8&OlQp+^)a66shMc6|f?>t5tx_;B^(|6*dp9r=G@^ zIu`HS9e^5mj9#a85mHm_Rc43bf1HocyPr;M@n;>b$mQdMruyr`2JPZUR%_H&4Y~qk zH=x)CaiU#7(G}MC6 z9A~!e6@)q?db9R4(UExUZ*V$d|D;#S|G%i^K4wa6nz++!CA8CHo^^fP`OBywGO6Nq nF?oSy#^^Lre~8?7$GTl`AYo160{q#)|3v!aBLRz`qmKUqZvc;+ literal 0 HcmV?d00001 diff --git a/.config/spicetify/Themes/catppuccin-macchiato/assets/equalizer-animated-red.gif b/.config/spicetify/Themes/catppuccin-macchiato/assets/equalizer-animated-red.gif new file mode 100644 index 0000000000000000000000000000000000000000..7191693d26cab5fcab89aac012000e6dda156167 GIT binary patch literal 2445 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 acj}q(N?TDs1D_iHUWz2`iMbWc zUaeX2{V=JRvNg;nVQ=`2->2Rdke!&roW?8ep^bsYE7bkqdlIx9AO~myUx4VNG<~fH zb1gL7*^%=lgT2wBAE3KQMUIRB)+zg z{A)Z>rQDhuglv!jZvnxY5-?K`iXuFmAq?LfBAEn8cgkgfs?t?yS$1$9ZK-&)$=dU`!4XM2y|p%i!BCDoAdv|wTNL*%CD z!=KQDeDj8&AC}#H?Z_{CV6RBtRs7DGp_Z~Q^0=2Dsy`oklxpP{<$4z51DXf# z61|E~ERV0I)4qFx>n3Q)P$f2qshte54WQN=bfva~&y^swfI`Ed;t(MvYq1#%!Hw!{H^3O2u>crm($s5P)aQ)G3&iA*{YY}E}RcY%aavVNllIkG@qyDJr>A;sA2&PXc zKIup>uLj}5t9_O&L}H1PUB`(Hdk9L_&^(v2#nsKT>m&<17oQx0Bzc@Z!p6HsO;LiA zFE%)haLIGjv`&i&BEs(!1?A?_n>MRnVWT4l1! z^?U?pjkup_In#g%f!B?@$w@mYQTsV=R^IIyOy{%%PgvF6^l18>_pgma^@(l=5yAi# zkh7fJ$M|YSBcsuri$=+CC1toNH~mipN98!~PK}VqSWYIaG)|tW<~7IW!#GVSwVVg6 zU2L*4i^R4#T_dXYZDdh;dwy-tIj}LLCa@BSfr6NWV$95AKFX)gYo0x3ZV{)G zmqPW>GpfuTB(%Jw-HWNJ561{ff8@Ip?fb1xkVbZ6$Ghm4l*I^wIfV%IqVry zEH6AN34OMI*5-dquhe@bHFy`}pJhQ3o9sU-qGtHOV?s_ocS$YTO)&~!RP6l@=X}X> zc|>R+(5s2}zM269w$LpQE|9Dq$hrT@L?;;p4pOZ7zQU#1z@k-bnR4;5Mq}*B`ax5J zhBxD=)+(E%fdw*Dza~J`k$nHuqNnKwOmSlm$^nw1aFv1a7kDZ8wwJZFD4s3;XF4(A zS4QRuJR$T~wGYCM*h4$B&rj;&J3VbywmX&kKVwJ{mB9743s3<)gKVt7olF|B@*A7B zjgFK&D()QdD1&c23SMd89}DbiorR=Nc;0+a!orUJ literal 0 HcmV?d00001 diff --git a/.config/spicetify/Themes/catppuccin-macchiato/assets/equalizer-animated-teal.gif b/.config/spicetify/Themes/catppuccin-macchiato/assets/equalizer-animated-teal.gif new file mode 100644 index 0000000000000000000000000000000000000000..58d993911308237b404e33356adb86da7589874c GIT binary patch literal 2372 zcmZ|Rc{tR090%~9`=|(Ir*Y(HnA}G)u2yM`W3xGSMX1?iG^EnV-A=Q^%94!an8CPb zOl}%1DpEAaVkM)JRx+}3w0KPI{>C z0`&2xjAx_oJEp;(=HFY~kY1h+2ah7nj7-Et007YZsNfKO8jU+0s1bPv7p#GDK5`V$ zToacO14IA=@C8tT0D!1t%5Extu5FYIA0#W6{S~otFxQe$O8W*KQMY$3_Z(AwIqLCh z)r!Z*R}%4(C*7m=1l@Qr^)82KT|7*0yowBH^wC)%>w(|n(;}d+415LBhg0Nb9?rE; z0?&_JDj4hu<6cnMNyxJ*@-DkE%N8G#S{~eu)%CU!_sdt zIGIv2rZ2of2o?olWjKIY+7KZQHnvN{ zF|8#1VAZkYb`^yOfm&qRv=`?VHo`}bDg^T@c1%f&zDq60{mDyj-DI%Vzu*da)U;q% zQL(R!60=3JwFz#=Hr{nAips8yp`I|Yy!G^YM#k1|&jayDwIx~qpaefo4Tf} z;FwW^?}cTghca=Z8}gdq#u)3E8EPr{DvO!)Na^`dA71-~&WfUP=EIY9K_!~bs_-Rj zrH6`yV8j5J1Fw7kQx~o|73c(=?7@pzN8B<^gonl~`Jy6Q-!}Udm8u($4=C@ujdRXF zx;(y`NcrLSz%J}AzA6eB{MR_-jkM@{g}fNRT5nLr+V(w{l2yguEK4Fy$v zUvSk%-1#jXpLRmOTSIZ@1BhqvF-NNC)P>Ae-&1`rzw_XyAjXsVoinHK19pKLb~>F4 zi&BCU3Ndn}%_R7Gi|<&t#qEG^pWAcG*N+g4wQ5E^VK9D$8;%&b?w#Pe&4{LSR?O&R zth<{hyDR$aDD1?W(30T%;#?Agomj0JS?`}U?y}A9NBcRCJJhsb1E}n$_=L(qd}3ni z9(m@TXNSvm)f#=Yu1f@{#gN|`BS*_JG>ZgzMB;}4Iu zFm^FA&L2*2JadSKu?w9d`NdssupVI&=b$qo%fYr93*|O)8MXHnCu6PUg_gM4+Ands zbp_<6cSyJQQIi$wUo-QTK6uy_ifi{;T<_5$o+*)V?$Lb@P4M0JS=Hf7s%82dy_tSL zV3E;pnli-fQ;|@zn5>p2+Fs9w(bsT##U?WiF8B~T$xY3wnQ`fuMzA=H zuBN`}_in#7;*=)45L}oh#5-d-uD9r$nH|ZEMog50kjoGCvu@%aFuKfWJxOS0QKd|? zt_{o7pq-PF`GF%Q8`8vjcl#%9Qcqd>nwNTp>)v_ORGlq?A&7%hxdWU^D?v1jt@adF zh&f+y$xU~EU5Lw}u%2EsgLWL_MMKMM4&ku$z|X2W#&*Z6-UKQOY0{v!oj2o@G|4Si z`*_UE<1q*KTIYG%sF87mYF0eiQC+(ta}e7yLAiU5Q5WRGrv5mF#96+qN#ZKR zricnck|3n`c}N$#XFqm|NvF*a!dXF~F{tzXv*v#mJLB&bRAFp&einxKF^4fi_o6mPa_6Z1t*0w`<9OPfMXO%vLV7Tkhg9q1EvZ0)&7y z-yx*NE|Jc6ZPY;@uN&0YYG#ZJM7uj8gVO2JH^&b#+YQIdstHnB>!tXWfrs|&grD7|%69mSPw~={;S#2Z% z{uvk;zIx;LDBax=PhjENs2t7{ia}0W2n1!c?X?(gmiu=7Dc%Ns^e^yqME*f47yoyt zMLuWA4?xEeqG+Lzuv_H-(r*ni07}e@7q8@Qy|M^nv(wi7Sw21K)Es MF|PhgV4^nv0F`NrJpcdz literal 0 HcmV?d00001 diff --git a/.config/spicetify/Themes/catppuccin-macchiato/assets/equalizer-animated-white.gif b/.config/spicetify/Themes/catppuccin-macchiato/assets/equalizer-animated-white.gif new file mode 100644 index 0000000000000000000000000000000000000000..cf37197ccced2d86c8b86df5c9f51204db95516f GIT binary patch literal 4035 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 div[class^='ButtonInner-sc-'] { + background-color: var(--spice-button); +} + +.control-button-heart[aria-checked="true"], +.main-addButton-active, +.main-addButton-active:focus, +.main-addButton-active:hover { + color: var(--red); +} + +.main-addButton-active:hover { + -webkit-transform: scale(1.06); + transform: scale(1.06); +} + +/* Progress bar */ +.x-progressBar-progressBarBg > div > div { + background-color: var(--spice-text); +} + +/* Top bars */ +.main-entityHeader-backgroundColor, +.main-actionBarBackground-background, +.main-view-container main[aria-label="Spotify – Web Player"] > div:first-child { + display: none; +} + +.main-topBar-background { + background-color: var(--spice-main) !important; +} + +.main-entityHeader-withBackgroundImage { + background-color: rgba(var(--spice-rgb-player), 0.2); +} + +/* Sidebar */ +.main-navBar-navBar li:hover > div, +.main-navBar-navBar li:hover > a:not(.main-navBar-navBarLinkActive), +.spicetify-playlist-list li:hover { + background-color: var(--spice-main); +} + +#spicetify-sticky-list li:hover > div { + border-radius: 4px; +} + +/* Scrollbar */ +.os-theme-spotify > .os-scrollbar-horizontal, +.os-theme-spotify > .os-scrollbar-vertical { + padding: 4px; +} + +.os-theme-spotify.os-host-transition + > .os-scrollbar-horizontal + > .os-scrollbar-track + > .os-scrollbar-handle, +.os-theme-spotify.os-host-transition + > .os-scrollbar-vertical + > .os-scrollbar-track + > .os-scrollbar-handle { + background-color: var(--decorative-base); + border-radius: 6px; +} + +::-webkit-scrollbar { + width: 0.5em; +} +::-webkit-scrollbar-thumb { + background-color: #575268; + border-radius: 4px; +} + +/* Home */ +.main-home-homeHeader { + display: none; +} + +.main-home-content + > section:first-child + > .main-gridContainer-gridContainer + > div { + background-color: var(--spice-card); +} +.main-home-content + > section:first-child + > .main-gridContainer-gridContainer + > div:hover { + background-color: var(--spice-misc); +} + +.main-gridContainer-gridContainer > div, +.main-gridContainer-gridContainer > div > div > div { + border-radius: 6px; +} + +/* Cards */ +.main-card-card { + border-radius: 6px; +} + +.main-card-imageContainer { + margin: -16px -16px 16px -16px; +} + +.main-cardImage-imageWrapper, +.main-cardImage-image { + border-radius: 6px 6px 0 0; +} + +/* Settings */ +input:checked~.x-toggle-indicatorWrapper { + background-color: var(---overlay1); +} + +input:hover:not([disabled]):not(:active)~.x-toggle-indicatorWrapper { + background-color: var(--spice-button-active); +} + +select option:checked { + color: var(--spice-text); + font-weight: bold; +} + +/* Animated equalizer */ +/* EQ color classes are specified here in case the js extension is not moved over + * The default green eq will be used in this case */ +.catppuccin-eq-rosewater .main-trackList-playingIcon, +.catppuccin-eq-flamingo .main-trackList-playingIcon, +.catppuccin-eq-mauve .main-trackList-playingIcon, +.catppuccin-eq-pink .main-trackList-playingIcon, +.catppuccin-eq-maroon .main-trackList-playingIcon, +.catppuccin-eq-red .main-trackList-playingIcon, +.catppuccin-eq-peach .main-trackList-playingIcon, +.catppuccin-eq-yellow .main-trackList-playingIcon, +.catppuccin-eq-green .main-trackList-playingIcon, +.catppuccin-eq-teal .main-trackList-playingIcon, +.catppuccin-eq-blue .main-trackList-playingIcon, +.catppuccin-eq-sky .main-trackList-playingIcon, +.catppuccin-eq-lavender .main-trackList-playingIcon, +.catppuccin-eq-white .main-trackList-playingIcon { + background-size: cover; + padding-left: 100%; +} + +.catppuccin-eq-rosewater .main-trackList-playingIcon { + background-image: url("equalizer-animated-rosewater.gif"); +} +.catppuccin-eq-flamingo .main-trackList-playingIcon { + background-image: url("equalizer-animated-flamingo.gif"); +} +.catppuccin-eq-mauve .main-trackList-playingIcon { + background-image: url("equalizer-animated-mauve.gif"); +} +.catppuccin-eq-pink .main-trackList-playingIcon { + background-image: url("equalizer-animated-pink.gif"); +} +.catppuccin-eq-maroon .main-trackList-playingIcon { + background-image: url("equalizer-animated-maroon.gif"); +} +.catppuccin-eq-red .main-trackList-playingIcon { + background-image: url("equalizer-animated-red.gif"); +} +.catppuccin-eq-peach .main-trackList-playingIcon { + background-image: url("equalizer-animated-peach.gif"); +} +.catppuccin-eq-yellow .main-trackList-playingIcon { + background-image: url("equalizer-animated-yellow.gif"); +} +.catppuccin-eq-green .main-trackList-playingIcon { + background-image: url("equalizer-animated-green.gif"); +} +.catppuccin-eq-teal .main-trackList-playingIcon { + background-image: url("equalizer-animated-teal.gif"); +} +.catppuccin-eq-blue .main-trackList-playingIcon { + background-image: url("equalizer-animated-blue.gif"); +} +.catppuccin-eq-sky .main-trackList-playingIcon { + background-image: url("equalizer-animated-sky.gif"); +} +.catppuccin-eq-lavender .main-trackList-playingIcon { + background-image: url("equalizer-animated-lavender.gif"); +} +.catppuccin-eq-lavender .main-trackList-playingIcon { + background-image: url("equalizer-animated-white.gif"); +} + +/* For that small dot on podcasts that notify us of new episodes */ +.main-home-content + > section:first-child + > .main-gridContainer-gridContainer + > div + span[aria-label], +span[aria-label="New episode"], +span[aria-label="New Podcast Episode"] { + background: var(--spice-accent, var(--spice-text)); +} + +/* Modals */ +.GenericModal[aria-label="Already added"] > div { + background-color: var(--spice-card); + color: var(--spice-subtext); +} + +.GenericModal[aria-label="Already added"] button:first-child { + color: var(--spice-button-active); +} + +.GenericModal[aria-label="Already added"] button:first-child:hover { + color: var(--spice-notification-error); +} + +.GenericModal[aria-label="Already added"] button:last-child:hover > div { + background-color: var(--spice-button); +} + +.main-rootlist-rootlistItemLink:link, .main-rootlist-rootlistItemLink:visited { + z-index: 1; +} diff --git a/.config/spicetify/config-xpui.ini b/.config/spicetify/config-xpui.ini index 79b16b4a..99014664 100644 --- a/.config/spicetify/config-xpui.ini +++ b/.config/spicetify/config-xpui.ini @@ -10,7 +10,7 @@ sidebar_config = 1 home_config = 1 experimental_features = 1 extensions = adblock.js|hidePodcasts.js|historyShortcut.js|copyPlaylist.js|wikify.js|fullScreen.js|volumePercentage.js|bookmark.js|loopyLoop.js|keyboardShortcutMy.js|genre.js|playlistIcons.js|catppuccin-macchiato.js -custom_apps = lyrics-plus|marketplace +custom_apps = lyrics-plus|marketplace|stats [Patch]