Skip to content

Repository files navigation

XSH Workspace

A personalized coding workspace configuration for macOS, featuring a custom Neovim setup and Ghostty terminal integration.

Neovim Configuration

This is a lightweight, modular Neovim configuration built from scratch (migrated from LazyVim), designed for performance and maintainability.

Key Features

  • Plugin Manager: lazy.nvim
  • Modular Structure: Plugins are organized by category for easy maintenance:
    • UI: lua/plugins/ui/ (Catppuccin, Lualine, Noice, Dashboard, etc.)
    • Editor: lua/plugins/editor/ (Neo-tree, Telescope, Toggleterm, Git tools, etc.)
    • Coding: lua/plugins/coding/ (LSP, Blink.cmp, Treesitter, Rustaceanvim, etc.)

Core Plugins

Setup

  1. Prerequisites: MacOS, Neovim >= 0.12, Ghostty (optional but recommended).
  2. Installation: Execute the commands in init.sh to set up the environment.
    ./init.sh
  3. Usage: Open nvim and lazy.nvim will automatically install all plugins.

Rust and TypeScript

Rust uses Cargo workspace detection through Rustaceanvim. TypeScript uses Vtsls with nvim-lspconfig's default root detection: package-manager lockfiles or .git, falling back to the current working directory. Install language servers and formatters with :Mason, and keep the Rust toolchain available on PATH.

Shortcut Action
<leader>cf Format with Conform: rustfmt for Rust; project Biome or Prettier for TypeScript
<leader>fF, <leader>/, <leader>e Find files, search text, or browse the current file's .git root (fall back to the working directory)
<leader>ff, <leader>sg, <leader>E Find files, search text, or browse the current working directory
]f, [f Jump to the next or previous function
]e, [e Jump to the next or previous error
<leader>du Toggle the debugger panels

Structure

nvim/
├── init.lua              # Entry point
├── lua/
│   ├── config/           # Core config (options, keymaps, autocmds)
│   └── plugins/          # Plugin specifications
│       ├── coding/       # LSP, Completion, Treesitter
│       ├── editor/       # Navigation, Git, Terminal
│       └── ui/           # Theme, Statusline, Decorations

About

A code workspace based on Ghostty and Neovim

Topics

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages