Commit graph

13 commits

Author SHA1 Message Date
Yan Lin
539ba9fef7 Reorganize configuration into modular directory structure
- Create modules/ directory for Nix configuration modules
- Create config/ directory for configuration files
- Move nvim.nix, tmux.nix, zsh.nix to modules/
- Move p10k.zsh to config/
- Update flake.nix import paths to reference new structure
- Update zsh.nix p10k.zsh path reference
- Update README.md architecture documentation
- Keep tmux.sh at root for easy accessibility

This provides better separation between Nix modules and config files
while maintaining a clean, scalable structure.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-26 22:07:28 +02:00
Yan Lin
2295aa9131 Add markdown rendering to Neovim with render-markdown.nvim
- Add render-markdown plugin for in-buffer markdown preview
- Add <leader>md keybinding to toggle markdown rendering
- Update README documentation with markdown rendering features
- Uses existing treesitter and web-devicons dependencies

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-26 21:44:46 +02:00
Yan Lin
50a6a217e2 Add Finder integration to Neovim keybindings
- Add <leader>f keymap to show current file in Finder using 'open -R'
- Update README.md with new keybinding documentation
- Provides quick file location alongside existing <leader>o for opening

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-26 21:32:59 +02:00
Yan Lin
fe23254558 Add system default app integration to Neovim
- Add <leader>o keymap to open current file with system default application
- Uses ':silent \!open %' to prevent command output clutter
- Update README with new keymap documentation
- Enables quick preview of markdown, images, PDFs in native apps

Enhances workflow by bridging Neovim editing with system-level file viewing.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-26 20:28:18 +02:00
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