Commit graph

382 commits

Author SHA1 Message Date
Yan Lin
c3c4b060fc Add jq package for project shortcuts JSON parsing
- Add jq to home.packages in zsh.nix
- Required for project-launcher.sh to parse projects.json
- Fixes 'No projects configured' error

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-26 22:43:30 +02:00
Yan Lin
5408703026 Add project config 2025-07-26 22:41:47 +02:00
Yan Lin
af7b855faf Add comprehensive project shortcuts system
- Create config/projects.nix for project definitions with templates
- Add scripts/templates/ with basic, content, and research workflows
- Create universal project-launcher.sh for template execution
- Integrate project system into zsh with dynamic alias generation
- Generate projects.json config file for shell script consumption
- Update README.md with project shortcuts documentation

Projects supported:
- blog: Personal blog (content workflow)
- mdshortcut: Research project (research workflow)
- nix-config: Nix configuration (basic workflow)

Usage: proj, blog, mdshortcut, nix-config commands

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-26 22:38:23 +02:00
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
bdbf7a090c Add HTTPie for API testing with comprehensive usage guide
- Add httpie package to home.packages for modern HTTP client capabilities
- Include comprehensive usage examples in README covering:
  * Basic HTTP methods (GET, POST, PUT, DELETE)
  * Authentication with Bearer tokens and API keys
  * File uploads (form and multipart)
  * JSON data handling with type coercion
  * Session management for persistent authentication
  * File downloads and response filtering

HTTPie provides a user-friendly alternative to curl for API testing and development workflows.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-26 20:06:12 +02:00
Yan Lin
f2c81c7a8d Enhance tmux session script with git visualization
- Add dedicated gitui window for interactive git operations
- Rename bash window to shell for clarity
- Maintain existing nvim and claude-code windows

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-26 15:49:20 +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
303cf90e95 Add powerful tool combination examples to README
Shows how to use fd, fzf, and nvim together for interactive file selection workflows

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-26 13:46:26 +02:00
Yan Lin
af5add2783 Add fzf usage examples and keybindings to README
🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-26 13:44:23 +02:00
Yan Lin
d92851d6ea Add fd usage examples to README
🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-26 13:41:00 +02:00
Yan Lin
6e8fa29229 Remove redundant sections from README
Clean up duplicate workflow optimization and getting started sections that were redundant with earlier content.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-26 12:05:09 +02:00
Yan Lin
9f171de0cb Update README with comprehensive documentation
- Enhance overview with features and modern CLI highlights
- Add detailed configuration architecture documentation
- Document Neovim keybindings, plugins, and gruvbox theme
- Document Tmux prefix key, vim navigation, and copy mode
- Document Zsh with Powerlevel10k, vim mode indicators, and aliases
- Add workflow optimization and productivity features
- Include machine configurations and usage examples
- Organize content with clear sections and emoji headers

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-26 12:02:59 +02:00
Yan Lin
4098771120 Add vim mode indicators and enhanced keybindings to zsh
- Enable vim keybindings with defaultKeymap = "viins"
- Add cursor shape changes: line cursor for insert mode, block for normal mode
- Reduce mode switching delay from 400ms to 10ms for faster response
- Add vim-style history navigation with k/j in normal mode
- Add history search with / and ? in normal mode
- Add word movement with Ctrl+arrow keys in insert mode
- Integrate with Powerlevel10k prompt symbols for mode indication

Provides clear visual feedback for vim mode changes with multiple indicators.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-26 11:32:26 +02:00
Yan Lin
f121e81c8d Fix darwin configuration name case mismatch
- Change darwinConfigurations."Macbook-Air" to "MacBook-Air"
- Fixes `sudo darwin-rebuild switch --flake .` command
- Ensures configuration name matches system hostname

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-26 10:49:43 +02:00
Yan Lin
950a276d44 Fix deprecated zsh configuration and remove vi keymapping
- Replace deprecated initExtra with initContent
- Remove defaultKeymap viins for standard emacs-style bindings

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-26 10:40:49 +02:00
Yan Lin
c0bba829c2 Add comprehensive zsh configuration with Powerlevel10k
- Create separate zsh.nix module for enhanced shell experience
- Add Powerlevel10k theme with custom configuration from wizard
- Include useful aliases for git, nix, and navigation commands
- Add modern CLI tools: fzf, fd, ripgrep, bat for better productivity
- Enable autosuggestions, syntax highlighting, and completion
- Add portable p10k.zsh configuration for consistent prompt across machines
- Update flake.nix to import zsh module and remove inline config
- Update tmux.nix with prefix indicator and datetime removal

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-26 10:36:08 +02:00
Yan Lin
b30b393541 Add tmux session script for nix configuration workspace
- Create automated tmux session setup with 3 windows: nvim, ai, and bash
- Auto-start nvim in first window and claude in ai window with split panes
- Provides quick workspace initialization for nix config development

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-26 09:37:30 +02:00
Yan Lin
d2d1d7fd6f Add gitui for beautiful CLI git graph visualization
- Add gitui package to home.packages for enhanced git repository browsing
- Provides interactive TUI with beautiful branching visualization
- Supports diff viewing, staging, and vim-like navigation

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-26 09:02:11 +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
6994c0ea25 Change tmux prefix key from Ctrl+b to Ctrl+a
🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-26 08:25:37 +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
74342069a6 Add README with installation and usage instructions
🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-26 01:03:12 +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
25898527a7 Add MacBook Air (mba) darwin configuration
- Add darwinConfigurations."mba" entry using same config as iMac
- Both machines now use identical system configuration
- Ready for machine-specific customizations in the future

Usage:
- iMac: darwin-rebuild switch --flake .#iMac
- MacBook Air: darwin-rebuild switch --flake .#mba
2025-07-25 23:31:09 +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