This directory contains various dotfiles for configuring an entire work environment. Feel free to use this repo, create a fork, and use it as a starting point for your setup.
Gnome Catppuccin 🐱 | Gnome Forge 🦎 |
---|---|
Neovim 🌟 | Neovim Debug 🐞 |
---|---|
Tmux 🌟 | Lazygit 🐞 |
---|---|
Gnome is customized to function as both a Desktop Environment and a Tiling Window Manager. The customizations made are made possible thanks to the following extensions:
- App Menu is back
- Blur my Shell
- Burn my Windows
- Caffeine
- Compiz alike magic lamp effect
- Compiz windows effect
- Coverflow Alt-Tab
- Dash to Dock
- Desktop Cube
- Emoji Copy
- Forge
- Fullscreen Notifications
- Gnome 4x UI Improvements
- GSConnect
- Just Perfection
- Logo Menu
- Pano - Clipboard Manager
- PiP on top
- Rounded Corners
- Space Bar
- Top Bar Organizer
- User Avatar In Quick Settings
- User Theme X
- Vitals
The theme used for both Gnome and terminal programs is Catppuccin Mocha.
Nvim is perfectly configured for the following languages.
Language | Language Server Protocol | Debug Adapter Protocol | Formatter |
---|---|---|---|
C | clangd (x86_64 only) | gdb | clang-format |
C++ | clangd (x86_64 only) | gdb | clang-format |
Python | pyright | debugpy | ruff |
Lua | lua_ls | // | stylua |
Rust | rust-analyzer | gdb | rust-analyzer |
Javascript | tsserver | js-debug-adapter | prettier |
Typescript | tsserver | js-debug-adapter | prettier |
Tailwindcss | tailwindcss | // | // |
Go | gopls | go-debug-adapter | gofumpt |
Java | jdtls | java-debug-adapter | jdtls |
Bash | bashls | bash-debug-adapter | // |
To see the behavior of neovim with all languages, read neovim.md
- Plugin Management: Efficiently manage plugins with lazy.nvim.
- Compiler: Compile your code with compiler.nvim.
- Debugging: Debug issues with nvim-dap with nvim-dap-ui.
- Diff Viewer: Easily cycle through diffs with diffview.nvim.
- Autocompletion: Experience intelligent autocompletion with nvim-cmp.
- Language Support: Harness the power of Language Server Protocol with nvim-lspconfig.
- Formatting: Keep your code clean with conform.nvim.
- Syntax Highlighting: Enjoy enhanced syntax highlighting with nvim-treesitter.
- Fuzzy Finding: Find files and more with ease using telescope.nvim.
- Git Integration: Effortlessly manage Git repositories with gitsigns.nvim and lazygit.
- Keymap Cheatsheet: Quickly reference keymaps with which-key.nvim.
- Markdown Preview: Preview your Markdown files with markdown-preview.nvim.
You can install my dotfiles using my install script
curl -sSL -o install.sh https://raw.githubusercontent.com/matteocavestri/dotfiles/main/.scripts/install.sh
bash install.sh
Install as explained in install.md
The Nvim configuration includes the plugin ChatGPT.nvim which requires an API key from OpenAI. The plugin configuration requires the API key to be entered in the terminal password manager as openai
.
Among the AI plugins there is Codeium which requires an account. If you have one, use the command :Codeium Auth
and paste the API key to log in.
The Obsidian plugin requires Obsidian to be installed and a vault to be configured. To do this, modify the lua/plugins/obsidian.lua
file as follows:
-- Modify the directory
event = {
"BufReadPre " .. vim.fn.expand("~") .. "/vaults/second-brain/**.md",
"BufNewFile " .. vim.fn.expand("~") .. "/vaults/second-brain/**.md",
},
-- Modify the name and directory
opts = {
workspaces = {
{
name = "second-brain",
path = "~/vaults/second-brain",
},
},
... -- Configuration continues
}
Thanks to the Nvchad project and its community, Alexis12199 and DreamsOfCode.
The software is made available under the GNU-GPL-V3 license. Please read LICENSE for more information about the license.
- Update docs --> CodeSnap compilation