Commit graph

829 commits

Author SHA1 Message Date
Yan Lin
29a43547a2 Add weightcomp project 2025-07-29 13:30:05 +02:00
Yan Lin
d2087c6273 Minor update of project dir 2025-07-29 12:19:08 +02:00
Yan Lin
302307f978 Add autoread to neovim 2025-07-29 10:46:48 +02:00
Yan Lin
42de1808b7 Add pathfm project 2025-07-29 10:41:12 +02:00
Yan Lin
bfea8a3d5f Remove content template and migrate blog project to research template
- Delete scripts/templates/content.sh template
- Remove content template case from project-launcher.sh
- Update blog project configuration to use research template with remote sync

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-29 09:45:45 +02:00
Yan Lin
558bb529e0 Update all tmux templates to use claude -c command
Replace deprecated 'claude -r' with current 'claude -c' command:
- basic.sh: 1 instance updated
- content.sh: 2 instances updated
- research.sh: 2 instances updated

Total: 5 claude command references modernized across all templates.
Templates now use current Claude Code command syntax.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-29 00:24:02 +02:00
Yan Lin
65a230f0d7 Fix Claude Code settings syntax for git permissions
Update the git permission pattern from "git *" to "git:*" to match the correct syntax format for Claude Code permissions.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-28 20:44:35 +02:00
Yan Lin
2852beaa1d Add Claude Code settings configuration
🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-28 20:41:54 +02:00
Yan Lin
3e938daef8 Add basic auto-completion to Neovim and comprehensive documentation
- Add nvim-cmp plugin with buffer and path completion sources
- Configure intuitive keybindings for completion navigation:
  * Ctrl+Space to trigger completion manually
  * Tab/Shift+Tab for menu navigation
  * Enter to accept completion, Ctrl+e to close menu
- Enable autoEnableSources for automatic plugin management

- Add comprehensive "Code Editing & Auto-completion" section to README:
  * Document all key features: Gruvbox theme, Tree-sitter, file explorer
  * Provide complete auto-completion usage guide with keybindings
  * Include essential keybinding reference for file operations, clipboard, git
  * Explain completion sources: buffer words and file path suggestions

Benefits:
- Simple, non-intrusive auto-completion without language servers
- Word completion from open buffers for faster typing
- Path completion for file navigation and imports
- Clear documentation for all Neovim features and keybindings
- Follows standard completion UI patterns users expect

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-28 20:36:45 +02:00
Yan Lin
f7f6d117c7 Minor update of nvim hidden list 2025-07-28 19:23:47 +02:00
Yan Lin
6b46eb93bf Replace pip and virtualenv with uv for modern Python development
- Replace python312Packages.pip and python312Packages.virtualenv with uv package
- Update README.md to document uv as the Python package manager
- Add comprehensive uv documentation section with usage examples:
  * Project initialization and dependency management
  * Virtual environment creation and management
  * Package installation and upgrades
  * Tool usage (pipx replacement)
  * Migration guidance from pip/virtualenv workflows

Benefits of uv over traditional tools:
- 10-100x faster package installation and dependency resolution
- Unified toolchain replacing pip, virtualenv, pip-tools, poetry, and more
- Global caching for efficient disk usage and faster installs
- Better dependency resolution and conflict handling
- Drop-in compatibility with existing requirements.txt and PyPI packages
- Modern project management with pyproject.toml and lock files

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-28 18:23:43 +02:00
Yan Lin
9e603d1e39 Add make tool 2025-07-28 18:19:11 +02:00
Yan Lin
0a9fa669f0 Add comprehensive rsync configuration and management
- Add rsync package to home.packages for Nix-managed installation
- Create modules/rsync.nix with comprehensive configuration:
  * ~/.rsync-exclude with macOS and development exclusion patterns
  * ~/.rsync-backup.conf with standard backup options and safety features
  * ~/.local/bin/rsync-backup executable wrapper script for easy backups
  * ~/.rsync-aliases with convenient shell aliases for common operations
- Add detailed rsync documentation to README with usage examples
- Switch from macOS built-in rsync to declarative Nix management

Features:
- Comprehensive exclude patterns for macOS metadata and temp files
- Progress indication, compression, and network optimization
- Safety options including dry-run capability and partial transfers
- Extended attributes and ACL preservation for macOS
- Multiple usage patterns: wrapper script, aliases, and manual configuration

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-28 17:26:39 +02:00
Yan Lin
f7bfb04b38 Add session detection and running indicator to project launcher
- Add is_session_running() function to detect active tmux sessions
- Update project display to show green "• Running" indicator for active projects
- Fix session detection to use correct session names from project config
- Improve project listing with real-time status information
- Update projects.nix with shortened key names and descriptions

