Commit graph

9 commits

Author SHA1 Message Date
Yan Lin
dd5753a87d Migrate from home-manager neovim to NixVim
Major configuration migration following 2025 best practices:

- Add nixvim flake input with proper nixpkgs following
- Import nixvim.homeManagerModules.nixvim in home configuration
- Convert nvim.nix from programs.neovim to programs.nixvim
- Migrate all settings to declarative NixVim syntax:
  * vim.opt.* → opts.*
  * vim.g.mapleader → globals.mapleader
  * Raw Lua keymaps → structured keymaps array
  * Plugin configs → declarative plugin options
- Preserve all functionality:
  * Gruvbox hard contrast colorscheme
  * nvim-tree with dotfile/gitignore filters
  * Treesitter with all grammars
  * Lualine with relative paths and gruvbox theme
  * Fugitive git integration
  * System clipboard keybindings
  * All leader key mappings

Benefits: Type safety, better documentation, cleaner code structure

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-26 15:48:38 +02:00
Yan Lin
0c1d378d1b Add system clipboard keymaps to nvim configuration
- Add <leader>y for copying to system clipboard (normal/visual modes)
- Add <leader>p for pasting from system clipboard
- Preserves standard vim register behavior while providing convenient clipboard access

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-26 08:40:06 +02:00
Yan Lin
a926267b1f Enhance nvim configuration with improved UX settings
- Add vim-fugitive for git integration with leader key mappings
- Configure lualine to show relative file paths instead of filenames
- Set nvim-tree to hide dotfiles and show gitignored files by default
- Add linebreak and breakindent options for better word wrapping
- Remove vi keymapping from zsh for standard emacs-style bindings

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-26 08:24:53 +02:00
Yan Lin
25f7f64cf4 Display relative path 2025-07-26 02:27:58 +02:00
Yan Lin
7409d5da80 Add vim-fugitive 2025-07-26 01:17:14 +02:00
Yan Lin
9fcb2b8dce Restore gruvbox truecolor theme for iTerm2 compatibility
- Restore tmux truecolor gruvbox theme with terminal overrides for iTerm2
- Add gruvbox.setup() with hard contrast for much darker nvim background
- Configure lualine with gruvbox_dark theme to match colorscheme
- Background changed from #282828 to #1d2021 for enhanced contrast

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-26 00:36:08 +02:00
Yan Lin
99da37d060 Fix tmux and nvim color display issues
- Add COLORTERM=truecolor to zsh session variables for 24-bit color support
- Update tmux terminal overrides to match xterm-256color terminal type
- Add gruvbox-nvim plugin and set explicit background=dark in nvim config
- Replace default colorscheme with gruvbox to match lualine theme

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-26 00:14:34 +02:00
Yan Lin
9909c1352e Fix color theme issues after git setup
Tmux:
- Add explicit terminal = "screen-256color" to prevent home-manager
  from overriding with plain "screen" terminal setting
- This ensures proper 256-color support for gruvbox theme

Neovim:
- Set explicit colorscheme to maintain consistency with lualine theme
- Remove confusing "no custom colorscheme" comment

Also update flake.lock with latest dependencies.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-25 23:49:00 +02:00
Yan Lin
d15473aa17 Initial Nix configuration setup
- Add nix-darwin and home-manager flake configuration
- Include modular neovim setup with plugins and keybinds
- Add tmux configuration with gruvbox theme and vim-like bindings
- Set up .gitignore for nix build outputs and temporary files

Ready for multi-machine deployment across macOS systems.
2025-07-25 23:25:21 +02:00