Skip to main content

Prerequisites

Before installing Magictt, ensure you have the following requirements:

Required

  • Neovim 0.8.0 or higher: Check your version with nvim --version
  • Git: For cloning the repository and plugin management
  • Node.js and npm: Required for several LSP servers and formatters
  • A C compiler: Needed for building Telescope’s FZF native extension (gcc, clang, or MSVC)
  • Ripgrep: For better telescope live grep performance (rg)
  • fd: For faster file finding in Telescope
  • A Nerd Font: For proper icon rendering (e.g., JetBrainsMono Nerd Font, Hack Nerd Font)
  • True color terminal: iTerm2, Alacritty, WezTerm, or Windows Terminal
Make sure your terminal emulator is configured to use a Nerd Font for the best visual experience.

Installation Steps

1

Backup Your Existing Config

If you have an existing Neovim configuration, back it up before proceeding:
# Backup your current Neovim config
mv ~/.config/nvim ~/.config/nvim.backup

# Backup your Neovim data (optional but recommended)
mv ~/.local/share/nvim ~/.local/share/nvim.backup
mv ~/.local/state/nvim ~/.local/state/nvim.backup
mv ~/.cache/nvim ~/.cache/nvim.backup
Skipping the backup step means you’ll lose your current configuration. Make sure to save any custom settings you want to keep.
2

Clone the Repository

Clone the Magictt configuration into your Neovim config directory:
git clone <your-magictt-repo-url> ~/.config/nvim
Replace <your-magictt-repo-url> with the actual repository URL.
3

Launch Neovim

Start Neovim for the first time:
nvim
On first launch, lazy.nvim will automatically:
  • Bootstrap itself from GitHub
  • Install all configured plugins
  • Compile Telescope FZF native extension
  • Set up the plugin environment
This process may take 1-3 minutes depending on your internet connection.
4

Install LSP Servers and Formatters

Once Neovim opens, Mason will automatically install the required language servers and tools. You can monitor the installation process:
:Mason
The following will be installed automatically:Language Servers:
  • ts_ls (TypeScript/JavaScript)
  • html, cssls
  • tailwindcss
  • svelte
  • lua_ls (Lua)
  • graphql
  • emmet_ls
  • prismals
  • pyright (Python)
  • eslint
Formatters & Linters:
  • prettier
  • stylua
  • black, isort (Python)
  • pylint
  • eslint_d
Mason will download and install these tools in the background. You can continue working while they install.
5

Verify Installation

Check that everything is working correctly:
  1. Check Plugin Status:
    :Lazy
    
    All plugins should show a green checkmark.
  2. Verify LSP: Open a TypeScript or JavaScript file and run:
    :LspInfo
    
    You should see the language server attached.
  3. Test Telescope: Press <Space>ff to open the file finder.
  4. Check Treesitter:
    :TSInstallInfo
    
    Parsers will install on-demand when you open files.
If everything works, you’re ready to go!

Post-Installation Configuration

Update Plugins

To update all plugins to their latest versions:
:Lazy sync

Install Additional Language Support

To add support for more languages:
  1. Open Mason:
    :Mason
    
  2. Search for your language server (use / to search)
  3. Press i to install the selected server
  4. Configure the server in ~/.config/nvim/lua/magictt/plugins/lsp/mason.lua

Troubleshooting

Plugins Not Installing

If lazy.nvim fails to install plugins:
# Remove lazy.nvim data and try again
rm -rf ~/.local/share/nvim/lazy
nvim

Telescope FZF Not Building

If you see errors about FZF native extension:
# Install build tools (Ubuntu/Debian)
sudo apt install build-essential

# Install build tools (macOS)
xcode-select --install

# Then rebuild in Neovim
:Lazy build telescope-fzf-native.nvim

LSP Not Attaching

If language servers aren’t working:
  1. Check if the server is installed:
    :Mason
    
  2. Check LSP logs:
    :LspLog
    
  3. Restart the LSP:
    :LspRestart
    

Icons Not Displaying

If you see boxes or missing icons:
  1. Install a Nerd Font from nerdfonts.com
  2. Configure your terminal to use the Nerd Font
  3. Restart your terminal and Neovim

Mason Installation Failures

If Mason can’t install tools:
# Ensure you have required system dependencies
# Ubuntu/Debian
sudo apt install curl unzip tar gzip

# macOS (requires Homebrew)
brew install curl

Next Steps

Now that you have Magictt installed, check out the quickstart guide to learn the essential keybindings and workflows:

Quickstart Guide

Learn the essential keybindings to become productive immediately

Build docs developers (and LLMs) love