Features:
- Visual feedback for which projects are currently running
- Uses proper tmux session names from project configuration
- Clean green indicator that only appears for running sessions
- Maintains existing project launcher functionality and layout

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-28 16:58:28 +02:00
Yan Lin
a6162712e3 Replace gitui with lazygit for better git TUI experience
- Replace gitui package with lazygit in flake.nix
- Update all project templates to launch lazygit instead of gitui
- Update README documentation with lazygit features and capabilities
- Maintain same tmux workflow and window layouts

Benefits of lazygit:
- More intuitive and user-friendly interface
- Better performance and responsiveness
- Enhanced file tree navigation with git status
- Comprehensive keyboard shortcuts and help system
- Active development with regular feature updates

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-28 16:18:49 +02:00
Yan Lin
7f21c83caf Add MLLM project 2025-07-28 16:15:50 +02:00
Yan Lin
ea6c7c815b Add multi-platform git credential management
- Add git-credential-oauth package for OAuth authentication
- Configure OAuth helpers for GitHub, GitLab, BitBucket
- Add token-based authentication for Overleaf
- Remove disabled credential helper configuration
- Support secure browser-based OAuth flows and token storage

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-28 13:50:46 +02:00
Yan Lin
c91921a125 Add note project and improve directory creation
- Add Obsidian notes project configuration
- Enhance project launcher with automatic directory creation for local and remote paths

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-28 13:46:03 +02:00
Yan Lin
49a06d6491 Update termscp config 2025-07-28 00:27:02 +02:00
Yan Lin
63402edd8f Manage termscp config with nix 2025-07-28 00:16:21 +02:00
Yan Lin
9e408bc65a Add ncdu for size analysis 2025-07-27 23:24:41 +02:00
Yan Lin
1efe49e659 Simplify project lanucher display format 2025-07-27 22:00:11 +02:00
Yan Lin
6d7fc7184f Configure nvim-tree to hide macOS system files
- Add custom filter patterns for common macOS system files
- Hide .DS_Store, .AppleDouble, .LSOverride, and other system files
- Include resource forks (._*), Spotlight, and Time Machine files
- Keep existing dotfiles and git_ignored filter settings
- Maintain clean file explorer interface without system clutter

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-27 20:10:08 +02:00
Yan Lin
00eaf0a8b5 Document all git aliases in comprehensive table
- Replace brief aliases section with complete reference table
- List all 18 git aliases with commands and descriptions
- Organize by functionality (basic, commit, diff, log, stash, utility)
- Provide clear descriptions for each alias use case
- Improve documentation completeness and usability

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-27 20:00:06 +02:00
Yan Lin
42af3047b2 Add comprehensive global gitignore configuration
- Add global gitignore with 50+ common patterns
- Include macOS files (.DS_Store, .AppleDouble, etc.)
- Cover editor files (.vscode/, .idea/, *.swp, etc.)
- Handle development files (node_modules/, .env, *.log, etc.)
- Add Python build artifacts and cache files
- Include temporary and backup file patterns
- Add Claude Code settings ignore pattern
- Manage OS-specific files (Windows/macOS)

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-27 19:54:34 +02:00
Yan Lin
ca1e620f5d Fix the bug in readme (again) 2025-07-27 19:33:00 +02:00
Yan Lin
8a1c4daff2 Fix a bug in readme 2025-07-27 19:22:16 +02:00
Yan Lin
0485c3cc41 Document Git configuration management in README
- Add Git configuration section with feature overview
- Document git aliases and configuration management workflow
- Update file structure to include git.nix module
- Highlight SSH integration and reproducible benefits

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-27 19:05:10 +02:00
Yan Lin
4f4e566c06 Add Git configuration management via nix
- Create modules/git.nix with user info and useful settings
- Configure git to use SSH (disable credential helper)
- Add comprehensive git aliases and sensible defaults
- Import git module in flake.nix homeConfiguration

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-27 19:03:52 +02:00
Yan Lin
b50b44bd2f Minor update to ssh config 2025-07-27 18:57:45 +02:00
Yan Lin
4c89cfe42e Add github remote config 2025-07-27 18:50:53 +02:00
Yan Lin
492d63ad85 Document SSH configuration management in README
- Add SSH configuration section with feature overview
- Document host management workflow and security practices
- Update file structure to include ssh.nix module
- Clarify separation between tracked config and local keys

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-27 18:33:42 +02:00
Yan Lin
12806c6489 Remove (more) unused remotes 2025-07-27 18:27:16 +02:00
Yan Lin
4bbeda2157 Remove unused remotes 2025-07-27 18:25:33 +02:00
Yan Lin
2f096d9935 Add SSH configuration management via nix
- Create modules/ssh.nix with all host configurations
- Import SSH module in flake.nix homeConfiguration
- Manage SSH config declaratively through home-manager

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-27 18:18:02 +02:00
Yan Lin
cfc978c267 Remove auto-generated projects.json from git tracking
- Add config/projects.json to .gitignore
- Remove from git tracking while preserving local file
- projects.json is auto-generated by Home Manager from projects.nix
- Prevents merge conflicts and version control noise from machine-specific paths

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-27 18:08:00 +02:00
Yan Lin
5b2d62ffa6 Add remote server support to research template
- Add server and remoteDir fields to research projects configuration
- Update project launcher to handle remote server parameters
- Enhance research template with remote server window (window 7)
- Add dual-pane remote SSH connections with auto-reconnect aliases
- Document remote server features in README with configuration examples

