Commit graph

526 commits

Author SHA1 Message Date
Yan Lin
dea62d5ab8 Remove papis custom folder and file names 2025-07-29 18:14:31 +02:00
Yan Lin
59cd92a8fd Add a few aliases to papis 2025-07-29 17:16:49 +02:00
Yan Lin
a45117a755 Update papis default template 2025-07-29 17:06:38 +02:00
Yan Lin
e7cb1502e3 Add papis to main config 2025-07-29 15:55:15 +02:00
Yan Lin
0da9c3b3cb Add papis reference manager configuration
- Add papis.nix module with embedded configuration
- Configure library at ~/Documents/Library/papis
- Set up nvim editor and fzf picker integration
- Add comprehensive papis documentation to README

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-29 15:49:49 +02:00
Yan Lin
302307f978 Add autoread to neovim 2025-07-29 10:46:48 +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
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
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
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
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
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
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
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
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
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
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
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