Features:
- Type 'r' in any remote pane to reconnect after network drops
- Automatic SSH connection and directory navigation
- Parallel remote work with dual panes
- Backwards compatible - optional server configuration

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-27 18:01:20 +02:00
Yan Lin
c3872475b5 Add database tools and improve tmux copy mode
Database Tools:
- Add lazysql: LazyGit-style TUI database management tool
- Add sqlite3: Official SQLite CLI for scripting and automation
- Comprehensive usage documentation for both tools
- Support for MySQL, PostgreSQL, and SQLite databases

Tmux Improvements:
- Fix copy mode to not exit after copying (copy-pipe vs copy-pipe-and-cancel)
- Allows multiple text selections without re-entering copy mode
- Manual exit control with q/Escape/Ctrl+c

System Optimizations:
- Add trusted binary caches for faster Nix builds
- Include nix-community and devenv cachix for improved performance

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-27 17:17:03 +02:00
Yan Lin
c66c5ed416 Update projects.json symlink to new nix store path
🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-27 00:19:26 +02:00
Yan Lin
d074f7c981 Add termscp - comprehensive CLI-UI FTP tool
- Add termscp package to home.packages in flake.nix
- Add 'ftp' alias pointing to termscp in zsh.nix
- Update README.md with termscp documentation and usage examples
- Provides rich TUI for FTP/SFTP/SCP/S3/WebDAV file transfers
- Complements existing lftp for scripting vs interactive use

Key features:
- Multi-protocol support (FTP, SFTP, SCP, S3, WebDAV)
- Interactive dual-pane file browser
- Bookmarks and connection management
- File synchronization capabilities
- Customizable themes and interface

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-26 23:59:08 +02:00
Yan Lin
94547defc5 Add git windows to research template for better workflow
- Add code-git window (window 3) with gitui in CODE_PATH
- Add paper-git window (window 6) with gitui in PAPER_PATH
- Adjust window numbering: paper windows moved from 3,4 to 4,5
- Brings research template in line with basic and content templates
- Provides dedicated git management for both code and paper repositories

New window layout:
1. code (nvim)
2. code-ai (claude + splits)
3. code-git (gitui) ← NEW
4. paper (nvim)
5. paper-ai (claude + splits)
6. paper-git (gitui) ← NEW

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-26 23:36:26 +02:00
Yan Lin
800ac5c4ab Add homelab project and reorganize project configuration
- Add homelab project for Homelab Deployment with basic template
- Reorganize projects.nix with better grouping:
  - Configuration projects first (nix-config, homelab)
  - Development projects (blog, homepage)
  - Research projects (mdshortcut, daki3)
- Update generated projects.json with new structure

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-26 23:31:16 +02:00
Yan Lin
2d80c0e50f Add DAKI3 project configuration
- Add daki3 project with basic template
- Points to AI systems & infrastructure course demo code
- Updates generated projects.json with new project entry

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-26 23:20:49 +02:00
Yan Lin
cf177c060e Enhance project list display with descriptions and visual formatting
- Add colorful header with 📋 icon and cyan title
- Display project descriptions (previously unused)
- Add template-based icons: 🚀 content, 🔬 research, ⚙️ basic
- Format output in aligned columns with colors
- Include template type indicators in brackets
- Add usage hint for better user experience
- Improve error handling for missing jq

The 'proj' command now provides rich, informative output instead of
just listing project names.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-26 23:11:13 +02:00
Yan Lin
17f7812011 Update project configuration and remove deprecated tmux.sh
- Add homepage project with basic template configuration
- Update README to reflect current project examples
- Remove root tmux.sh (replaced by template system)
- Update generated projects.json with new homepage project

The centralized project system now fully replaces individual tmux scripts.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-26 23:03:01 +02:00
Yan Lin
fce0729d48 Fix basic.sh template working directory robustness
- Add -c "$CODE_PATH" to all tmux new-window and split-window commands
- Ensures all windows and panes start in correct project directory
- Fixes issue where only first window was in correct location
- content.sh and research.sh templates were already robust

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-26 22:57:11 +02:00
Yan Lin
ceef6ab641 Fix project launcher path resolution for shell aliases
- Change projectLauncher from relative to absolute path
- Fixes issue where proj alias was not being created
- Enables project shortcuts: proj, blog, mdshortcut, nix-config

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

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